diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-03-14 01:18:43 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-03-14 01:18:43 +0100 |
commit | eb114b9c880a8fbcf1ad461ff7fc9a37f7fc7cb6 (patch) | |
tree | 4a3eb376c96f71951387d3c66ae55c1352ccadfa /i386/intel/pmap.h | |
parent | 8ffbe78a0db6a916de0f0dfba6f4d9dd8dcf20ab (diff) | |
download | gnumach-eb114b9c880a8fbcf1ad461ff7fc9a37f7fc7cb6.tar.gz gnumach-eb114b9c880a8fbcf1ad461ff7fc9a37f7fc7cb6.tar.bz2 gnumach-eb114b9c880a8fbcf1ad461ff7fc9a37f7fc7cb6.zip |
Fix Xen bootstrap at virtual address above 1GiB
* i386/intel/pmap.h (lin2pdpnum): New macro.
* i386/intel/pmap.c (pmap_set_page_readonly_init): Use lin2pdpnum macro
instead of hardcoding 0.
Diffstat (limited to 'i386/intel/pmap.h')
-rw-r--r-- | i386/intel/pmap.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/i386/intel/pmap.h b/i386/intel/pmap.h index e02ad36c..11bca800 100644 --- a/i386/intel/pmap.h +++ b/i386/intel/pmap.h @@ -101,6 +101,13 @@ typedef unsigned int pt_entry_t; #endif /* + * Convert linear offset to page directory pointer index + */ +#if PAE +#define lin2pdpnum(a) (((a) >> PDPSHIFT) & PDPMASK) +#endif + +/* * Convert page descriptor index to linear address */ #define pdenum2lin(a) ((vm_offset_t)(a) << PDESHIFT) |