mbox series

[RFC,0/3] spapr: nested-hv support for TCG

Message ID 20220210065340.1276367-1-npiggin@gmail.com
Headers show
Series spapr: nested-hv support for TCG | expand

Message

Nicholas Piggin Feb. 10, 2022, 6:53 a.m. UTC
Here's a little thing I've been hacking on. I was pretty amazed I
could even get it working, let alone being so small and not too
horrible to look at. A few people thought it would be useful for
prototyping and hacking and running kvm tests, etc. So, thoughts
on the overall idea and code structure?

There's possibly a few layering violations there with me short-cutting
and not calling vhc method for checking cpu in nested at least, and a
bit of cleanup and few loose ends, but hopefully nothing fundamentally
terrible.

It works and boots an L2 into a distro with unmodified Linux kernels
running in the L1 and L2.

Thanks,
Nick

Nicholas Piggin (3):
  target/ppc: raise HV interrupts for partition table entry problems
  spapr: prevent hdec timer being set up under virtual hypervisor
  spapr: implement nested-hv support for the TCG virtual hypervisor

 hw/ppc/ppc.c               |  22 ++-
 hw/ppc/spapr.c             |  16 ++
 hw/ppc/spapr_caps.c        |   5 +-
 hw/ppc/spapr_cpu_core.c    |   6 +-
 hw/ppc/spapr_hcall.c       | 316 +++++++++++++++++++++++++++++++++++++
 include/hw/ppc/ppc.h       |   3 +
 include/hw/ppc/spapr.h     |  75 ++++++++-
 target/ppc/cpu.h           |   6 +
 target/ppc/excp_helper.c   |  60 ++++---
 target/ppc/helper_regs.c   |   1 +
 target/ppc/mmu-book3s-v3.c |  20 ++-
 target/ppc/mmu-radix64.c   |  19 +--
 12 files changed, 505 insertions(+), 44 deletions(-)