diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-09-22 08:14:48 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-09-22 08:14:48 +0100 |
commit | 615588563e99a23aaf37037c3fee0c413b051f4d (patch) | |
tree | 392aac04e69362a6cd1cf0aaaf966a47a79b835a /xen/arch/x86/e820.c | |
parent | d189c54b3d4dbeb3562230d664b006908b4dfba0 (diff) | |
download | xen-615588563e99a23aaf37037c3fee0c413b051f4d.tar.gz xen-615588563e99a23aaf37037c3fee0c413b051f4d.tar.bz2 xen-615588563e99a23aaf37037c3fee0c413b051f4d.zip |
x86-64: extend manageable memory range to 5Tb
Extend the virtual range reserved for the 1:1 mapping to cover 5Tb,
and make the virtual size of the frame table gets match whatever the
1:1 table can cover.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/arch/x86/e820.c')
-rw-r--r-- | xen/arch/x86/e820.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c index b87990a7f4..71d74aaa80 100644 --- a/xen/arch/x86/e820.c +++ b/xen/arch/x86/e820.c @@ -500,15 +500,19 @@ static void __init machine_specific_memory_setup( "can be accessed by Xen in 32-bit mode."); #else { - unsigned long limit, mpt_limit, pft_limit; + unsigned long limit, mpt_limit, ro_mpt_limit, pft_limit; limit = DIRECTMAP_VIRT_END - DIRECTMAP_VIRT_START; mpt_limit = ((RDWR_MPT_VIRT_END - RDWR_MPT_VIRT_START) / sizeof(unsigned long)) << PAGE_SHIFT; + ro_mpt_limit = ((RO_MPT_VIRT_END - RO_MPT_VIRT_START) + / sizeof(unsigned long)) << PAGE_SHIFT; pft_limit = ((FRAMETABLE_VIRT_END - FRAMETABLE_VIRT_START) / sizeof(struct page_info)) << PAGE_SHIFT; if ( limit > mpt_limit ) limit = mpt_limit; + if ( limit > ro_mpt_limit ) + limit = ro_mpt_limit; if ( limit > pft_limit ) limit = pft_limit; clip_to_limit(limit, |