.gitmodules | 3 + MAINTAINERS | 9 + accel/kvm/kvm-all.c | 6 +- audio/paaudio.c | 1 + backends/hostmem.c | 2 +- block.c | 4 +- block/file-posix.c | 9 +- block/io.c | 2 +- block/parallels.c | 2 +- block/qcow2-cache.c | 2 +- contrib/vhost-user-gpu/vugbm.c | 2 +- default-configs/i386-softmmu.mak | 1 + docs/hyperv.txt | 13 + docs/microvm.rst | 108 +++++ exec.c | 6 +- hw/acpi/cpu_hotplug.c | 10 +- hw/i386/Kconfig | 10 + hw/i386/Makefile.objs | 2 + hw/i386/acpi-build.c | 29 +- hw/i386/amd_iommu.c | 3 +- hw/i386/intel_iommu.c | 3 +- hw/i386/microvm.c | 572 +++++++++++++++++++++++++ hw/i386/pc.c | 832 +++++------------------------------- hw/i386/pc_piix.c | 67 ++- hw/i386/pc_q35.c | 64 ++- hw/i386/pc_sysfw.c | 60 +-- hw/i386/x86.c | 795 ++++++++++++++++++++++++++++++++++ hw/i386/xen/xen-hvm.c | 28 +- hw/intc/apic.c | 2 +- hw/intc/ioapic.c | 2 +- hw/intc/s390_flic_kvm.c | 2 +- hw/mem/Makefile.objs | 2 +- hw/misc/tmp421.c | 4 +- hw/nvram/fw_cfg.c | 29 ++ hw/ppc/mac_newworld.c | 2 +- hw/ppc/spapr_pci.c | 2 +- hw/rdma/vmw/pvrdma_main.c | 2 +- hw/timer/mc146818rtc.c | 94 ++-- hw/vfio/spapr.c | 7 +- hw/virtio/virtio-mmio.c | 48 +-- include/exec/ram_addr.h | 2 +- include/hw/i386/microvm.h | 71 +++ include/hw/i386/pc.h | 32 +- include/hw/i386/x86.h | 96 +++++ include/hw/nvram/fw_cfg.h | 42 ++ include/hw/timer/mc146818rtc.h | 36 +- include/hw/timer/mc146818rtc_regs.h | 2 - include/hw/virtio/virtio-mmio.h | 73 ++++ include/qemu/osdep.h | 4 +- migration/migration.c | 2 +- migration/postcopy-ram.c | 4 +- monitor/misc.c | 2 +- pc-bios/bios-microvm.bin | Bin 0 -> 65536 bytes po/bg.po | 10 +- roms/Makefile | 6 + roms/qboot | 1 + scripts/checkpatch.pl | 6 + target/i386/cpu.c | 4 +- target/i386/cpu.h | 11 +- target/i386/fpu_helper.c | 60 ++- target/i386/hyperv-proto.h | 1 + target/i386/kvm.c | 74 +++- target/i386/machine.c | 20 + target/ppc/kvm.c | 2 +- tests/rtc-test.c | 1 + tests/vhost-user-bridge.c | 8 +- util/main-loop.c | 3 +- util/mmap-alloc.c | 10 +- util/oslib-posix.c | 4 +- util/oslib-win32.c | 2 +- util/systemd.c | 4 +- util/vfio-helpers.c | 12 +- vl.c | 3 + 73 files changed, 2342 insertions(+), 1107 deletions(-) create mode 100644 docs/microvm.rst create mode 100644 hw/i386/microvm.c create mode 100644 hw/i386/x86.c create mode 100644 include/hw/i386/microvm.h create mode 100644 include/hw/i386/x86.h create mode 100644 include/hw/virtio/virtio-mmio.h create mode 100644 pc-bios/bios-microvm.bin create mode 160000 roms/qboot