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.

  Ralf


Ralf Ramsauer (11):
  core: bitops: fix type of clear_bit
  x86: use definitions instead of constants
  x86: use the variable io_bitmap for both
  x86: consolidate io_bitmap allocation
  x86: drop vcpu_vendor_get_cell_io_bitmap
  x86: consolidate deallocation of IO bitmaps
  x86: remove superfluous statement
  x86: simplify check if i8042 needs moderation
  cell-config: introduce pio_whitelist structure and helpers
  x86: pio: use a whitelist instead of a permission bitmap
  tools: update config generator

 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/arm/include/asm/bitops.h   |   2 +-
 hypervisor/arch/arm64/include/asm/bitops.h |   2 +-
 hypervisor/arch/x86/i8042.c                |   6 +-
 hypervisor/arch/x86/include/asm/bitops.h   |   2 +-
 hypervisor/arch/x86/include/asm/cell.h     |   9 +-
 hypervisor/arch/x86/include/asm/vcpu.h     |   3 +-
 hypervisor/arch/x86/svm.c                  |  38 ++------
 hypervisor/arch/x86/vcpu.c                 | 105 +++++++++++++++------
 hypervisor/arch/x86/vmx.c                  |  35 ++-----
 include/jailhouse/cell-config.h            |  28 ++++--
 tools/jailhouse-cell-linux                 |   2 +-
 tools/jailhouse-hardware-check             |   2 +-
 tools/root-cell-config.c.tmpl              |  22 ++---
 24 files changed, 222 insertions(+), 263 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/20190713181037.4358-1-ralf.ramsauer%40oth-regensburg.de.
For more options, visit https://groups.google.com/d/optout.

Reply via email to