From Casey Delorme's "Comprehensive Xen
Debian Wheezy PCI Passthrough Tutorial", this may be the potential
cause of your issue.
EFI Source Modification
Given that I encountered no make errors, I was shocked to
find that they still hadn't addressed the grub efi
compatibility bug where it fails to recognize available system
memory.
The fix for this is a source modification, though they have
supposedly added a build process for xen.efi, which would
replace the debian.efi generated by grub. I have yet to find
adequate instructions to make that work, and even if I did may
break adding xen-pciback.hide
to the grub
configuration, which we need if we are planning to do the easy
method of PCI Passthrough.
So, let's open up xen/arch/x86/setup.c
with our
favorite text editor, and find the line containing (
e820_raw_nr != 0 )
, and make that area look like
this:
#if 0
else if ( e820_raw_nr != 0 )
{
memmap_type = "Xen-e820";
}
else if ( bootsym(lowmem_kb) )
{
memmap_type = "Xen-e801";
e820_raw[0].addr = 0;
e820_raw[0].size = bootsym(lowmem_kb) << 10;
e820_raw[0].type = E820_RAM;
e820_raw[1].addr = 0x100000;
e820_raw[1].size = bootsym(highmem_kb) << 10;
e820_raw[1].type = E820_RAM;
e820_raw_nr = 2;
}
#endif
else if ( mbi->flags & MBI_MEMMAP )
Notice we are commenting out a section of code using "if 0",
which always evaluates to false, to eliminate the section of
e801 mapping which breaks our ram recognition.
I have no idea what kind of adverse affects this has on other
systems, but it has worked for me since Xen 4.1.2.
End EFI Source Modification