|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Why the machine address is out of the end of real physic
Does it mean that On xen domain0 the file /proc/iomem show the real
machine memory map, not the psudo physical memory map ?
Can I get a memory page whose machine address is below 4G ?
These are the information of file iomem
# cat /proc/iomem
00000000-0009cfff : System RAM
0009dc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000cb000-000cbfff : Adapter ROM
000f0000-000fffff : System ROM
00100000-bfefffff : System RAM
00100000-00bfffff : Hypervisor code and data
00be6080-00be6143 : Crash note
00be7b80-00be7c77 : Crash note
00be7d00-00be7dc3 : Crash note
00be7e80-00be7f43 : Crash note
bff00000-bff08fff : ACPI Tables
bff09000-bff7ffff : ACPI Non-volatile Storage
bff80000-bfffffff : reserved
c8000000-c80003ff : 0000:00:1d.7
c8000000-c80003ff : ehci_hcd
c8000400-c80007ff : 0000:00:1f.2
c8100000-c82fffff : PCI Bus #01
c8200000-c82fffff : PCI Bus #02
c8200000-c82fffff : PCI Bus #04
c8200000-c821ffff : 0000:04:00.0
c8200000-c821ffff : e1000
c8220000-c823ffff : 0000:04:00.1
c8220000-c823ffff : e1000
c8300000-c83fffff : PCI Bus #0c
c8300000-c830ffff : 0000:0c:02.0
c8320000-c833ffff : 0000:0c:02.0
d0000000-d7ffffff : PCI Bus #0c
d0000000-d7ffffff : 0000:0c:02.0
e0000000-efffffff : reserved
fe700000-fe7003ff : 0000:00:08.0
fec00000-fec0ffff : reserved
fee00000-fee00fff : reserved
ff000000-ffffffff : reserved
100000000-33fffffff : System RAM
2008/4/24, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>:
> 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
|
|
|
|
|