Implemented more memory manager and btree tests in sandbox
This commit is contained in:
@@ -4,6 +4,9 @@
|
||||
#include <stddef.h>
|
||||
#include <socks/types.h>
|
||||
#include <socks/status.h>
|
||||
#include <socks/queue.h>
|
||||
|
||||
#define VM_PAGE_SIZE 0x1000
|
||||
|
||||
typedef enum vm_zone_id {
|
||||
VM_ZONE_DMA = 1u,
|
||||
@@ -24,7 +27,7 @@ typedef struct vm_zone_descriptor {
|
||||
} vm_zone_descriptor_t;
|
||||
|
||||
typedef struct vm_zone {
|
||||
unsigned z_reserved[32];
|
||||
unsigned char z_reserved[32];
|
||||
} vm_zone_t;
|
||||
|
||||
typedef struct vm_pg_data {
|
||||
@@ -43,9 +46,15 @@ typedef enum vm_page_flags {
|
||||
|
||||
typedef struct vm_page {
|
||||
uint32_t p_flags; /* vm_page_flags_t bitfield */
|
||||
|
||||
/* buddy allocator free page list head */
|
||||
queue_entry_t p_buddy_list;
|
||||
|
||||
/* order of the page block that this page belongs too */
|
||||
unsigned int p_order;
|
||||
} __attribute__((packed)) vm_page_t;
|
||||
|
||||
extern kern_status_t vm_bootstrap(const vm_region_t *mem_map, size_t nr_mem_map_entries);
|
||||
extern kern_status_t vm_bootstrap(void);
|
||||
|
||||
extern void vm_page_init(vm_page_t *pg);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user