|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |