[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v3 0/4] Introduce static heap
The static heap, or statically configured heap, refers to parts of RAM reserved in the beginning for heap. Like the static memory allocation, such static heap regions are reserved by configuration in the device tree using physical address ranges. This feature is useful to run Xen on Arm MPU systems, where only a finite number of memory protection regions are available. The limited number of protection regions places requirement on planning the use of MPU protection regions and one or more MPU protection regions needs to be reserved only for heap. The first patch enhances the error handling in processing the dts chosen node. The second patch introduces the static heap and the device tree parsing code. The third patch renames xenheap_* to directmap_* for better readablity. The fourth patch adds the implementation of the static heap pages handling in boot and heap allocator for Arm. Changes from v2 to v3: - Adjust the order of patches. - Define `enum membank_type` properly, drop the typedef. - Rename the feature terminology to static heap. - Rename MEMBANK_MEMORY to MEMBANK_DEFAULT and MEMBANK_XEN_DOMAIN to MEMBANK_STATIC_DOMAIN. Add comments to `enum membank_type`. - Correct typo, add the clarification of the static heap region should contain enough memory below 4GB to cater 32-bit DMA for Arm32, and add the 64KB alignment requirement in doc. - Add Stefano's Acked-by for device tree interface. - Adjustment of the terminology change to "static heap". - Change of wording in comments. - int i -> unsigned int i. - Avoid extra indentation by reverting the check of MEMBANK_RSVD_HEAP. - Use MB(32). - Drop unnecessary panic and unused variables. - Avoid the ternary operation in assigning the heap_pages. - Rework populate_boot_allocator() for static heap. Henry Wang (4): xen/arm: bootfdt: Make process_chosen_node() return int docs, xen/arm: Introduce static heap memory xen/arm: mm: Rename xenheap_* variable to directmap_* xen/arm: Handle static heap pages in boot and heap allocator docs/misc/arm/device-tree/booting.txt | 48 +++++++++ xen/arch/arm/bootfdt.c | 55 +++++++--- xen/arch/arm/domain_build.c | 8 +- xen/arch/arm/include/asm/config.h | 2 +- xen/arch/arm/include/asm/mm.h | 22 ++-- xen/arch/arm/include/asm/setup.h | 23 +++- xen/arch/arm/mm.c | 24 ++--- xen/arch/arm/setup.c | 147 +++++++++++++++++++++----- 8 files changed, 260 insertions(+), 69 deletions(-) -- 2.17.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |