docs/generic-loader.txt | 92 ------ docs/system/generic-loader.rst | 117 +++++++ docs/system/guest-loader.rst | 54 ++++ docs/system/index.rst | 2 + docs/system/quickstart.rst | 8 + docs/system/targets.rst | 2 + meson.build | 1 + hw/core/guest-loader.h | 34 +++ include/hw/arm/virt.h | 1 - include/hw/boards.h | 1 + include/hw/riscv/virt.h | 1 - include/{hw => }/semihosting/console.h | 0 include/{hw => }/semihosting/semihost.h | 0 include/sysemu/device_tree.h | 17 ++ {hw/semihosting => semihosting}/common-semi.h | 0 gdbstub.c | 2 +- hw/arm/virt.c | 356 +++++++++++----------- hw/core/guest-loader.c | 145 +++++++++ hw/mips/malta.c | 2 +- hw/riscv/virt.c | 20 +- linux-user/aarch64/cpu_loop.c | 2 +- linux-user/arm/cpu_loop.c | 2 +- linux-user/riscv/cpu_loop.c | 2 +- linux-user/semihost.c | 2 +- {hw/semihosting => semihosting}/arm-compat-semi.c | 6 +- {hw/semihosting => semihosting}/config.c | 2 +- {hw/semihosting => semihosting}/console.c | 4 +- softmmu/device_tree.c | 26 ++ softmmu/vl.c | 2 +- stubs/semihost.c | 2 +- target/arm/helper.c | 4 +- target/arm/m_helper.c | 4 +- target/arm/translate-a64.c | 2 +- target/arm/translate.c | 2 +- target/lm32/helper.c | 2 +- target/m68k/op_helper.c | 2 +- target/mips/cpu.c | 2 +- target/mips/mips-semi.c | 4 +- target/mips/translate.c | 2 +- target/nios2/helper.c | 2 +- target/riscv/cpu_helper.c | 2 +- target/unicore32/helper.c | 2 +- target/xtensa/translate.c | 2 +- target/xtensa/xtensa-semi.c | 2 +- .editorconfig | 17 +- .gitlab-ci.yml | 123 ++++++++ Kconfig | 1 + MAINTAINERS | 13 +- hw/Kconfig | 1 - hw/core/meson.build | 2 + hw/meson.build | 1 - {hw/semihosting => semihosting}/Kconfig | 0 {hw/semihosting => semihosting}/meson.build | 0 tests/acceptance/boot_xen.py | 118 +++++++ tests/docker/dockerfiles/debian10.docker | 2 +- tests/docker/test-tcg | 22 ++ 56 files changed, 921 insertions(+), 318 deletions(-) delete mode 100644 docs/generic-loader.txt create mode 100644 docs/system/generic-loader.rst create mode 100644 docs/system/guest-loader.rst create mode 100644 hw/core/guest-loader.h rename include/{hw => }/semihosting/console.h (100%) rename include/{hw => }/semihosting/semihost.h (100%) rename {hw/semihosting => semihosting}/common-semi.h (100%) create mode 100644 hw/core/guest-loader.c rename {hw/semihosting => semihosting}/arm-compat-semi.c (99%) rename {hw/semihosting => semihosting}/config.c (99%) rename {hw/semihosting => semihosting}/console.c (98%) rename {hw/semihosting => semihosting}/Kconfig (100%) rename {hw/semihosting => semihosting}/meson.build (100%) create mode 100644 tests/acceptance/boot_xen.py create mode 100755 tests/docker/test-tcg