|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Why the machine address is out of the end of real physic
Physical memory doesn't run from 0MB to 8192MB. There is always a hole just
below 4096MB, which is where PCI devices and video framebuffers and the like
get mapped. The RAM which would be in that hole gets remapped above 4096MB.
So probably your memory map is something like 0MB-3584MB and 4096MB-8704MB
(i.e., 512MB is remapped). See the e820 map that Xen (or native Linux)
prints when you first boot your machine.
-- Keir
On 24/4/08 02:20, "ken lost" <kenlost@xxxxxxxxx> wrote:
> Hello evrybody,
>
> I have a machine with 8G RAM, which runs on Redhat Enterprise linux
> 5.1(kernel 2.6.18-53.el5xen, i386 platform PAE, xen 3.0.3 ) . My
> driver need run on Domain0.
> The code has this code for get a momory and its machine address for BIOS.
>
> dmamem_buff = (void*)__get_free_pages( GFP_KERNEL|GFP_DMA,
> DMA_MEMORY_ORDER);
> maddr_t ma = virt_to_machine(dmamem_buff) ;
> printk("machine address is %lldM\n", ma/1024/1024 );
> printk("machine address is 0x%llx\n", ma );
> ...
>
> But the result :
> machine address is 8487M
> machine address is 0x212790000
>
> Why the machine address is out of the end of real physical memory?
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|