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);