Implemented more memory manager and btree tests in sandbox

This commit is contained in:
2023-01-19 20:52:56 +00:00
parent a53edf230f
commit 1bd9576a8d
7 changed files with 152 additions and 36 deletions

View File

@@ -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);