kernel: add c++ support
This commit is contained in:
@@ -8,6 +8,10 @@
|
||||
#include <socks/locks.h>
|
||||
#include <socks/machine/vm.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* maximum number of NUMA nodes */
|
||||
#define VM_MAX_NODES 64
|
||||
/* maximum number of memory zones per node */
|
||||
@@ -185,8 +189,9 @@ typedef struct vm_slab {
|
||||
when freeing:
|
||||
- s_free should be set to the index of the object being freed.
|
||||
- s_freelist[s_free] should be set to the previous value of s_free.
|
||||
this is commented as it as flexible arrays are not supported in c++.
|
||||
*/
|
||||
unsigned int s_freelist[];
|
||||
//unsigned int s_freelist[];
|
||||
} vm_slab_t;
|
||||
|
||||
typedef struct vm_page {
|
||||
@@ -212,9 +217,7 @@ typedef struct vm_page {
|
||||
|
||||
/* owner-specific data */
|
||||
union {
|
||||
struct {
|
||||
vm_slab_t *p_slab;
|
||||
};
|
||||
vm_slab_t *p_slab;
|
||||
};
|
||||
|
||||
} __attribute__((aligned(2 * sizeof(unsigned long)))) vm_page_t;
|
||||
@@ -287,4 +290,8 @@ extern void vm_sparse_init(void);
|
||||
extern vm_page_t *vm_page_get_sparse(phys_addr_t addr);
|
||||
extern size_t vm_page_get_pfn_sparse(vm_page_t *pg);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user