hw/arm/Makefile.objs | 2 +- hw/sd/Makefile.objs | 1 + include/hw/arm/aspeed_soc.h | 29 +- include/hw/arm/bcm2835_peripherals.h | 15 + include/hw/arm/raspi_platform.h | 24 +- include/hw/i2c/aspeed_i2c.h | 20 +- include/hw/misc/aspeed_scu.h | 7 +- include/hw/misc/aspeed_sdmc.h | 20 +- include/hw/net/ftgmac100.h | 17 + include/hw/ptimer.h | 83 ++- include/hw/sd/aspeed_sdhci.h | 34 ++ include/hw/ssi/aspeed_smc.h | 4 + include/hw/timer/aspeed_timer.h | 18 + include/hw/timer/mss-timer.h | 1 - include/hw/watchdog/wdt_aspeed.h | 19 +- include/standard-headers/asm-x86/bootparam.h | 2 + include/standard-headers/asm-x86/kvm_para.h | 1 + include/standard-headers/linux/ethtool.h | 24 + include/standard-headers/linux/pci_regs.h | 19 +- include/standard-headers/linux/virtio_fs.h | 19 + include/standard-headers/linux/virtio_ids.h | 2 + include/standard-headers/linux/virtio_iommu.h | 165 ++++++ include/standard-headers/linux/virtio_pmem.h | 6 +- linux-headers/asm-arm/kvm.h | 16 +- linux-headers/asm-arm/unistd-common.h | 2 + linux-headers/asm-arm64/kvm.h | 21 +- linux-headers/asm-generic/mman-common.h | 18 +- linux-headers/asm-generic/mman.h | 10 +- linux-headers/asm-generic/unistd.h | 10 +- linux-headers/asm-mips/mman.h | 3 + linux-headers/asm-mips/unistd_n32.h | 1 + linux-headers/asm-mips/unistd_n64.h | 1 + linux-headers/asm-mips/unistd_o32.h | 1 + linux-headers/asm-powerpc/mman.h | 6 +- linux-headers/asm-powerpc/unistd_32.h | 2 + linux-headers/asm-powerpc/unistd_64.h | 2 + linux-headers/asm-s390/kvm.h | 6 + linux-headers/asm-s390/unistd_32.h | 2 + linux-headers/asm-s390/unistd_64.h | 2 + linux-headers/asm-x86/kvm.h | 28 +- linux-headers/asm-x86/unistd.h | 2 +- linux-headers/asm-x86/unistd_32.h | 2 + linux-headers/asm-x86/unistd_64.h | 2 + linux-headers/asm-x86/unistd_x32.h | 2 + linux-headers/linux/kvm.h | 12 +- linux-headers/linux/psp-sev.h | 5 +- linux-headers/linux/vfio.h | 71 ++- target/arm/kvm_arm.h | 1 + hw/arm/aspeed.c | 19 +- hw/arm/aspeed_ast2600.c | 523 +++++++++++++++++++ hw/arm/aspeed_soc.c | 199 +++++--- hw/arm/bcm2835_peripherals.c | 38 +- hw/arm/bcm2836.c | 2 +- hw/arm/musicpal.c | 16 +- hw/arm/raspi.c | 4 +- hw/block/m25p80.c | 1 + hw/char/bcm2835_aux.c | 5 +- hw/core/ptimer.c | 154 +++++- hw/display/bcm2835_fb.c | 2 +- hw/dma/bcm2835_dma.c | 10 +- hw/dma/xilinx_axidma.c | 2 +- hw/gpio/aspeed_gpio.c | 142 +++++- hw/i2c/aspeed_i2c.c | 106 +++- hw/intc/arm_gic_kvm.c | 7 +- hw/intc/bcm2836_control.c | 7 +- hw/m68k/mcf5206.c | 2 +- hw/m68k/mcf5208.c | 2 +- hw/misc/aspeed_scu.c | 194 ++++++- hw/misc/aspeed_sdmc.c | 250 ++++++--- hw/misc/bcm2835_mbox.c | 14 +- hw/misc/bcm2835_property.c | 20 +- hw/net/fsl_etsec/etsec.c | 2 +- hw/net/ftgmac100.c | 162 ++++++ hw/net/lan9118.c | 11 +- hw/sd/aspeed_sdhci.c | 198 ++++++++ hw/ssi/aspeed_smc.c | 177 ++++++- hw/timer/allwinner-a10-pit.c | 12 +- hw/timer/altera_timer.c | 2 +- hw/timer/arm_mptimer.c | 18 +- hw/timer/arm_timer.c | 16 +- hw/timer/aspeed_timer.c | 213 +++++++- hw/timer/cmsdk-apb-dualtimer.c | 14 +- hw/timer/cmsdk-apb-timer.c | 15 +- hw/timer/digic-timer.c | 16 +- hw/timer/etraxfs_timer.c | 6 +- hw/timer/exynos4210_mct.c | 107 +++- hw/timer/exynos4210_pwm.c | 17 +- hw/timer/exynos4210_rtc.c | 22 +- hw/timer/grlib_gptimer.c | 2 +- hw/timer/imx_epit.c | 32 +- hw/timer/imx_gpt.c | 21 +- hw/timer/lm32_timer.c | 2 +- hw/timer/milkymist-sysctl.c | 4 +- hw/timer/mss-timer.c | 11 +- hw/timer/puv3_ost.c | 2 +- hw/timer/sh_timer.c | 2 +- hw/timer/slavio_timer.c | 2 +- hw/timer/xilinx_timer.c | 2 +- hw/watchdog/cmsdk-apb-watchdog.c | 13 +- hw/watchdog/wdt_aspeed.c | 153 +++--- target/arm/arm-semi.c | 707 +++++++++++++++++++++----- target/arm/cpu.c | 10 +- target/arm/kvm.c | 22 +- tests/ptimer-test.c | 106 +++- hw/misc/trace-events | 6 + 105 files changed, 3934 insertions(+), 650 deletions(-) create mode 100644 include/hw/sd/aspeed_sdhci.h create mode 100644 include/standard-headers/linux/virtio_fs.h create mode 100644 include/standard-headers/linux/virtio_iommu.h create mode 100644 hw/arm/aspeed_ast2600.c create mode 100644 hw/sd/aspeed_sdhci.c