[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] d307c2: i2c: Allow I2C devices to NAK start e
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] d307c2: i2c: Allow I2C devices to NAK start events |
Date: |
Mon, 09 Jan 2017 05:00:04 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: d307c28ca9dba7a0677035c9244198b05164c873
https://github.com/qemu/qemu/commit/d307c28ca9dba7a0677035c9244198b05164c873
Author: Corey Minyard <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/pxa2xx.c
M hw/arm/tosa.c
M hw/arm/z2.c
M hw/audio/wm8750.c
M hw/display/ssd0303.c
M hw/gpio/max7310.c
M hw/i2c/core.c
M hw/i2c/i2c-ddc.c
M hw/i2c/smbus.c
M hw/input/lm832x.c
M hw/misc/tmp105.c
M hw/timer/ds1338.c
M hw/timer/twl92230.c
M include/hw/i2c/i2c.h
Log Message:
-----------
i2c: Allow I2C devices to NAK start events
Add a return value to the event handler. Some I2C devices will
NAK if they have no data, so allow them to do this. This required
the following changes:
Go through all the event handlers and change them to return int
and return 0.
Modify i2c_start_transfer to terminate the transaction on a NAK.
Modify smbus handing to not assert if a NAK occurs on a second
operation, and terminate the transaction and return -1 instead.
Add some information on semantics to I2CSlaveClass.
Signed-off-by: Corey Minyard <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: 5b982482c1c1f6170361b9c80dce60b5222242da
https://github.com/qemu/qemu/commit/5b982482c1c1f6170361b9c80dce60b5222242da
Author: xiaoqiang zhao <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/char/exynos4210_uart.c
Log Message:
-----------
hw/char: QOM'ify exynos4210_uart.c
Drop the old Sysbus init and use instance_init and
DeviceClass::realize instead
Signed-off-by: xiaoqiang zhao <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: 9ac4ef77c1b43d1c105975a3d469551886e65c35
https://github.com/qemu/qemu/commit/9ac4ef77c1b43d1c105975a3d469551886e65c35
Author: Peter Maydell <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt.c
Log Message:
-----------
hw/arm/virt: Merge VirtBoardInfo and VirtMachineState
One of the purposes of VirtBoardInfo was to hold various
bits of state about the board. Now we have MachineState
and the subclass VirtMachineState to do this. Fold the
VirtBoardInfo into VirtMachineState rather than having
some flags in one struct and some in another with no
useful way to get between them.
In the process we drop the code for looking up the
memory map and irq map from the CPU model, because
in practice we always use the same maps in all cases.
For easier code review, this change removes the
VirtBoardInfo type but leaves all the variables which
used to be VirtBoardInfo* and are now VirtMachineState*
with their now-confusing 'vbi' names.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Commit: c8ef2bda05af317819427c2fde7ebf061129c142
https://github.com/qemu/qemu/commit/c8ef2bda05af317819427c2fde7ebf061129c142
Author: Peter Maydell <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt.c
Log Message:
-----------
hw/arm/virt: Rename 'vbi' variables to 'vms'
Rename all the variables which used to be VirtBoardInfo*
and are now VirtMachineState* so their names are in line
with the type being used.
Apart from the removal of the line 'VirtMachineState *vbi = vms;'
this commit is purely a search-and-replace of 'vbi' with 'vms'.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Commit: 156bc9a5ea877e8252a07f35543a24157d4ab822
https://github.com/qemu/qemu/commit/156bc9a5ea877e8252a07f35543a24157d4ab822
Author: Peter Maydell <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt.c
Log Message:
-----------
hw/arm/virt: Don't incorrectly claim architectural timer to be edge-triggered
The architectural timers in ARM CPUs all have level triggered interrupts
(unless you're using KVM on a host kernel before 4.4, which misimplemented
them as edge-triggered).
We were incorrectly describing them in the device tree as edge triggered.
This can cause problems for guest kernels in 4.8 before rc6:
* pre-4.8 kernels ignore the values in the DT
* 4.8 before rc6 write the DT values to the GIC config registers
* newer than rc6 ignore the DT and insist that the timer interrupts
are level triggered regardless
Fix the DT so we're describing reality. For backwards-compatibility
purposes, only do this for the virt-2.9 machine onward.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Commit: 330afe059909d8dc11d70d6a059408d430689d3f
https://github.com/qemu/qemu/commit/330afe059909d8dc11d70d6a059408d430689d3f
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt-acpi-build.c
Log Message:
-----------
hw/arm/virt-acpi-build: add all missing cpu_to_le's
Signed-off-by: Andrew Jones <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 6e2ed65f4a523afa740f61ffe887a5fd62ef2644
https://github.com/qemu/qemu/commit/6e2ed65f4a523afa740f61ffe887a5fd62ef2644
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt-acpi-build.c
M include/hw/acpi/acpi-defs.h
M include/hw/arm/virt-acpi-build.h
Log Message:
-----------
hw/arm/virt-acpi-build: name GIC CPU Interface Structure appropriately
Also move the enabled flag definition from mach-virt code to
acpi common.
Signed-off-by: Andrew Jones <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: aca4bbf4a36fcaff6b7dbe45e2fc5bcb6b2dc4ab
https://github.com/qemu/qemu/commit/aca4bbf4a36fcaff6b7dbe45e2fc5bcb6b2dc4ab
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt-acpi-build.c
M include/hw/acpi/acpi-defs.h
Log Message:
-----------
hw/arm/virt-acpi-build: gtdt: improve flag naming
Also remove all unused flags.
Signed-off-by: Andrew Jones <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: 8c92c6a43e3d0aabe5bb81e5fb709d2791e9c4c4
https://github.com/qemu/qemu/commit/8c92c6a43e3d0aabe5bb81e5fb709d2791e9c4c4
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt-acpi-build.c
M include/hw/acpi/acpi-defs.h
Log Message:
-----------
hw/arm/virt-acpi-build: fadt: improve flag naming
Signed-off-by: Andrew Jones <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: 0127937b203a7fa87da34bf096faa23e7793cec6
https://github.com/qemu/qemu/commit/0127937b203a7fa87da34bf096faa23e7793cec6
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt.c
Log Message:
-----------
hw/arm/virt: parameter passing cleanups
Some simple cleanups made possible by "hw/arm/virt: Merge
VirtBoardInfo and VirtMachineState"
Signed-off-by: Andrew Jones <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 055a7f2b0aefdd6b75bf2866171c4fe11f9a9e00
https://github.com/qemu/qemu/commit/055a7f2b0aefdd6b75bf2866171c4fe11f9a9e00
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt.c
Log Message:
-----------
hw/arm/virt: use VirtMachineState.gic_version
machvirt_init may need to probe for the gic version. If so, then
make sure the result is written to VirtMachineState. With the
state up to date, use it instead of a local variable. This is a
cleanup that prepares for VirtMachineState to be passed to functions
even outside hw/arm/virt.c
Signed-off-by: Andrew Jones <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 054f4dc961490b81139304106e4312c356303a6f
https://github.com/qemu/qemu/commit/054f4dc961490b81139304106e4312c356303a6f
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt.c
M include/hw/arm/virt-acpi-build.h
Log Message:
-----------
hw/arm/virt: eliminate struct VirtGuestInfoState
Instead of allocating a new struct just for VirtGuestInfo and the
machine_done Notifier, place them inside VirtMachineState. This
is the mach-virt equivalent of "pc: Eliminate struct
PcGuestInfoState"
Suggested-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andrew Jones <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: d05fdab46d9c5a33654de1bd54fca375347341ce
https://github.com/qemu/qemu/commit/d05fdab46d9c5a33654de1bd54fca375347341ce
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M MAINTAINERS
M hw/arm/virt-acpi-build.c
M hw/arm/virt.c
R include/hw/arm/virt-acpi-build.h
M include/hw/arm/virt.h
Log Message:
-----------
hw/arm/virt: remove include/hw/arm/virt-acpi-build.h
include/hw/arm/virt-acpi-build.h is only used for VirtGuestInfo,
which doesn't even necessarily have to be ACPI specific. Move
VirtGuestInfo to include/hw/arm/virt.h, allowing us to remove
include/hw/arm/virt-acpi-build.h, and to prepare for even more
code motion.
Signed-off-by: Andrew Jones <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: a72d4363875ed086acedab657d34f6fc82a7d8aa
https://github.com/qemu/qemu/commit/a72d4363875ed086acedab657d34f6fc82a7d8aa
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt.c
M include/hw/arm/virt.h
Log Message:
-----------
hw/arm/virt: move VirtMachineState/Class to virt.h
In preparation to share more Virt machine state than just guest-info
with other mach-virt source files, move the State and Class structures
to virt.h
Signed-off-by: Andrew Jones <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: e9a8e474fbdedca787623f0c55f7b6e9cb97bdfc
https://github.com/qemu/qemu/commit/e9a8e474fbdedca787623f0c55f7b6e9cb97bdfc
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt-acpi-build.c
M hw/arm/virt.c
M include/hw/arm/virt.h
Log Message:
-----------
hw/arm/virt: pass VirtMachineState instead of VirtGuestInfo
Only two functions take VirtGuestInfo parameters. Now that guest-info
is part of VirtMachineState, and VirtMachineState is defined in the
virt header, pass that instead.
Signed-off-by: Andrew Jones <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: da4f09a7dce6878b6fd27a0fb70d08701551df17
https://github.com/qemu/qemu/commit/da4f09a7dce6878b6fd27a0fb70d08701551df17
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt-acpi-build.c
M hw/arm/virt.c
M include/hw/arm/virt.h
Log Message:
-----------
hw/arm/virt-acpi-build: remove redundant members from VirtGuestInfo
Now that we pass VirtMachineState, and guest-info is just part of
that state, we can remove all the redundant members and access
the VirtMachineState directly.
Signed-off-by: Andrew Jones <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 4dad9e7478ec9614f7c1cbe2ff5c5f5101acd6e2
https://github.com/qemu/qemu/commit/4dad9e7478ec9614f7c1cbe2ff5c5f5101acd6e2
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt-acpi-build.c
Log Message:
-----------
hw/arm/virt-acpi-build: don't save VirtGuestInfo on AcpiBuildState
We can get to VirtMachineState without the need for saving a pointer
on AcpiBuildState. This is the mach-virt equivalent to "acpi: Don't save
PcGuestInfo on AcpiBuildState"
Signed-off-by: Andrew Jones <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: af1f60a4022664b0169f9d10a3f7d732e8571617
https://github.com/qemu/qemu/commit/af1f60a4022664b0169f9d10a3f7d732e8571617
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt-acpi-build.c
M hw/arm/virt.c
M include/hw/arm/virt.h
Log Message:
-----------
hw/arm/virt: remove VirtGuestInfo
by moving VirtGuestInfo.fw_cfg to VirtMachineState. This is the
mach-virt equivalent of "pc: Move PcGuestInfo.fw_cfg to
PCMachineState" and "pc: Eliminate PcGuestInfo struct" combined.
Signed-off-by: Andrew Jones <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: 8dd845d3c434cf2c799e0f86a1b53b33057b61ab
https://github.com/qemu/qemu/commit/8dd845d3c434cf2c799e0f86a1b53b33057b61ab
Author: Andrew Jones <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/arm/virt-acpi-build.c
M include/hw/acpi/acpi-defs.h
Log Message:
-----------
hw/arm/virt-acpi-build: Don't incorrectly claim architectural timer to be
edge-triggered
This is the ACPI equivalent to "hw/arm/virt: Don't incorrectly claim
architectural timer to be edge-triggered" which fixes the DT for
machine types 2.9 and later.
Signed-off-by: Andrew Jones <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: 24cb2e0d57cea0cbc163f23fa47d530b35425a21
https://github.com/qemu/qemu/commit/24cb2e0d57cea0cbc163f23fa47d530b35425a21
Author: Jean-Christophe Dubois <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/block/m25p80.c
Log Message:
-----------
m25p80: don't let rogue SPI controllers cause buffer overruns
In normal operation we should never attempt to put more
data into the data[] array than it can hold. However if the
SPI controller connected to us misbehaves then it can send
us a sequence of commands that attempt this. Since the
controller might be in the guest (if the hardware does SPI
via bit-banging), catch the possible overrun conditions and
reset the flash internal state, logging them as guest errors.
Signed-off-by: Jean-Christophe Dubois <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
[PMM: rewrote commit message to be more exact about when
this can happen]
Signed-off-by: Peter Maydell <address@hidden>
Commit: 556899fc1965d82f5c4a3ba6a0be3b1193e2c4b2
https://github.com/qemu/qemu/commit/556899fc1965d82f5c4a3ba6a0be3b1193e2c4b2
Author: Jean-Christophe Dubois <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M hw/ssi/imx_spi.c
Log Message:
-----------
hw/ssi/imx_spi.c: Remove MSGDATA register support
>From the documentation it is not clear what this SPI register is about.
Moreover, neither linux driver nor xvisor driver are using this SPI register.
For now we just remove it and issue a log on register write access.
Signed-off-by: Jean-Christophe Dubois <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: 8305f9bdf7ca41ee5cabe018fb37b73472c1162d
https://github.com/qemu/qemu/commit/8305f9bdf7ca41ee5cabe018fb37b73472c1162d
Author: Peter Maydell <address@hidden>
Date: 2017-01-09 (Mon, 09 Jan 2017)
Changed paths:
M MAINTAINERS
M hw/arm/pxa2xx.c
M hw/arm/tosa.c
M hw/arm/virt-acpi-build.c
M hw/arm/virt.c
M hw/arm/z2.c
M hw/audio/wm8750.c
M hw/block/m25p80.c
M hw/char/exynos4210_uart.c
M hw/display/ssd0303.c
M hw/gpio/max7310.c
M hw/i2c/core.c
M hw/i2c/i2c-ddc.c
M hw/i2c/smbus.c
M hw/input/lm832x.c
M hw/misc/tmp105.c
M hw/ssi/imx_spi.c
M hw/timer/ds1338.c
M hw/timer/twl92230.c
M include/hw/acpi/acpi-defs.h
R include/hw/arm/virt-acpi-build.h
M include/hw/arm/virt.h
M include/hw/i2c/i2c.h
Log Message:
-----------
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170109'
into staging
target-arm queue:
* i2c: Allow I2C devices to NAK start events
* hw/char: QOM'ify exynos4210_uart.c
* clean up and refactor virt-acpi-build.c
* virt-acpi-build: Don't incorrectly claim architectural timer
to be edge-triggered
* m25p80: Don't let rogue SPI controllers cause buffer overruns
* imx_spi: Remove broken MSGDATA register support
# gpg: Signature made Mon 09 Jan 2017 11:52:49 GMT
# gpg: using RSA key 0x3C2525ED14360CDE
# gpg: Good signature from "Peter Maydell <address@hidden>"
# gpg: aka "Peter Maydell <address@hidden>"
# gpg: aka "Peter Maydell <address@hidden>"
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE
* remotes/pmaydell/tags/pull-target-arm-20170109: (21 commits)
hw/ssi/imx_spi.c: Remove MSGDATA register support
m25p80: don't let rogue SPI controllers cause buffer overruns
hw/arm/virt-acpi-build: Don't incorrectly claim architectural timer to be
edge-triggered
hw/arm/virt: remove VirtGuestInfo
hw/arm/virt-acpi-build: don't save VirtGuestInfo on AcpiBuildState
hw/arm/virt-acpi-build: remove redundant members from VirtGuestInfo
hw/arm/virt: pass VirtMachineState instead of VirtGuestInfo
hw/arm/virt: move VirtMachineState/Class to virt.h
hw/arm/virt: remove include/hw/arm/virt-acpi-build.h
hw/arm/virt: eliminate struct VirtGuestInfoState
hw/arm/virt: use VirtMachineState.gic_version
hw/arm/virt: parameter passing cleanups
hw/arm/virt-acpi-build: fadt: improve flag naming
hw/arm/virt-acpi-build: gtdt: improve flag naming
hw/arm/virt-acpi-build: name GIC CPU Interface Structure appropriately
hw/arm/virt-acpi-build: add all missing cpu_to_le's
hw/arm/virt: Don't incorrectly claim architectural timer to be edge-triggered
hw/arm/virt: Rename 'vbi' variables to 'vms'
hw/arm/virt: Merge VirtBoardInfo and VirtMachineState
hw/char: QOM'ify exynos4210_uart.c
...
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/ffe22bf51065...8305f9bdf7ca
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] d307c2: i2c: Allow I2C devices to NAK start events,
GitHub <=