/SPARTAN/trunk/include/mm/page.h |
---|
76,7 → 76,6 |
* These macros traverse the 4-level tree of page tables, |
* each descending by one level. |
*/ |
#define GET_PTL0_ADDRESS() GET_PTL0_ADDRESS_ARCH() |
#define GET_PTL1_ADDRESS(ptl0, i) GET_PTL1_ADDRESS_ARCH(ptl0, i) |
#define GET_PTL2_ADDRESS(ptl1, i) GET_PTL2_ADDRESS_ARCH(ptl1, i) |
#define GET_PTL3_ADDRESS(ptl2, i) GET_PTL3_ADDRESS_ARCH(ptl2, i) |
86,7 → 85,6 |
* These macros are provided to change shape of the 4-level |
* tree of page tables on respective level. |
*/ |
#define SET_PTL0_ADDRESS(ptl0) SET_PTL0_ADDRESS_ARCH(ptl0) |
#define SET_PTL1_ADDRESS(ptl0, i, a) SET_PTL1_ADDRESS_ARCH(ptl0, i, a) |
#define SET_PTL2_ADDRESS(ptl1, i, a) SET_PTL2_ADDRESS_ARCH(ptl1, i, a) |
#define SET_PTL3_ADDRESS(ptl2, i, a) SET_PTL3_ADDRESS_ARCH(ptl2, i, a) |
/SPARTAN/trunk/include/mm/vm.h |
---|
29,6 → 29,7 |
#ifndef __VM_H__ |
#define __VM_H__ |
#include <arch/mm/page.h> |
#include <arch/mm/vm.h> |
#include <arch/types.h> |
#include <typedefs.h> |
51,7 → 52,7 |
}; |
/* |
* Each vm_area structure describes one continuous area of virtual memory. |
* Each vm_area_t structure describes one continuous area of virtual memory. |
* In the future, it should not be difficult to support shared areas of vm. |
*/ |
struct vm_area { |
64,7 → 65,7 |
}; |
/* |
* vm_mapping_t contains the list of vm_areas of userspace accessible |
* vm_t contains the list of vm_areas of userspace accessible |
* pages for one or more tasks. Ranges of kernel memory pages are not |
* supposed to figure in the list as they are shared by all tasks and |
* set up during system initialization. |
72,6 → 73,8 |
struct vm { |
spinlock_t lock; |
link_t vm_area_head; |
int j; |
pte_t *ptl0; |
}; |
extern vm_t * vm_create(void); |