|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] query on physical memory map for Xen?
Nada, this is definetly the wrong piece of code you are looking at.:-)
Let me check once again for you ...
Ahh...got something.
see xen/include/asm-x86/config.h
296 #ifdef CONFIG_X86_PAE
297 # define LINEARPT_MBYTES 8
298 # define MACHPHYS_MBYTES 16 /* 1 MB needed per 1 GB memory */
299 # define FRAMETABLE_MBYTES (MACHPHYS_MBYTES * 6)
300 #else
301 # define LINEARPT_MBYTES 4
302 # define MACHPHYS_MBYTES 4
303 # define FRAMETABLE_MBYTES 24
a 32 bit kernel/hypervisor cannot access more than 4GB of physical
memory.So if PAE is enabled while compiling the kernel/hypervisor you
get the first part of the above conditional macro.
for each GB you have 1MB of memory for a m2p table.isn't it?
16MB means 16GB of physical mem max you can address in 32 bit xen hypervisor.
Thanks,
On Mon, Apr 14, 2008 at 11:13 AM, Peter Teoh <htmldeveloper@xxxxxxxxx> wrote:
> Just curious, can anyone give a hint on where this 16GB max physical
> memory is defined?
>
> Doing some random search by strings I found these:
>
> #define MAXMEM 0x3fffffffffffUL
> #define MAXMEM
> (__FIXADDR_TOP-__PAGE_OFFSET-__VMALLOC_RESERVE)
> #define MAXMEM_PFN PFN_DOWN(MAXMEM)
> #define ACPI_MEM_LIST_MAX 6
> #define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
> #define EFI_MAX_MEMORY_TYPE 14
> #define PCI_X_CMD_MAX_READ 0x000c /* Max Memory Read Byte Count */
> #define PCI_X_STATUS_MAX_READ 0x00600000 /* Designed Max Memory
> Read Count */
> #define GEO_TYPE_MAX (GEO_TYPE_MEM+1)
> #define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
> *max_mfn = xc_memory_op(xc_handle, XENMEM_maximum_ram_page, NULL);
> #define EFI_MAX_MEMORY_TYPE 14
> #define MAXMEM 0x3fffffffffffUL
> * KEXEC_SOURCE_MEMORY_LIMIT maximum page get_free_page can return.
> #define MAXMEM
> (__FIXADDR_TOP-__PAGE_OFFSET-__VMALLOC_RESERVE)
> #define MAXMEM_PFN PFN_DOWN(MAXMEM)
> * KEXEC_SOURCE_MEMORY_LIMIT maximum page get_free_page can return.
> #define ACPI_MEM_LIST_MAX 6
> #define XENMEM_maximum_ram_page 2
> #define XENMEM_maximum_reservation 4
> #define XENMEM_maximum_gpfn 14
> #define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
> #define EFI_MAX_MEMORY_TYPE 14
> #define GEO_TYPE_MAX (GEO_TYPE_MEM+1)
> #define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
>
> Not sure which one maps to this 16GB thing? Thanks for the sharing :-).
>
>
>
> On Fri, Apr 11, 2008 at 2:54 PM, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
> wrote:
> > On 11/4/08 07:14, "pradeep singh rautela" <rautelap@xxxxxxxxx> wrote:
> >
> > > Based on my understanding of the Xen code, I have a small query for you
> all.
> > >
> > > Xen hypervisor can access only a max of 16GB of physical memory
> > > directly on x86 architecture.
> > > Is this correct inference?
> > >
> > > So does Xen hypervisor cannot touch memory about 16G directly? Does it
> > > employ some kind of temporary mapping like linux kernel to access
> > > memory above 16G then?
> >
> > 32-bit Xen does not use memory above 16GB at all. 64-bit Xen can use any
> > amount of memory, and is able to keep a permanent mapping of all of it.
> >
> > -- Keir
> >
> >
> >
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxxxxxxxx
> > http://lists.xensource.com/xen-devel
> >
>
>
>
> --
> Regards,
> Peter Teoh
>
--
Pradeep Singh Rautela
http://eagain.wordpress.com
http://emptydomain.googlepages.com
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|