[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] This is the patch for xen which allows using up to 16 GB
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID 622ea2078f85340fc4d8d19c8e38884d40d603f1 # Parent f1a16642edaf5fd3dfd3bb3e92f60ff1ef5e9c6a This is the patch for xen which allows using up to 16 GB of memory. Signed-off-by: Gerd Knorr <kraxel@xxxxxxx> diff -r f1a16642edaf -r 622ea2078f85 xen/arch/x86/e820.c --- a/xen/arch/x86/e820.c Mon Jul 11 16:00:46 2005 +++ b/xen/arch/x86/e820.c Mon Jul 11 16:02:28 2005 @@ -320,24 +320,27 @@ #ifdef __i386__ static void __init clip_4gb(void) { - int i; - - /* 32-bit systems restricted to a 4GB physical memory map. */ + unsigned long long limit = (1ULL << 30) * MACHPHYS_MBYTES; + int i; + + /* 32-bit systems restricted to a 4GB physical memory map, + * with PAE to 16 GB (with current memory layout) */ for ( i = 0; i < e820.nr_map; i++ ) { - if ( (e820.map[i].addr + e820.map[i].size) <= 0x100000000ULL ) + if ( (e820.map[i].addr + e820.map[i].size) <= limit ) continue; - printk("WARNING: Only the first 4GB of the physical memory map " + printk("WARNING: Only the first %d GB of the physical memory map " "can be accessed\n" " by Xen in 32-bit mode. " - "Truncating the memory map...\n"); - if ( e820.map[i].addr >= 0x100000000ULL ) + "Truncating the memory map...\n", + MACHPHYS_MBYTES); + if ( e820.map[i].addr >= limit ) { e820.nr_map = i; } else { - e820.map[i].size = 0x100000000ULL - e820.map[i].addr; + e820.map[i].size = limit - e820.map[i].addr; e820.nr_map = i + 1; } } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |