mbox series

[kvm-unit-tests,v3,0/8] arm/arm64: Prepare for target-efi

Message ID 20210429164130.405198-1-drjones@redhat.com (mailing list archive)
Headers show
Series arm/arm64: Prepare for target-efi | expand

Message

Andrew Jones April 29, 2021, 4:41 p.m. UTC
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(-)