v3: - Picked up Alex's r-b on patch 1 and 5 - Removed useless cast in pci_host_bridge_get_paddr [Andre] - Added XN bits when mapping I/O pages [Alex] - Tweaks to patch 6 suggested by Alex and myself - Improved patch 8 commit message and changed psci-invoke's input and output parameter types v2: - Addressed all comments from Nikos and Alex - The biggest changes are * dropping the weird persistent map stuff that I never liked by taking Alex's suggestion to just create the idmap early * adding mem_region_add() to clean up memory region adding code, also improved the assignment of region fields - Also, while we found that we still have a memory map assumption (3G-4G reserved for virtual memory allocation), I only make that assumption clear. I've left removing it for an additional patch for another day. - Added psci_invoke_none() to use prior to the PSCI method being set - Added r-b's for each patch given, unless the commit changed too much - Didn't take Alex's suggestion to use x5 for stacktop when calling setup from start. I prefer explicitly loading it again. This series is a collection of patches derived from [1] that pave the way for new targets, e.g. target-efi[2]. These patches mostly address the elimination of memory map assumptions and they shouldn't have any functional changes. The last two patches are a couple of patches not related to the memory map, but they also prepare for bare metal targets. I tossed them in since I don't think they should be too controversial. This patch series is also available here [3]. [1] https://github.com/rhdrjones/kvm-unit-tests/commits/target-efi [2] https://www.youtube.com/watch?v=kvaufVrL0J0 [3] https://gitlab.com/rhdrjones/kvm-unit-tests/-/commits/efiprep Thanks, drew Andrew Jones (8): arm/arm64: Reorganize cstart assembler arm/arm64: Move setup_vm into setup pci-testdev: ioremap regions arm/arm64: mmu: Stop mapping an assumed IO region arm/arm64: mmu: Remove memory layout assumptions arm/arm64: setup: Consolidate memory layout assumptions chr-testdev: Silently fail init arm/arm64: psci: Don't assume method is hvc arm/cstart.S | 92 ++++++++++++------- arm/cstart64.S | 45 ++++++--- arm/flat.lds | 23 +++++ arm/selftest.c | 34 ++----- lib/arm/asm/io.h | 6 ++ lib/arm/asm/mmu.h | 3 + lib/arm/asm/page.h | 2 + lib/arm/asm/pgtable-hwdef.h | 1 + lib/arm/asm/psci.h | 10 +- lib/arm/asm/setup.h | 7 +- lib/arm/mmu.c | 53 +++++++---- lib/arm/psci.c | 35 +++++-- lib/arm/setup.c | 177 +++++++++++++++++++++--------------- lib/arm64/asm/io.h | 6 ++ lib/arm64/asm/mmu.h | 1 + lib/arm64/asm/page.h | 2 + lib/chr-testdev.c | 5 +- lib/pci-host-generic.c | 5 +- lib/pci-host-generic.h | 4 +- lib/pci-testdev.c | 4 + 20 files changed, 335 insertions(+), 180 deletions(-) -- 2.30.2