|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH V3 06/10] xen/arm: introduce PGC_reserved
This patch introduces a new page flag PGC_reserved in order to differentiate
pages of static memory from those allocated from heap.
Mark pages of static memory PGC_reserved when initializing them.
Signed-off-by: Penny Zheng <penny.zheng@xxxxxxx>
---
v3 change:
- introduce PGC_reserved when it is firstly used.
---
xen/common/page_alloc.c | 3 +++
xen/include/asm-arm/mm.h | 3 +++
2 files changed, 6 insertions(+)
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index f394d6627a..15edaca227 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1536,6 +1536,9 @@ void __init free_staticmem_pages(struct page_info *pg,
unsigned long nr_mfns,
/* TODO: asynchronous scrubbing for pages of static memory. */
scrub_one_page(pg);
}
+
+ /* In case initializing page of static memory, mark it PGC_reserved. */
+ pg[i].count_info |= PGC_reserved;
}
}
#endif
diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index ded74d29da..7b5e7b7f69 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -108,6 +108,9 @@ struct page_info
/* Page is Xen heap? */
#define _PGC_xen_heap PG_shift(2)
#define PGC_xen_heap PG_mask(1, 2)
+ /* Page is reserved */
+#define _PGC_reserved PG_shift(3)
+#define PGC_reserved PG_mask(1, 3)
/* ... */
/* Page is broken? */
#define _PGC_broken PG_shift(7)
--
2.25.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |