Hi,

this is a follow up of a recent discussion: Let's convert the pio_bitmap
to a pio_whitelist.

It supports readability (no more bit fiddling), writeability (no more
bit fiddling), reduces the size of cell configs (per-config reduction of
almost 8kiB), and generally, it's more Jailhouse-like than the
blacklist-like former pio_bitmap.

This series first cleans up and consolidates a few spots, and then
switches to the whitelist. Logically the series is pretty straight
forward, still, there's one little trade-off: vcpu_cell_exit. We have
some more complexity there.

But hey, look at the diffstat!

  Ralf

since v2:
  - Remove .pio_bitmap from ARM64 configs
  - s/pio_bitmap_size/num_pio_regions/ in jailhouse-cell-linux

since v1:
  - rebase on upstream next, respect integrated changes
  - refactor jailhouse_pio_whitelist to jailhouse_pio
  - more consolidation!

Ralf Ramsauer (5):
  configs: arm64: don't set .pio_bitmap_size
  x86: drop vcpu_vendor_get_cell_io_bitmap and struct vcpu_io_bitmap
  cell-config: introduce pio_whitelist structure and helpers
  x86: pio: use a whitelist instead of a permission bitmap
  tools: update config generator

 configs/arm64/amd-seattle-gic-demo.c        |   1 -
 configs/arm64/amd-seattle-uart-demo.c       |   1 -
 configs/arm64/espressobin-gic-demo.c        |   1 -
 configs/arm64/foundation-v8-gic-demo.c      |   1 -
 configs/arm64/foundation-v8-linux-demo.c    |   1 -
 configs/arm64/foundation-v8-uart-demo.c     |   1 -
 configs/arm64/hikey-gic-demo.c              |   1 -
 configs/arm64/imx8mq-gic-demo.c             |   1 -
 configs/arm64/k3-am654-gic-demo.c           |   1 -
 configs/arm64/k3-am654-uart-demo.c          |   1 -
 configs/arm64/macchiatobin-gic-demo.c       |   1 -
 configs/arm64/miriac-sbc-ls1046a-gic-demo.c |   1 -
 configs/arm64/qemu-arm64-gic-demo.c         |   1 -
 configs/arm64/ultra96-gic-demo.c            |   1 -
 configs/arm64/zynqmp-zcu102-gic-demo.c      |   1 -
 configs/x86/apic-demo.c                     |  16 ++--
 configs/x86/e1000-demo.c                    |  19 ++--
 configs/x86/f2a88xm-hd3.c                   |  27 +++---
 configs/x86/imb-a180.c                      |  27 +++---
 configs/x86/ioapic-demo.c                   |  22 ++---
 configs/x86/ivshmem-demo.c                  |  13 +--
 configs/x86/linux-x86-demo.c                |  16 ++--
 configs/x86/pci-demo.c                      |  16 ++--
 configs/x86/qemu-x86.c                      |  41 +++-----
 configs/x86/smp-demo.c                      |  16 ++--
 configs/x86/tiny-demo.c                     |  16 ++--
 hypervisor/arch/x86/include/asm/vcpu.h      |   7 --
 hypervisor/arch/x86/svm.c                   |   7 --
 hypervisor/arch/x86/vcpu.c                  | 100 +++++++++++---------
 hypervisor/arch/x86/vmx.c                   |   7 --
 include/jailhouse/cell-config.h             |  28 ++++--
 tools/jailhouse-cell-linux                  |   4 +-
 tools/jailhouse-hardware-check              |   2 +-
 tools/root-cell-config.c.tmpl               |  22 ++---
 34 files changed, 175 insertions(+), 246 deletions(-)

-- 
2.22.0

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/20190726135911.16810-1-ralf.ramsauer%40oth-regensburg.de.

Reply via email to