[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 00/16] Remove the direct map
From: Hongyan Xia <hongyxia@xxxxxxxxxx> This series depends on Xen page table domheap conversion: https://lists.xenproject.org/archives/html/xen-devel/2020-04/msg01374.html. After breaking the reliance on the direct map to manipulate Xen page tables, we can now finally remove the direct map altogether. This series: - fixes many places that use the direct map incorrectly or assume the presence of an always-mapped direct map in a wrong way. - includes the early vmap patches for global mappings. - initialises the mapcache for all domains, disables the fast path that uses the direct map for mappings. - maps and unmaps xenheap on-demand. - adds a boot command line switch to enable or disable the direct map. This previous version was in RFC state and can be found here: https://lists.xenproject.org/archives/html/xen-devel/2019-09/msg02647.html, which has since been broken into small series. Hongyan Xia (12): acpi: vmap pages in acpi_os_alloc_memory x86/numa: vmap the pages for memnodemap x86/srat: vmap the pages for acpi_slit x86: map/unmap pages in restore_all_guests. x86/pv: rewrite how building PV dom0 handles domheap mappings x86/mapcache: initialise the mapcache for the idle domain x86: add a boot option to enable and disable the direct map x86/domain_page: remove the fast paths when mfn is not in the directmap xen/page_alloc: add a path for xenheap when there is no direct map x86/setup: leave early boot slightly earlier x86/setup: vmap heap nodes when they are outside the direct map x86/setup: do not create valid mappings when directmap=no Wei Liu (4): x86/setup: move vm_init() before acpi calls x86/pv: domheap pages should be mapped while relocating initrd x86: add Persistent Map (PMAP) infrastructure x86: lift mapcache variable to the arch level docs/misc/xen-command-line.pandoc | 12 +++ xen/arch/arm/setup.c | 4 +- xen/arch/x86/Makefile | 1 + xen/arch/x86/domain.c | 4 +- xen/arch/x86/domain_page.c | 53 ++++++++----- xen/arch/x86/mm.c | 8 +- xen/arch/x86/numa.c | 8 +- xen/arch/x86/pmap.c | 87 +++++++++++++++++++++ xen/arch/x86/pv/dom0_build.c | 75 ++++++++++++++---- xen/arch/x86/setup.c | 125 +++++++++++++++++++++++++----- xen/arch/x86/srat.c | 3 +- xen/arch/x86/x86_64/entry.S | 27 ++++++- xen/common/page_alloc.c | 85 +++++++++++++++++--- xen/common/vmap.c | 37 +++++++-- xen/drivers/acpi/osl.c | 9 ++- xen/include/asm-arm/mm.h | 5 ++ xen/include/asm-x86/domain.h | 12 +-- xen/include/asm-x86/fixmap.h | 3 + xen/include/asm-x86/mm.h | 17 +++- xen/include/asm-x86/pmap.h | 10 +++ xen/include/xen/vmap.h | 5 ++ 21 files changed, 495 insertions(+), 95 deletions(-) create mode 100644 xen/arch/x86/pmap.c create mode 100644 xen/include/asm-x86/pmap.h -- 2.24.1.AMZN
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |