accel/stubs/tcg-stub.c | 6 - block/vdi.c | 7 +- bsd-user/main.c | 5 +- chardev/char-serial.c | 3 +- configure | 18 +++ exec.c | 6 +- hw/alpha/typhoon.c | 17 ++- hw/arm/msf2-soc.c | 6 +- hw/arm/msf2-som.c | 8 +- hw/block/m25p80.c | 5 +- hw/block/nvme.c | 3 +- hw/block/tc58128.c | 3 +- hw/block/xen_disk.c | 3 +- hw/core/loader-fit.c | 3 +- hw/core/machine.c | 4 +- hw/cris/axis_dev88.c | 3 +- hw/display/bochs-display.c | 9 +- hw/display/cirrus_vga.c | 10 +- hw/display/g364fb.c | 4 +- hw/display/qxl.c | 30 ++--- hw/display/sm501.c | 16 +-- hw/display/vga-isa-mm.c | 5 +- hw/display/vga.c | 5 +- hw/display/virtio-gpu.c | 4 +- hw/display/vmware_vga.c | 3 +- hw/display/xenfb.c | 3 +- hw/hppa/dino.c | 3 +- hw/hppa/machine.c | 12 +- hw/i386/acpi-build.c | 4 +- hw/i386/pc.c | 23 ++-- hw/i386/pc_piix.c | 3 +- hw/i386/pc_q35.c | 3 +- hw/i386/pc_sysfw.c | 10 +- hw/i386/xen/xen-mapcache.c | 3 +- hw/ipack/tpci200.c | 5 +- hw/lm32/lm32_boards.c | 13 +- hw/lm32/milkymist.c | 10 +- hw/m68k/mcf5208.c | 3 +- hw/microblaze/petalogix_ml605_mmu.c | 7 +- hw/microblaze/petalogix_s3adsp1800_mmu.c | 7 +- hw/mips/boston.c | 30 ++--- hw/mips/mips_fulong2e.c | 7 +- hw/mips/mips_malta.c | 25 ++-- hw/mips/mips_r4k.c | 15 ++- hw/misc/auxbus.c | 3 +- hw/misc/edu.c | 3 +- hw/misc/ivshmem.c | 3 +- hw/misc/mips_itu.c | 3 +- hw/net/e1000e.c | 7 +- hw/net/e1000x_common.c | 3 +- hw/net/eepro100.c | 3 +- hw/net/ne2000.h | 5 +- hw/nios2/boot.c | 6 +- hw/nvram/spapr_nvram.c | 11 +- hw/pci-host/prep.c | 3 +- hw/pci-host/xilinx-pcie.c | 5 +- hw/ppc/e500.c | 13 +- hw/ppc/e500plat.c | 3 +- hw/ppc/mac.h | 3 +- hw/ppc/mac_newworld.c | 1 - hw/ppc/mac_oldworld.c | 9 +- hw/ppc/pnv.c | 6 +- hw/ppc/ppc405_boards.c | 9 +- hw/ppc/ppc405_uc.c | 7 +- hw/ppc/ppc440_bamboo.c | 5 +- hw/ppc/ppc440_uc.c | 28 ++-- hw/ppc/ppc4xx_devs.c | 22 ++-- hw/ppc/ppce500_spin.c | 3 +- hw/ppc/prep.c | 6 +- hw/ppc/rs6000_mc.c | 13 +- hw/ppc/sam460ex.c | 18 +-- hw/ppc/spapr.c | 18 +-- hw/ppc/spapr_rtas.c | 4 +- hw/ppc/virtex_ml507.c | 7 +- hw/rdma/vmw/pvrdma.h | 3 +- hw/riscv/virt.c | 3 +- hw/s390x/s390-skeys.c | 3 +- hw/s390x/s390-stattrib.c | 3 +- hw/s390x/sclp.c | 3 +- hw/scsi/scsi-disk.c | 9 +- hw/sd/sd.c | 8 +- hw/sd/sdhci.c | 8 +- hw/sh4/r2d.c | 3 +- hw/smbios/smbios.c | 15 +-- hw/sparc/leon3.c | 10 +- hw/sparc/sun4m.c | 10 +- hw/sparc64/niagara.c | 3 +- hw/sparc64/sun4u.c | 4 +- hw/tricore/tricore_testboard.c | 13 +- hw/usb/ccid-card-passthru.c | 9 +- hw/usb/combined-packet.c | 3 +- hw/usb/dev-smartcard-reader.c | 3 +- hw/usb/redirect.c | 3 +- hw/vfio/pci-quirks.c | 9 +- hw/vfio/pci.c | 3 +- hw/xenpv/xen_domainbuild.c | 13 +- hw/xtensa/xtfpga.c | 9 +- include/exec/exec-all.h | 8 +- include/hw/acpi/tpm.h | 3 +- include/hw/display/xlnx_dp.h | 5 +- include/hw/intc/mips_gic.h | 3 +- include/hw/mips/bios.h | 3 +- include/hw/net/allwinner_emac.h | 5 +- include/hw/ppc/spapr.h | 5 +- include/hw/virtio/virtio-net.h | 3 +- include/qemu/cutils.h | 7 - include/qemu/units.h | 20 +++ linux-user/main.c | 5 +- monitor.c | 3 +- scripts/checkpatch.pl | 1 + target/i386/cpu.c | 7 +- target/i386/cpu.h | 7 + target/i386/excp_helper.c | 216 ++++++++++++++++++++++++++++++- target/i386/hyperv-proto.h | 1 + target/i386/kvm.c | 15 ++- target/i386/machine.c | 21 +++ target/i386/mem_helper.c | 6 +- target/i386/monitor.c | 76 ++++++----- target/i386/svm.h | 14 ++ target/i386/svm_helper.c | 22 ++++ target/ppc/mmu_helper.c | 8 +- target/xtensa/helper.c | 5 +- tests/benchmark-crypto-cipher.c | 6 +- tests/benchmark-crypto-hash.c | 5 +- tests/benchmark-crypto-hmac.c | 6 +- tests/test-cutils.c | 21 +-- tests/test-keyval.c | 7 +- tests/test-qemu-opts.c | 9 +- vl.c | 5 +- 129 files changed, 840 insertions(+), 440 deletions(-) create mode 100644 include/qemu/units.h