Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am booting Xen 4.0 from Debian Squeeze, kernel 2.6.32-5-xen-amd64. "xm dmesg" on dom0 shows:

Xen-e801 RAM map:
 0000000000000000 - 0000000000091400 (usable)
 0000000000100000 - 0000000020000000 (usable)
System RAM: 511MB (523844kB)

"xm info" shows:

total_memory         : 511
free_memory          : 42

The bootloader is grub2 EFI (Debian package grub-efi-amd64 version 1.99-14), configuration follows:

multiboot /xen-4.0-amd64.gz placeholder
module /vmlinuz-2.6.32-5-xen-amd64 placeholder root=/dev/mapper/VG00-root ro reboot=acpi
module /initrd.img-2.6.32-5-xen-amd64

Any idea why Xen only detects 512MB? Has anyone successfully booted xen under uefi environment?

Update: tried Xen 4.1 from Debian Wheezy and added no-real-mode to try and force it to use multiboot memory map instead of e801, doesn't seem to work:

(XEN) Xen version 4.1.2 (Debian 4.1.2-1) (waldi@debian.org) (gcc version 4.6.2 (Debian 4.6.2-5) ) Sat Nov 26 17:29:46 UTC 2011
(XEN) Bootloader: GRUB 1.99-14
(XEN) Command line: placeholder no-real-mode e820-verbose
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Initial Xen-e801 RAM map:
(XEN)  0000000000000000 - 0000000000091400 (usable)
(XEN)  0000000000100000 - 0000000020000000 (usable)
(XEN) Checking MTRR ranges...
(XEN)  MTRR cap: d0a type: c00
(XEN)  MTRR[0]: base 6 mask e00000800
(XEN)  MTRR[1]: base 200000006 mask fc0000800
(XEN)  MTRR[2]: base bb800000 mask fff800800
(XEN)  MTRR[3]: base bc000000 mask ffc000800
(XEN)  MTRR[4]: base c0000000 mask fc0000800
(XEN)  MTRR[5]: base 23fe00000 mask fffe00800
(XEN)  MTRR[6]: base bb000006 mask fff800000
(XEN)  MTRR[7]: base 0 mask 0
(XEN)  MTRR[8]: base 0 mask 0
(XEN)  MTRR[9]: base 0 mask 0
(XEN) Xen-e801 RAM map:
(XEN)  0000000000000000 - 0000000000091400 (usable)
(XEN)  0000000000100000 - 0000000020000000 (usable)
(XEN) System RAM: 511MB (523844kB)
(XEN) ACPI: RSDP 000FCB00, 0024 (r2 ALASKA)
(XEN) ACPI: XSDT BA61D068, 004C (r1 ALASKA    A M I  1072009 AMI     10013)
(XEN) ACPI: FACP BA627250, 00F4 (r4 ALASKA    A M I  1072009 AMI     10013)
(XEN) ACPI: DSDT BA61D140, A10B (r2 ALASKA    A M I        0 INTL 20051117)
(XEN) ACPI: FACS BADD3F80, 0040
(XEN) ACPI: APIC BA627348, 0092 (r3 ALASKA    A M I  1072009 AMI     10013)
(XEN) ACPI: SSDT BA6273E0, 01D6 (r1 AMICPU     PROC        1 MSFT  3000001)
(XEN) ACPI: MCFG BA6275B8, 003C (r1 ALASKA    A M I  1072009 MSFT       97)
(XEN) ACPI: HPET BA6275F8, 0038 (r1 ALASKA    A M I  1072009 AMI.        4)
(XEN) Domain heap initialised
(XEN) ACPI: 32/64X FACS address mismatch in FADT - badd3f80/0000000000000000, using 32
(XEN) Processor #0 6:10 APIC version 21
(XEN) Processor #2 6:10 APIC version 21
(XEN) Processor #4 6:10 APIC version 21
(XEN) Processor #6 6:10 APIC version 21
(XEN) Processor #1 6:10 APIC version 21
(XEN) Processor #3 6:10 APIC version 21
(XEN) Processor #5 6:10 APIC version 21
(XEN) Processor #7 6:10 APIC version 21
(XEN) IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
(XEN) Table is not found!
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3411.257 MHz processor.
(XEN) Initing memory sharing.
(XEN) I/O virtualisation disabled
(XEN) Enabled directed EOI with ioapic_ack_old on!
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using old ACK method
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 16 KiB.
(XEN) VMX: Supported advanced features:
(XEN)  - APIC MMIO access virtualisation
(XEN)  - APIC TPR shadow
(XEN)  - Extended Page Tables (EPT)
(XEN)  - Virtual-Processor Identifiers (VPID)
(XEN)  - Virtual NMI
(XEN)  - MSR direct-access bitmap
(XEN)  - Unrestricted Guest
(XEN) EPT supports 2MB super page.
(XEN) HVM: ASIDs enabled.
(XEN) HVM: VMX enabled
(XEN) HVM: Hardware Assisted Paging detected.
(XEN) Brought up 8 CPUs
(XEN) *** LOADING DOMAIN 0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1937000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   000000001a000000->000000001c000000 (104427 pages to be allocated)
(XEN)  Init. ramdisk: 000000001df1c000->000000001fbffc00
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81937000
(XEN)  Init. ramdisk: ffffffff81937000->ffffffff8361ac00
(XEN)  Phys-Mach map: ffffffff8361b000->ffffffff83705678
(XEN)  Start info:    ffffffff83706000->ffffffff837064b4
(XEN)  Page tables:   ffffffff83707000->ffffffff83726000
(XEN)  Boot stack:    ffffffff83726000->ffffffff83727000
(XEN)  TOTAL:         ffffffff80000000->ffffffff83800000
(XEN)  ENTRY ADDRESS: ffffffff8169f200
(XEN) Dom0 has maximum 8 VCPUs
(XEN) Scrubbing Free RAM: done.
(XEN) Xen trace buffers: disabled
(XEN) Std. Loglevel: Errors and warnings
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 216kB init memory.
share|improve this question
    
The EFI Firmware may need to be updated. –  Chris S Dec 18 '11 at 14:56
    
This is I think the newest firmware/BIOS update for the motherboard (an Asus P8Z68-V PRO/GEN3) –  lmz Dec 20 '11 at 1:33

5 Answers 5

Check your /etc/xen/xend-config.sxp, If there is limitation set.

share|improve this answer
    
I don't think so. Does anything in xend-config.sxp affect booting at the stage that is shown in "xm dmesg"? –  lmz Dec 20 '11 at 1:34

Try to execute:

xm mem-set Domain-0 %MEMORY-AMOUNT-YOU-WISH%

Basically Xen should boot Dom0 with memory amount it thinks is required for Dom0. You can change that by changing boot loader configuration and adding option:

dom0_mem=8GB

More info on this here

share|improve this answer
    
If you check the result of "xm dmesg" above, Xen only sees 511MB of system RAM, this is before any domains have been loaded. –  lmz Jan 28 '12 at 1:26
up vote 4 down vote accepted

"Fixed" by commenting out the parts that use BIOS e801 and e820 maps. Not sure why the no-real-mode won't work.

diff -ur orig/xen-4.0.1//xen/arch/x86/setup.c mod/xen-4.0.1//xen/arch/x86/setup.c
--- orig/xen-4.0.1//xen/arch/x86/setup.c        2010-08-29 15:13:22.000000000 +0000
+++ mod/xen-4.0.1//xen/arch/x86/setup.c 2012-01-28 01:33:22.000000000 +0000
@@ -589,6 +589,8 @@
     if ( ((unsigned long)cpu0_stack & (STACK_SIZE-1)) != 0 )
         EARLY_FAIL("Misaligned CPU0 stack.\n");

+#if 0
+    /* disable raw e801 and e820 for now in favor of multiboot provided maps */
     if ( e820_raw_nr != 0 )
     {
         memmap_type = "Xen-e820";
@@ -604,7 +606,9 @@
         e820_raw[1].type = E820_RAM;
         e820_raw_nr = 2;
     }
-    else if ( mbi->flags & MBI_MEMMAP )
+    else 
+#endif 
+    if ( mbi->flags & MBI_MEMMAP )
     {
         memmap_type = "Multiboot-e820";
         while ( (bytes < mbi->mmap_length) && (e820_raw_nr < E820MAX) )

xm dmesg now shows proper amount of RAM

(XEN) Xen version 4.0.1 (Debian 4.0.1-4nobios1) (@) (gcc version 4.4.5 (Debian 4.4.5-8) ) Sat Jan 28 01:33:24 UTC 2012
(XEN) Bootloader: GRUB 1.99-14
(XEN) Command line: placeholder no-real-mode e820-verbose
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 2 MBR signatures
(XEN)  Found 2 EDD information structures
(XEN) Initial Multiboot-e820 RAM map:
(XEN)  0000000000000000 - 00000000000a0000 (usable)
(XEN)  0000000000100000 - 0000000020000000 (usable)
(XEN)  0000000020000000 - 0000000020200000 (reserved)
(XEN)  0000000020200000 - 0000000040000000 (usable)
(XEN)  0000000040000000 - 0000000040200000 (reserved)
(XEN)  0000000040200000 - 00000000ba5cc000 (usable)
(XEN)  00000000ba5cc000 - 00000000ba628000 (ACPI NVS)
(XEN)  00000000ba628000 - 00000000bab36000 (reserved)
(XEN)  00000000bab36000 - 00000000bab39000 (ACPI NVS)
(XEN)  00000000bab39000 - 00000000bad9f000 (reserved)
(XEN)  00000000bad9f000 - 00000000badb0000 (ACPI NVS)
(XEN)  00000000badb0000 - 00000000badc4000 (reserved)
(XEN)  00000000badc4000 - 00000000badc5000 (reserved)
(XEN)  00000000badc5000 - 00000000badc7000 (reserved)
(XEN)  00000000badc7000 - 00000000badc9000 (usable)
(XEN)  00000000badc9000 - 00000000badca000 (ACPI NVS)
(XEN)  00000000badca000 - 00000000badcb000 (reserved)
(XEN)  00000000badcb000 - 00000000badd2000 (reserved)
(XEN)  00000000badd2000 - 00000000baddc000 (ACPI NVS)
(XEN)  00000000baddc000 - 00000000bade9000 (reserved)
(XEN)  00000000bade9000 - 00000000bae2a000 (reserved)
(XEN)  00000000bae2a000 - 00000000bae35000 (reserved)
(XEN)  00000000bae35000 - 00000000bae38000 (reserved)
(XEN)  00000000bae38000 - 00000000bae7b000 (ACPI NVS)
(XEN)  00000000bae7b000 - 00000000bb000000 (usable)
(XEN)  00000000bb800000 - 00000000bfa00000 (reserved)
(XEN)  00000000fed1c000 - 00000000fed20000 (reserved)
(XEN)  00000000ff000000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 000000023fe00000 (usable)
(XEN) Checking MTRR ranges...
(XEN)  MTRR cap: d0a type: c00
(XEN)  MTRR[0]: base 6 mask e00000800
(XEN)  MTRR[1]: base 200000006 mask fc0000800
(XEN)  MTRR[2]: base bb800000 mask fff800800
(XEN)  MTRR[3]: base bc000000 mask ffc000800
(XEN)  MTRR[4]: base c0000000 mask fc0000800
(XEN)  MTRR[5]: base 23fe00000 mask fffe00800
(XEN)  MTRR[6]: base bb000006 mask fff800000
(XEN)  MTRR[7]: base 0 mask 0
(XEN)  MTRR[8]: base 0 mask 0
(XEN)  MTRR[9]: base 0 mask 0
(XEN) Multiboot-e820 RAM map:
(XEN)  0000000000000000 - 00000000000a0000 (usable)
(XEN)  0000000000100000 - 0000000020000000 (usable)
(XEN)  0000000020000000 - 0000000020200000 (reserved)
(XEN)  0000000020200000 - 0000000040000000 (usable)
(XEN)  0000000040000000 - 0000000040200000 (reserved)
(XEN)  0000000040200000 - 00000000ba5cc000 (usable)
(XEN)  00000000ba5cc000 - 00000000ba628000 (ACPI NVS)
(XEN)  00000000ba628000 - 00000000bab36000 (reserved)
(XEN)  00000000bab36000 - 00000000bab39000 (ACPI NVS)
(XEN)  00000000bab39000 - 00000000bad9f000 (reserved)
(XEN)  00000000bad9f000 - 00000000badb0000 (ACPI NVS)
(XEN)  00000000badb0000 - 00000000badc7000 (reserved)
(XEN)  00000000badc7000 - 00000000badc9000 (usable)
(XEN)  00000000badc9000 - 00000000badca000 (ACPI NVS)
(XEN)  00000000badca000 - 00000000badd2000 (reserved)
(XEN)  00000000badd2000 - 00000000baddc000 (ACPI NVS)
(XEN)  00000000baddc000 - 00000000bae38000 (reserved)
(XEN)  00000000bae38000 - 00000000bae7b000 (ACPI NVS)
(XEN)  00000000bae7b000 - 00000000bb000000 (usable)
(XEN)  00000000bb800000 - 00000000bfa00000 (reserved)
(XEN)  00000000fed1c000 - 00000000fed20000 (reserved)
(XEN)  00000000ff000000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 000000023fe00000 (usable)
(XEN) ACPI: RSDP 000FCB00, 0024 (r2 ALASKA)
(XEN) ACPI: XSDT BA61D068, 004C (r1 ALASKA    A M I  1072009 AMI     10013)
(XEN) ACPI: FACP BA627210, 00F4 (r4 ALASKA    A M I  1072009 AMI     10013)
(XEN) ACPI: DSDT BA61D140, A0CD (r2 ALASKA    A M I        0 INTL 20051117)
(XEN) ACPI: FACS BADD3F80, 0040
(XEN) ACPI: APIC BA627308, 0092 (r3 ALASKA    A M I  1072009 AMI     10013)
(XEN) ACPI: SSDT BA6273A0, 01D6 (r1 AMICPU     PROC        1 MSFT  3000001)
(XEN) ACPI: MCFG BA627578, 003C (r1 ALASKA    A M I  1072009 MSFT       97)
(XEN) ACPI: HPET BA6275B8, 0038 (r1 ALASKA    A M I  1072009 AMI.        4)
(XEN) System RAM: 8096MB (8291276kB)
share|improve this answer

You are not alone. This seems to be a bug with uefi and xen. No resolution thus far.

xen-devel mailing list

redhat bug

share|improve this answer

I have exactly the same issue with an Asus P8P67 board and xen 4.1.2. The workaround posted above (slightly adjusted to match 4.1.2 source) also fixed it for now. But I am missing the background knowledge to understand if this will have any consequences/instabilities. So far no trouble observed.

share|improve this answer
    
Recently a patch was added to xen-unstable which should solve this problem: xenbits.xen.org/hg/staging/xen-unstable.hg/rev/a0b5f8102a00 –  TripleSpeeder Aug 31 '12 at 10:59

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.