diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-08-14 10:40:11 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-08-14 10:40:51 +0200 |
commit | 28c51f7f60281bf3acbefd47e8233ae40de1e463 (patch) | |
tree | 8e5709834780fab0a85e909fedc3dc047902974e /vm/vm_page.h | |
parent | 952872cb67bd811991dd558dd4e5d28e7d16b21b (diff) | |
download | gnumach-28c51f7f60281bf3acbefd47e8233ae40de1e463.tar.gz gnumach-28c51f7f60281bf3acbefd47e8233ae40de1e463.tar.bz2 gnumach-28c51f7f60281bf3acbefd47e8233ae40de1e463.zip |
vm: Fix ordering of addresses between DMA32 and DIRECTMAP
Diffstat (limited to 'vm/vm_page.h')
-rw-r--r-- | vm/vm_page.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/vm/vm_page.h b/vm/vm_page.h index b2581d9e..f4761f3f 100644 --- a/vm/vm_page.h +++ b/vm/vm_page.h @@ -162,8 +162,13 @@ void vm_page_check(const struct vm_page *page); */ #define VM_PAGE_DMA 0x01 +#if defined(VM_PAGE_DMA32_LIMIT) && VM_PAGE_DMA32_LIMIT > VM_PAGE_DIRECTMAP_LIMIT +#define VM_PAGE_DIRECTMAP 0x02 +#define VM_PAGE_DMA32 0x04 +#else #define VM_PAGE_DMA32 0x02 #define VM_PAGE_DIRECTMAP 0x04 +#endif #define VM_PAGE_HIGHMEM 0x08 extern @@ -327,13 +332,24 @@ extern unsigned int vm_page_info( * * Selector-to-segment-list translation table : * DMA DMA + * if 32bit PAE + * DIRECTMAP DMA32 DMA + * DMA32 DMA32 DIRECTMAP DMA + * HIGHMEM HIGHMEM DMA32 DIRECTMAP DMA + * else * DMA32 DMA32 DMA * DIRECTMAP DIRECTMAP DMA32 DMA * HIGHMEM HIGHMEM DIRECTMAP DMA32 DMA + * endif */ #define VM_PAGE_SEL_DMA 0 +#if defined(VM_PAGE_DMA32_LIMIT) && VM_PAGE_DMA32_LIMIT > VM_PAGE_DIRECTMAP_LIMIT +#define VM_PAGE_SEL_DIRECTMAP 1 +#define VM_PAGE_SEL_DMA32 2 +#else #define VM_PAGE_SEL_DMA32 1 #define VM_PAGE_SEL_DIRECTMAP 2 +#endif #define VM_PAGE_SEL_HIGHMEM 3 /* |