[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 2 of 4] x86: Introduce "top_of_mem"



It is very useful for the crashdump kernel to have an idea of what Xen
thought was the maximum memory address was, especially if the
crashdump kernel is 32bit.

Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

diff -r 977fa1c61b3e -r 1e79fb200722 xen/arch/x86/mm.c
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -149,6 +149,7 @@ struct domain *dom_xen, *dom_io, *dom_co
 /* Frame table size in pages. */
 unsigned long max_page;
 unsigned long total_pages;
+u64 top_of_mem;
 
 unsigned long __read_mostly pdx_group_valid[BITS_TO_LONGS(
     (FRAMETABLE_SIZE / sizeof(*frame_table) + PDX_GROUP_COUNT - 1)
diff -r 977fa1c61b3e -r 1e79fb200722 xen/arch/x86/setup.c
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1111,6 +1111,7 @@ void __init __start_xen(unsigned long mb
            nr_pages >> (20 - PAGE_SHIFT),
            nr_pages << (PAGE_SHIFT - 10));
     total_pages = nr_pages;
+    top_of_mem = e820.map[e820.nr_map-1].addr + e820.map[e820.nr_map-1].size;
 
     /* Sanity check for unwanted bloat of certain hypercall structures. */
     BUILD_BUG_ON(sizeof(((struct xen_platform_op *)0)->u) !=
diff -r 977fa1c61b3e -r 1e79fb200722 xen/include/asm-x86/mm.h
--- a/xen/include/asm-x86/mm.h
+++ b/xen/include/asm-x86/mm.h
@@ -296,6 +296,7 @@ int get_superpage(unsigned long mfn, str
 #endif
 extern unsigned long max_page;
 extern unsigned long total_pages;
+extern u64 top_of_mem;
 void init_frametable(void);
 
 #define PDX_GROUP_COUNT ((1 << L2_PAGETABLE_SHIFT) / \

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.