vm: refactor page_array and functions into a separate source file
This commit is contained in:
@@ -30,6 +30,11 @@ typedef struct vm_object {
|
||||
unsigned int reserved;
|
||||
} vm_object_t;
|
||||
|
||||
typedef enum vm_model {
|
||||
VM_MODEL_FLAT = 1,
|
||||
VM_MODEL_SPARSE,
|
||||
} vm_model_t;
|
||||
|
||||
typedef enum vm_prot {
|
||||
VM_PROT_READ = 0x01u,
|
||||
VM_PROT_WRITE = 0x02u,
|
||||
@@ -207,6 +212,8 @@ typedef struct vm_page {
|
||||
} __attribute__((aligned(2 * sizeof(unsigned long)))) vm_page_t;
|
||||
|
||||
extern kern_status_t vm_bootstrap(const vm_zone_descriptor_t *zones, size_t nr_zones);
|
||||
extern vm_model_t vm_memory_model(void);
|
||||
extern void vm_set_memory_model(vm_model_t model);
|
||||
|
||||
extern vm_pg_data_t *vm_pg_data_get(vm_node_id_t node);
|
||||
|
||||
@@ -247,4 +254,9 @@ extern void *kmalloc(size_t count, vm_flags_t flags);
|
||||
extern void *kzalloc(size_t count, vm_flags_t flags);
|
||||
extern void kfree(void *p);
|
||||
|
||||
/* Flat memory model functions */
|
||||
extern void vm_flat_init(void);
|
||||
extern vm_page_t *vm_page_get_flat(phys_addr_t addr);
|
||||
extern size_t vm_page_get_pfn_flat(vm_page_t *pg);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user