[RFC PATCH 0/8] softmmu: Restrict CPU I/O instructions

Philippe Mathieu-Daudé posted 8 patches 3 years, 1 month ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210314232913.2607360-1-f4bug@amsat.org
default-configs/targets/avr-softmmu.mak    |  1 +
default-configs/targets/i386-softmmu.mak   |  1 +
default-configs/targets/x86_64-softmmu.mak |  1 +
include/exec/cpu-io.h                      | 30 ++++++++
include/exec/ioport.h                      |  7 --
tests/qtest/libqos/fw_cfg.h                |  3 +
hw/i386/xen/xen-hvm.c                      |  1 +
monitor/misc.c                             |  6 +-
softmmu/cpu-io.c                           | 88 ++++++++++++++++++++++
softmmu/ioport.c                           | 60 ---------------
softmmu/physmem.c                          | 12 +--
softmmu/qtest.c                            | 11 ++-
tests/qtest/fuzz/generic_fuzz.c            | 16 ++--
tests/qtest/fuzz/qtest_wrappers.c          |  7 +-
tests/qtest/libqos/fw_cfg.c                |  2 +
hmp-commands.hx                            |  2 +
softmmu/meson.build                        |  3 +-
17 files changed, 167 insertions(+), 84 deletions(-)
create mode 100644 include/exec/cpu-io.h
create mode 100644 softmmu/cpu-io.c
[RFC PATCH 0/8] softmmu: Restrict CPU I/O instructions
Posted by Philippe Mathieu-Daudé 3 years, 1 month ago
An attempt to restrict CPU I/O instructions to targets
where it makes sense. If it does, I'll send the next
series which restrict the I/O address space to X86/AVR.

Based-on: <20210314225308.2582284-1-f4bug@amsat.org>

Philippe Mathieu-Daudé (8):
  softmmu/physmem: Rename io_mem_unassigned -> unassigned_mr
  exec: Extract CPU I/O instructions to "cpu-io.h"
  target: Introduce TARGET_HAS_IOPORT
  qtest/fuzz: Restrict CPU I/O instructions
  qtest/libqos: Restrict CPU I/O instructions
  qtest: Restrict CPU I/O instructions
  monitor: Restrict CPU I/O instructions
  softmmu: Restrict CPU I/O instructions

 default-configs/targets/avr-softmmu.mak    |  1 +
 default-configs/targets/i386-softmmu.mak   |  1 +
 default-configs/targets/x86_64-softmmu.mak |  1 +
 include/exec/cpu-io.h                      | 30 ++++++++
 include/exec/ioport.h                      |  7 --
 tests/qtest/libqos/fw_cfg.h                |  3 +
 hw/i386/xen/xen-hvm.c                      |  1 +
 monitor/misc.c                             |  6 +-
 softmmu/cpu-io.c                           | 88 ++++++++++++++++++++++
 softmmu/ioport.c                           | 60 ---------------
 softmmu/physmem.c                          | 12 +--
 softmmu/qtest.c                            | 11 ++-
 tests/qtest/fuzz/generic_fuzz.c            | 16 ++--
 tests/qtest/fuzz/qtest_wrappers.c          |  7 +-
 tests/qtest/libqos/fw_cfg.c                |  2 +
 hmp-commands.hx                            |  2 +
 softmmu/meson.build                        |  3 +-
 17 files changed, 167 insertions(+), 84 deletions(-)
 create mode 100644 include/exec/cpu-io.h
 create mode 100644 softmmu/cpu-io.c

-- 
2.26.2