The following changes since commit 7d848450b6e2a3e14a776b4c93704710e7f3d233:
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.12-20180212' into staging (2018-02-12 14:52:48 +0000) are available in the git repository at: git://github.com/bonzini/qemu.git tags/for-upstream for you to fetch changes up to 7524a39d8c7c9ff54504cfeb784909e4f49d6f30: travis: use libgcc-4.8-dev (libgcc-6-dev is not available on Ubuntu 14.04) (2018-02-13 16:15:09 +0100) ---------------------------------------------------------------- * CAN bus (will be under network maintainner) * scsi-block opblockers (myself) * Dirty log bitmap cleanup (myself) * SDHCI improvements and tests (Philippe) * HAX support for larger guest sizese (Yu Ning) ---------------------------------------------------------------- Daniel P. Berrangé (2): Revert "build-sys: silence make by default or V=0" make: fix help message reference to bogus V=0 variable Deniz Eren (2): hw/net/can: PCM-3680I PCI (dual SJA1000 channel) emulation hw/net/can: MIOe-3680 PCI (dual SJA1000 channel) emulation Marc-André Lureau (2): build-sys: remove useless extra*flags variables build-sys: check static linking of UBSAN Paolo Bonzini (5): hw/net/can: interrupt cleanup g364fb: switch to using DirtyBitmapSnapshot memory: remove memory_region_test_and_clear_dirty memory: hide memory_region_sync_dirty_bitmap behind DirtyBitmapSnapshot memory: unify loops to sync dirty log bitmap Pavel Pisa (5): net/can: simple messages transport implementation for QEMU net/can: support for connecting to Linux host SocketCAN interface. hw/net/can: SJA1000 chip register level emulation for QEMU hw/net/can: Kvaser PCI CAN-S (single SJA1000 channel) emulation net/can: documentation Philippe Mathieu-Daudé (30): sdhci: use error_propagate(local_err) in realize() sdhci: add qtest to check the SD capabilities register sdhci: add check_capab_readonly() qtest sdhci: add a check_capab_baseclock() qtest sdhci: add a check_capab_sdma() qtest sdhci: add qtest to check the SD Spec version sdhci: add a 'spec_version property' (default to v2) sdhci: use a numeric value for the default CAPAB register sdhci: simplify sdhci_get_fifolen() sdhci: check the Spec v1 capabilities correctness sdhci: replace DMA magic value by BLOCK_SIZE_MASK sdhci: check Spec v2 capabilities (DMA and 64-bit bus) hw/arm/exynos4210: access the 64-bit capareg with qdev_prop_set_uint64() hw/arm/exynos4210: add a comment about a very similar SDHCI (Spec. v2) hw/arm/xilinx_zynq: fix the capabilities register to match the datasheet sdhci: add support for v3 capabilities sdhci: rename the hostctl1 register sdhci: implement the Host Control 2 register (tuning sequence) sdbus: add trace events sdhci: implement UHS-I voltage switch sdhci: implement CMD/DAT[] fields in the Present State register hw/arm/bcm2835_peripherals: implement SDHCI Spec v3 hw/arm/bcm2835_peripherals: change maximum block size to 1kB hw/arm/fsl-imx6: implement SDHCI Spec. v3 hw/arm/xilinx_zynqmp: fix the capabilities/spec version to match the datasheet hw/arm/xilinx_zynqmp: enable the UHS-I mode sdhci: check Spec v3 capabilities qtest sdhci: add a check_capab_v3() qtest sdhci: add Spec v4.2 register definitions travis: use libgcc-4.8-dev (libgcc-6-dev is not available on Ubuntu 14.04) Sai Pavan Boddu (1): sdhci: Fix 64-bit ADMA2 Yu Ning (1): hax: Support guest RAM sizes of 4GB or more .travis.yml | 2 +- Makefile | 5 +- configure | 16 +- default-configs/pci.mak | 3 + docs/can.txt | 107 +++++ hw/arm/bcm2835_peripherals.c | 23 +- hw/arm/exynos4210.c | 14 +- hw/arm/fsl-imx6.c | 7 + hw/arm/xilinx_zynq.c | 53 +-- hw/arm/xlnx-zynqmp.c | 30 +- hw/display/cg3.c | 1 - hw/display/exynos4210_fimd.c | 1 - hw/display/framebuffer.c | 1 - hw/display/g364fb.c | 11 +- hw/display/sm501.c | 1 - hw/display/tcx.c | 2 - hw/display/vga.c | 6 - hw/net/Makefile.objs | 2 + hw/net/can/Makefile.objs | 4 + hw/net/can/can_kvaser_pci.c | 319 ++++++++++++++ hw/net/can/can_mioe3680_pci.c | 262 ++++++++++++ hw/net/can/can_pcm3680_pci.c | 263 ++++++++++++ hw/net/can/can_sja1000.c | 953 ++++++++++++++++++++++++++++++++++++++++++ hw/net/can/can_sja1000.h | 146 +++++++ hw/sd/core.c | 61 ++- hw/sd/sd.c | 29 ++ hw/sd/sdhci-internal.h | 71 +++- hw/sd/sdhci.c | 397 +++++++++++++----- hw/sd/trace-events | 9 + include/exec/memory.h | 35 +- include/hw/sd/sd.h | 20 + include/hw/sd/sdhci.h | 6 +- include/net/can_emu.h | 123 ++++++ include/net/can_host.h | 55 +++ include/sysemu/hax.h | 2 +- memory.c | 70 +--- net/Makefile.objs | 2 + net/can/Makefile.objs | 2 + net/can/can_core.c | 138 ++++++ net/can/can_host.c | 112 +++++ net/can/can_socketcan.c | 286 +++++++++++++ rules.mak | 2 - target/i386/hax-all.c | 2 + target/i386/hax-darwin.c | 27 +- target/i386/hax-darwin.h | 1 + target/i386/hax-i386.h | 1 + target/i386/hax-interface.h | 8 + target/i386/hax-mem.c | 34 +- target/i386/hax-windows.c | 38 +- target/i386/hax-windows.h | 2 + tests/Makefile.include | 4 + tests/sdhci-test.c | 250 +++++++++++ 52 files changed, 3715 insertions(+), 304 deletions(-) create mode 100644 docs/can.txt create mode 100644 hw/net/can/Makefile.objs create mode 100644 hw/net/can/can_kvaser_pci.c create mode 100644 hw/net/can/can_mioe3680_pci.c create mode 100644 hw/net/can/can_pcm3680_pci.c create mode 100644 hw/net/can/can_sja1000.c create mode 100644 hw/net/can/can_sja1000.h create mode 100644 include/net/can_emu.h create mode 100644 include/net/can_host.h create mode 100644 net/can/Makefile.objs create mode 100644 net/can/can_core.c create mode 100644 net/can/can_host.c create mode 100644 net/can/can_socketcan.c create mode 100644 tests/sdhci-test.c -- 1.8.3.1 diff --git a/tests/sdhci-test.c b/tests/sdhci-test.c index 4fdb1b4..493023f 100644 --- a/tests/sdhci-test.c +++ b/tests/sdhci-test.c @@ -73,14 +73,14 @@ typedef struct QSDHCI { }; } QSDHCI; -static uint32_t sdhci_readl(QSDHCI *s, uint32_t reg) +static uint16_t sdhci_readw(QSDHCI *s, uint32_t reg) { - uint32_t val; + uint16_t val; if (s->pci.dev) { - qpci_memread(s->pci.dev, s->mem_bar, reg, &val, sizeof(val)); + val = qpci_io_readw(s->pci.dev, s->mem_bar, reg); } else { - val = qtest_readl(global_qtest, s->addr + reg); + val = qtest_readw(global_qtest, s->addr + reg); } return val; @@ -91,7 +91,7 @@ static uint64_t sdhci_readq(QSDHCI *s, uint32_t reg) uint64_t val; if (s->pci.dev) { - qpci_memread(s->pci.dev, s->mem_bar, reg, &val, sizeof(val)); + val = qpci_io_readq(s->pci.dev, s->mem_bar, reg); } else { val = qtest_readq(global_qtest, s->addr + reg); } @@ -102,7 +102,7 @@ static uint64_t sdhci_readq(QSDHCI *s, uint32_t reg) static void sdhci_writeq(QSDHCI *s, uint32_t reg, uint64_t val) { if (s->pci.dev) { - qpci_memwrite(s->pci.dev, s->mem_bar, reg, &val, sizeof(val)); + qpci_io_writeq(s->pci.dev, s->mem_bar, reg, val); } else { qtest_writeq(global_qtest, s->addr + reg, val); } @@ -112,7 +112,7 @@ static void check_specs_version(QSDHCI *s, uint8_t version) { uint32_t v; - v = sdhci_readl(s, SDHC_HCVER); + v = sdhci_readw(s, SDHC_HCVER); v &= 0xff; v += 1; g_assert_cmpuint(v, ==, version);