[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 461c51: Add a phy-num property to the i.MX FE
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 461c51: Add a phy-num property to the i.MX FEC emulator |
Date: |
Sat, 04 Jul 2020 10:45:22 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 461c51ad4275f199d4b6ff400f39701541529e39
https://github.com/qemu/qemu/commit/461c51ad4275f199d4b6ff400f39701541529e39
Author: Jean-Christophe Dubois <jcd@tribudubois.net>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/net/imx_fec.c
M hw/net/trace-events
M include/hw/net/imx_fec.h
Log Message:
-----------
Add a phy-num property to the i.MX FEC emulator
We need a solution to use an Ethernet PHY that is not the first device
on the MDIO bus (device 0 on MDIO bus).
As an example with the i.MX6UL the NXP SOC has 2 Ethernet devices but
only one MDIO bus on which the 2 related PHY are connected but at unique
addresses.
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net>
Message-id:
a1a5c0e139d1c763194b8020573dcb6025daeefa.1593296112.git.jcd@tribudubois.net
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 456914afc6348e57441bb80e9f0cc4396b26dcbd
https://github.com/qemu/qemu/commit/456914afc6348e57441bb80e9f0cc4396b26dcbd
Author: Jean-Christophe Dubois <jcd@tribudubois.net>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/fsl-imx6ul.c
M include/hw/arm/fsl-imx6ul.h
Log Message:
-----------
Add the ability to select a different PHY for each i.MX6UL FEC interface
Add properties to the i.MX6UL processor to be able to select a
particular PHY on the MDIO bus for each FEC device.
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net>
Message-id:
ea1d604198b6b73ea6521676e45bacfc597aba53.1593296112.git.jcd@tribudubois.net
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 6552bbc6a3de22f0d975091a07f180e7baf1915b
https://github.com/qemu/qemu/commit/6552bbc6a3de22f0d975091a07f180e7baf1915b
Author: Jean-Christophe Dubois <jcd@tribudubois.net>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/mcimx6ul-evk.c
Log Message:
-----------
Select MDIO device 2 and 1 as PHY devices for i.MX6UL EVK board.
The i.MX6UL EVK 14x14 board uses:
- PHY 2 for FEC 1
- PHY 1 for FEC 2
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net>
Message-id:
fb41992126c091a71d76ab3d1898959091f60583.1593296112.git.jcd@tribudubois.net
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: f78069253ccf25c64e19e9889b98e499336f6c6e
https://github.com/qemu/qemu/commit/f78069253ccf25c64e19e9889b98e499336f6c6e
Author: Eric Auger <eric.auger@redhat.com>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/core/qdev-properties.c
M include/exec/memory.h
M include/hw/qdev-properties.h
M include/qemu/typedefs.h
Log Message:
-----------
qdev: Introduce DEFINE_PROP_RESERVED_REGION
Introduce a new property defining a reserved region:
<low address>:<high address>:<type>.
This will be used to encode reserved IOVA regions.
For instance, in virtio-iommu use case, reserved IOVA regions
will be passed by the machine code to the virtio-iommu-pci
device (an array of those). The type of the reserved region
will match the virtio_iommu_probe_resv_mem subtype value:
- VIRTIO_IOMMU_RESV_MEM_T_RESERVED (0)
- VIRTIO_IOMMU_RESV_MEM_T_MSI (1)
on PC/Q35 machine, this will be used to inform the
virtio-iommu-pci device it should bypass the MSI region.
The reserved region will be: 0xfee00000:0xfeefffff:1.
On ARM, we can declare the ITS MSI doorbell as an MSI
region to prevent MSIs from being mapped on guest side.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-id: 20200629070404.10969-2-eric.auger@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 1733eebb9e75b77120b462814f8f9b03ae918a7a
https://github.com/qemu/qemu/commit/1733eebb9e75b77120b462814f8f9b03ae918a7a
Author: Eric Auger <eric.auger@redhat.com>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/virtio/trace-events
M hw/virtio/virtio-iommu.c
M include/hw/virtio/virtio-iommu.h
Log Message:
-----------
virtio-iommu: Implement RESV_MEM probe request
This patch implements the PROBE request. At the moment,
only THE RESV_MEM property is handled. The first goal is
to report iommu wide reserved regions such as the MSI regions
set by the machine code. On x86 this will be the IOAPIC MSI
region, [0xFEE00000 - 0xFEEFFFFF], on ARM this may be the ITS
doorbell.
In the future we may introduce per device reserved regions.
This will be useful when protecting host assigned devices
which may expose their own reserved regions
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-id: 20200629070404.10969-3-eric.auger@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 0f5a3092eef7a210e0503b561a4c0ccb98705c7f
https://github.com/qemu/qemu/commit/0f5a3092eef7a210e0503b561a4c0ccb98705c7f
Author: Eric Auger <eric.auger@redhat.com>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/virtio/virtio-iommu.c
Log Message:
-----------
virtio-iommu: Handle reserved regions in the translation process
When translating an address we need to check if it belongs to
a reserved virtual address range. If it does, there are 2 cases:
- it belongs to a RESERVED region: the guest should neither use
this address in a MAP not instruct the end-point to DMA on
them. We report an error
- It belongs to an MSI region: we bypass the translation.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-id: 20200629070404.10969-4-eric.auger@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 8077b8e549cf39d9501fe5b66342ae47abb65058
https://github.com/qemu/qemu/commit/8077b8e549cf39d9501fe5b66342ae47abb65058
Author: Eric Auger <eric.auger@redhat.com>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/virtio/virtio-iommu-pci.c
Log Message:
-----------
virtio-iommu-pci: Add array of Interval properties
The machine may need to pass reserved regions to the
virtio-iommu-pci device (such as the MSI window on x86
or the MSI doorbells on ARM).
So let's add an array of Interval properties.
Note: if some reserved regions are already set by the
machine code - which should be the case in general -,
the length of the property array is already set and
prevents the end-user from modifying them. For example,
attempting to use:
-device virtio-iommu-pci,\
len-reserved-regions=1,reserved-regions[0]=0xfee00000:0xfeefffff:1
would result in the following error message:
qemu-system-aarch64: -device virtio-iommu-pci,addr=0xa,
len-reserved-regions=1,reserved-regions[0]=0xfee00000:0xfeefffff:1:
array size property len-reserved-regions may not be set more than once
Otherwise, for example, adding two reserved regions is achieved
using the following options:
-device virtio-iommu-pci,addr=0xa,len-reserved-regions=2,\
reserved-regions[0]=0xfee00000:0xfeefffff:1,\
reserved-regions[1]=0x1000000:100ffff:1
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Peter Xu <peterx@redhat.com>
Message-id: 20200629070404.10969-5-eric.auger@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 1b6f99d84f21473cf2d1adab312dd28dd315a083
https://github.com/qemu/qemu/commit/1b6f99d84f21473cf2d1adab312dd28dd315a083
Author: Eric Auger <eric.auger@redhat.com>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/virt.c
M include/hw/arm/virt.h
Log Message:
-----------
hw/arm/virt: Let the virtio-iommu bypass MSIs
At the moment the virtio-iommu translates MSI transactions.
This behavior is inherited from ARM SMMU. The virt machine
code knows where the guest MSI doorbells are so we can easily
declare those regions as VIRTIO_IOMMU_RESV_MEM_T_MSI. With that
setting the guest will not map MSIs through the IOMMU and those
transactions will be simply bypassed.
Depending on which MSI controller is in use (ITS or GICV2M),
we declare either:
- the ITS interrupt translation space (ITS_base + 0x10000),
containing the GITS_TRANSLATOR or
- The GICV2M single frame, containing the MSI_SETSP_NS register.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20200629070404.10969-6-eric.auger@redhat.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 694bcaa81f41b7fc5e07273debe1dc309b3dcf03
https://github.com/qemu/qemu/commit/694bcaa81f41b7fc5e07273debe1dc309b3dcf03
Author: Beata Michalska <beata.michalska@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M target/arm/kvm.c
Log Message:
-----------
target/arm: kvm: Handle DABT with no valid ISS
On ARMv7 & ARMv8 some load/store instructions might trigger a data abort
exception with no valid ISS info to be decoded. The lack of decode info
makes it at least tricky to emulate those instruction which is one of the
(many) reasons why KVM will not even try to do so.
Add support for handling those by requesting KVM to inject external
dabt into the quest.
Signed-off-by: Beata Michalska <beata.michalska@linaro.org>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Message-id: 20200629114110.30723-2-beata.michalska@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 1711bfa5f5b2b108901813f57246c9ff4a44a50f
https://github.com/qemu/qemu/commit/1711bfa5f5b2b108901813f57246c9ff4a44a50f
Author: Beata Michalska <beata.michalska@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M target/arm/cpu.h
M target/arm/kvm.c
M target/arm/kvm32.c
M target/arm/kvm64.c
M target/arm/kvm_arm.h
Log Message:
-----------
target/arm: kvm: Handle misconfigured dabt injection
Injecting external data abort through KVM might trigger
an issue on kernels that do not get updated to include the KVM fix.
For those and aarch32 guests, the injected abort gets misconfigured
to be an implementation defined exception. This leads to the guest
repeatedly re-running the faulting instruction.
Add support for handling that case.
[
Fixed-by: 018f22f95e8a
('KVM: arm: Fix DFSR setting for non-LPAE aarch32 guests')
Fixed-by: 21aecdbd7f3a
('KVM: arm: Make inject_abt32() inject an external abort instead')
]
Signed-off-by: Beata Michalska <beata.michalska@linaro.org>
Acked-by: Andrew Jones <drjones@redhat.com>
Message-id: 20200629114110.30723-3-beata.michalska@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 4be3de38efc15eecbc14348356d5b4ca9aa92258
https://github.com/qemu/qemu/commit/4be3de38efc15eecbc14348356d5b4ca9aa92258
Author: Andrew Jones <drjones@redhat.com>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests/acpi: remove stale allowed tables
Fixes: 93dd625f8bf7 ("tests/acpi: update expected data files")
Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20200629140938.17566-2-drjones@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 50824a8c45dc07e0f67b32e65d0190cc2e83c397
https://github.com/qemu/qemu/commit/50824a8c45dc07e0f67b32e65d0190cc2e83c397
Author: Andrew Jones <drjones@redhat.com>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests/acpi: virt: allow DSDT acpi table changes
Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20200629140938.17566-3-drjones@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 2c1fb4d5c0110a994ec6aeb3e57d36fe3aefdad2
https://github.com/qemu/qemu/commit/2c1fb4d5c0110a994ec6aeb3e57d36fe3aefdad2
Author: Andrew Jones <drjones@redhat.com>
Date: 2020-07-03 (Fri, 03 Jul 2020)
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: Only expose flash on older machine types
The flash device is exclusively for the host-controlled firmware, so
we should not expose it to the OS. Exposing it risks the OS messing
with it, which could break firmware runtime services and surprise the
OS when all its changes disappear after reboot.
As firmware needs the device and uses DT, we leave the device exposed
there. It's up to firmware to remove the nodes from DT before sending
it on to the OS. However, there's no need to force firmware to remove
tables from ACPI (which it doesn't know how to do anyway), so we
simply don't add the tables in the first place. But, as we've been
adding the tables for quite some time and don't want to change the
default hardware exposed to versioned machines, then we only stop
exposing the flash device tables for 5.1 and later machine types.
Suggested-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Suggested-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Message-id: 20200629140938.17566-4-drjones@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 7fb3949d1f2365548a1d0e64e685642309029494
https://github.com/qemu/qemu/commit/7fb3949d1f2365548a1d0e64e685642309029494
Author: Andrew Jones <drjones@redhat.com>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M tests/data/acpi/virt/DSDT
M tests/data/acpi/virt/DSDT.memhp
M tests/data/acpi/virt/DSDT.numamem
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests/acpi: virt: update golden masters for DSDT
Differences between disassembled ASL files for DSDT:
@@ -5,13 +5,13 @@
*
* Disassembling to symbolic ASL+ operators
*
- * Disassembly of a, Mon Jun 29 09:50:01 2020
+ * Disassembly of b, Mon Jun 29 09:50:03 2020
*
* Original Table Header:
* Signature "DSDT"
- * Length 0x000014BB (5307)
+ * Length 0x00001455 (5205)
* Revision 0x02
- * Checksum 0xD1
+ * Checksum 0xE1
* OEM ID "BOCHS "
* OEM Table ID "BXPCDSDT"
* OEM Revision 0x00000001 (1)
@@ -45,32 +45,6 @@
})
}
- Device (FLS0)
- {
- Name (_HID, "LNRO0015") // _HID: Hardware ID
- Name (_UID, Zero) // _UID: Unique ID
- Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
- {
- Memory32Fixed (ReadWrite,
- 0x00000000, // Address Base
- 0x04000000, // Address Length
- )
- })
- }
-
- Device (FLS1)
- {
- Name (_HID, "LNRO0015") // _HID: Hardware ID
- Name (_UID, One) // _UID: Unique ID
- Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
- {
- Memory32Fixed (ReadWrite,
- 0x04000000, // Address Base
- 0x04000000, // Address Length
- )
- })
- }
-
Device (FWCF)
{
Name (_HID, "QEMU0002") // _HID: Hardware ID
The other two binaries have the same changes (the removal of the
flash devices).
Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Message-id: 20200629140938.17566-5-drjones@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: 4b4dc9750a0aa0b9766bd755bf6512a84744ce8a
https://github.com/qemu/qemu/commit/4b4dc9750a0aa0b9766bd755bf6512a84744ce8a
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M target/arm/translate-a64.c
M target/arm/translate-a64.h
M target/arm/translate-sve.c
Log Message:
-----------
target/arm: Fix temp double-free in sve ldr/str
The temp that gets assigned to clean_addr has been allocated with
new_tmp_a64, which means that it will be freed at the end of the
instruction. Freeing it earlier leads to assertion failure.
The loop creates a complication, in which we allocate a new local
temp, which does need freeing, and the final code path is shared
between the loop and non-loop.
Fix this complication by adding new_tmp_a64_local so that the new
local temp is freed at the end, and can be treated exactly like
the non-loop path.
Fixes: bba87d0a0f4
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200702175605.1987125-1-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: e757db25aa3406e9098ae999a469d56c370f4447
https://github.com/qemu/qemu/commit/e757db25aa3406e9098ae999a469d56c370f4447
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/display/bcm2835_fb.c
Log Message:
-----------
hw/display/bcm2835_fb.c: Initialize all fields of struct
In bcm2835_fb_mbox_push(), Coverity complains (CID 1429989) that we
pass a pointer to a local struct to another function without
initializing all its fields. This is a real bug:
bcm2835_fb_reconfigure() copies the whole of our new BCM2385FBConfig
struct into s->config, so any fields we don't initialize will corrupt
the state of the device.
Copy the two fields which we don't want to update (pixo and alpha)
from the existing config so we don't accidentally change them.
Fixes: cfb7ba983857e40e88
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200628195436.27582-1-peter.maydell@linaro.org
Commit: f6319db25d6f8f46d407f6fd267d74a3ce52cb7a
https://github.com/qemu/qemu/commit/f6319db25d6f8f46d407f6fd267d74a3ce52cb7a
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/spitz.c
Log Message:
-----------
hw/arm/spitz: Detabify
The spitz board has been around a long time, and still has a fair number
of hard-coded tab characters in it. We're about to do some work on
this source file, so start out by expanding out the tabs.
This commit is a pure whitespace only change.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-2-peter.maydell@linaro.org
Commit: e3d986da47c8163175c6c09b217ae45a935b0933
https://github.com/qemu/qemu/commit/e3d986da47c8163175c6c09b217ae45a935b0933
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/spitz.c
Log Message:
-----------
hw/arm/spitz: Create SpitzMachineClass abstract base class
For the four Spitz-family machines (akita, borzoi, spitz, terrier)
create a proper abstract class SpitzMachineClass which encapsulates
the common behaviour, rather than having them all derive directly
from TYPE_MACHINE:
* instead of each machine class setting mc->init to a wrapper
function which calls spitz_common_init() with parameters,
put that data in the SpitzMachineClass and make spitz_common_init
the SpitzMachineClass machine-init function
* move the settings of mc->block_default_type and
mc->ignore_memory_transaction_failures into the SpitzMachineClass
class init rather than repeating them in each machine's class init
(The motivation is that we're going to want to keep some state in
the SpitzMachineState so we can connect GPIOs between devices created
in one sub-function of the machine init to devices created in a
different sub-function.)
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200628142429.17111-3-peter.maydell@linaro.org
Commit: 39854425d7bb4a8b95829ac50ab92ff338eb7851
https://github.com/qemu/qemu/commit/39854425d7bb4a8b95829ac50ab92ff338eb7851
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/spitz.c
Log Message:
-----------
hw/arm/spitz: Keep pointers to MPU and SSI devices in SpitzMachineState
Keep pointers to the MPU and the SSI devices in SpitzMachineState.
We're going to want to make GPIO connections between some of the
SSI devices and the SCPs, so we want to keep hold of a pointer to
those; putting the MPU into the struct allows us to pass just
one thing to spitz_ssp_attach() rather than two.
We have to retain the setting of the global "max1111" variable
for the moment as it is used in spitz_adc_temp_on(); later in
this series of commits we will be able to remove it.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-4-peter.maydell@linaro.org
Commit: ffe7f90698099f0f702154492df05cf6a14c6b62
https://github.com/qemu/qemu/commit/ffe7f90698099f0f702154492df05cf6a14c6b62
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/spitz.c
Log Message:
-----------
hw/arm/spitz: Keep pointers to scp0, scp1 in SpitzMachineState
Keep pointers to scp0, scp1 in SpitzMachineState, and just pass
that to spitz_scoop_gpio_setup().
(We'll want to use some of the other fields in SpitzMachineState
in that function in the next commit.)
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-5-peter.maydell@linaro.org
Commit: 2e354c028a282b1bae56154ed52ac80746eb24b3
https://github.com/qemu/qemu/commit/2e354c028a282b1bae56154ed52ac80746eb24b3
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/spitz.c
Log Message:
-----------
hw/arm/spitz: Implement inbound GPIO lines for bit5 and power signals
Currently the Spitz board uses a nasty hack for the GPIO lines
that pass "bit5" and "power" information to the LCD controller:
the lcdtg realize function sets a global variable to point to
the instance it just realized, and then the functions spitz_bl_power()
and spitz_bl_bit5() use that to find the device they are changing
the internal state of. There is a comment reading:
FIXME: Implement GPIO properly and remove this hack.
which was added in 2009.
Implement GPIO properly and remove this hack.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-6-peter.maydell@linaro.org
Commit: b064d51f6022c49ceab73c46e84ae05f9f704732
https://github.com/qemu/qemu/commit/b064d51f6022c49ceab73c46e84ae05f9f704732
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/misc/max111x.c
Log Message:
-----------
hw/misc/max111x: provide QOM properties for setting initial values
Add some QOM properties to the max111x ADC device to allow the
initial values to be configured. Currently this is done by
board code calling max111x_set_input() after it creates the
device, which doesn't work on system reset.
This requires us to implement a reset method for this device,
so while we're doing that make sure we reset the other parts
of the device state.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-7-peter.maydell@linaro.org
Commit: 40d9d2f7682c789404ed5b249012ac44f9e6ea8f
https://github.com/qemu/qemu/commit/40d9d2f7682c789404ed5b249012ac44f9e6ea8f
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/misc/max111x.c
Log Message:
-----------
hw/misc/max111x: Don't use vmstate_register()
The max111x is a proper qdev device; we can use dc->vmsd rather than
directly calling vmstate_register().
It's possible that this is a migration compat break, but the only
boards that use this device are the spitz-family ('akita', 'borzoi',
'spitz', 'terrier').
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-8-peter.maydell@linaro.org
Commit: 581e109d5836f5166d15a01c43e18632f93357c5
https://github.com/qemu/qemu/commit/581e109d5836f5166d15a01c43e18632f93357c5
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/ssi/ssi.c
M include/hw/ssi/ssi.h
Log Message:
-----------
ssi: Add ssi_realize_and_unref()
Add an ssi_realize_and_unref(), for the benefit of callers
who want to be able to create an SSI device, set QOM properties
on it, and then do the realize-and-unref afterwards.
The API works on the same principle as the recently added
qdev_realize_and_undef(), sysbus_realize_and_undef(), etc.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-9-peter.maydell@linaro.org
Commit: 4aed7b51c298e5497ff0d3d7d584f3c53acc9f3f
https://github.com/qemu/qemu/commit/4aed7b51c298e5497ff0d3d7d584f3c53acc9f3f
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/spitz.c
Log Message:
-----------
hw/arm/spitz: Use max111x properties to set initial values
Use the new max111x qdev properties to set the initial input
values rather than calling max111x_set_input(); this means that
on system reset the inputs will correctly return to their initial
values.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200628142429.17111-10-peter.maydell@linaro.org
Commit: 871f82722ccddf8886acf19989289072bc73e873
https://github.com/qemu/qemu/commit/871f82722ccddf8886acf19989289072bc73e873
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/spitz.c
M hw/misc/max111x.c
M include/hw/ssi/ssi.h
Log Message:
-----------
hw/misc/max111x: Use GPIO lines rather than max111x_set_input()
The max111x ADC device model allows other code to set the level on
the 8 ADC inputs using the max111x_set_input() function. Replace
this with generic qdev GPIO inputs, which also allow inputs to be set
to arbitrary values.
Using GPIO lines will make it easier for board code to wire things
up, so that if device A wants to set the ADC input it doesn't need to
have a direct pointer to the max111x but can just set that value on
its output GPIO, which is then wired up by the board to the
appropriate max111x input.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-11-peter.maydell@linaro.org
Commit: 3029681235b492026739b831a24a75d1e94e7be5
https://github.com/qemu/qemu/commit/3029681235b492026739b831a24a75d1e94e7be5
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M MAINTAINERS
M hw/arm/spitz.c
M hw/misc/max111x.c
A include/hw/misc/max111x.h
Log Message:
-----------
hw/misc/max111x: Create header file for documentation, TYPE_ macros
Create a header file for the hw/misc/max111x device, in the
usual modern style for QOM devices:
* definition of the TYPE_ constants and macros
* definition of the device's state struct so that it can
be embedded in other structs if desired
* documentation of the interface
This allows us to use TYPE_MAX_1111 in the spitz.c code rather
than the string "max1111".
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200628142429.17111-12-peter.maydell@linaro.org
Commit: eb2dc887a4c71d9e4efd0861fcf7094d0df9df99
https://github.com/qemu/qemu/commit/eb2dc887a4c71d9e4efd0861fcf7094d0df9df99
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/spitz.c
Log Message:
-----------
hw/arm/spitz: Encapsulate misc GPIO handling in a device
Currently we have a free-floating set of IRQs and a function
spitz_out_switch() which handle some miscellaneous GPIO lines for the
spitz board. Encapsulate this behaviour in a simple QOM device.
At this point we can finally remove the 'max1111' global, because the
ADC battery-temperature value is now handled by the misc-gpio device
writing the value to its outbound "adc-temp" GPIO, which the board
code wires up to the appropriate inbound GPIO line on the max1111.
This commit also fixes Coverity issue CID 1421913 (which pointed out
that the 'outsignals' in spitz_scoop_gpio_setup() were leaked),
because it removes the use of the qemu_allocate_irqs() API from this
code entirely.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-13-peter.maydell@linaro.org
Commit: a0a8cf78e0e1bdb8923ea1466518ea24be323292
https://github.com/qemu/qemu/commit/a0a8cf78e0e1bdb8923ea1466518ea24be323292
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/spitz.c
M hw/gpio/zaurus.c
M include/hw/arm/sharpsl.h
Log Message:
-----------
hw/gpio/zaurus.c: Use LOG_GUEST_ERROR for bad guest register accesses
Instead of logging guest accesses to invalid register offsets in this
device using zaurus_printf() (which just prints to stderr), use the
usual qemu_log_mask(LOG_GUEST_ERROR,...).
Since this was the only use of the zaurus_printf() macro outside
spitz.c, we can move the definition of that macro from sharpsl.h
to spitz.c.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-14-peter.maydell@linaro.org
Commit: eb2d6dbc98404be76c0ebbad69a623599d163f94
https://github.com/qemu/qemu/commit/eb2d6dbc98404be76c0ebbad69a623599d163f94
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/spitz.c
Log Message:
-----------
hw/arm/spitz: Use LOG_GUEST_ERROR for bad guest register accesses
Instead of logging guest accesses to invalid register offsets in the
Spitz flash device with zaurus_printf() (which just prints to stderr),
use the usual qemu_log_mask(LOG_GUEST_ERROR,...).
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-15-peter.maydell@linaro.org
Commit: e53652ebeaba50e4cc54608ac5e2fe1b8b8717dc
https://github.com/qemu/qemu/commit/e53652ebeaba50e4cc54608ac5e2fe1b8b8717dc
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/pxa2xx_pic.c
M include/hw/arm/pxa.h
Log Message:
-----------
hw/arm/pxa2xx_pic: Use LOG_GUEST_ERROR for bad guest register accesses
Instead of using printf() for logging guest accesses to invalid
register offsets in the pxa2xx PIC device, use the usual
qemu_log_mask(LOG_GUEST_ERROR,...).
This was the only user of the REG_FMT macro in pxa.h, so we can
remove that.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-16-peter.maydell@linaro.org
Commit: 62a4d34020197e16e54ec79f7991a6acaedfecf6
https://github.com/qemu/qemu/commit/62a4d34020197e16e54ec79f7991a6acaedfecf6
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/spitz.c
Log Message:
-----------
hw/arm/spitz: Provide usual QOM macros for corgi-ssp and spitz-lcdtg
The QOM types "spitz-lcdtg" and "corgi-ssp" are missing the
usual QOM TYPE and casting macros; provide and use them.
In particular, we can safely use the QOM cast macros instead of
FROM_SSI_SLAVE() because in both cases the 'ssidev' field of
the instance state struct is the first field in it.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-17-peter.maydell@linaro.org
Commit: 213f63df77b08dc47dcb3df215749b46fd4d9e8c
https://github.com/qemu/qemu/commit/213f63df77b08dc47dcb3df215749b46fd4d9e8c
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M hw/arm/z2.c
M hw/display/ads7846.c
M hw/display/ssd0323.c
M hw/sd/ssi-sd.c
M include/hw/ssi/ssi.h
Log Message:
-----------
Replace uses of FROM_SSI_SLAVE() macro with QOM casts
The FROM_SSI_SLAVE() macro predates QOM and is used as a typesafe way
to cast from an SSISlave* to the instance struct of a subtype of
TYPE_SSI_SLAVE. Switch to using the QOM cast macros instead, which
have the same effect (by writing the QOM macros if the types were
previously missing them.)
(The FROM_SSI_SLAVE() macro allows the SSISlave member of the
subtype's struct to be anywhere as long as it is named "ssidev",
whereas a QOM cast macro insists that it is the first thing in the
subtype's struct. This is true for all the types we convert here.)
This removes all the uses of FROM_SSI_SLAVE() so we can delete the
definition.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200628142429.17111-18-peter.maydell@linaro.org
Commit: 0f10bf84a9d489259a5b11c6aa1b05c1175b76ea
https://github.com/qemu/qemu/commit/0f10bf84a9d489259a5b11c6aa1b05c1175b76ea
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-03 (Fri, 03 Jul 2020)
Changed paths:
M docs/system/deprecated.rst
Log Message:
-----------
Deprecate TileGX port
Deprecate our TileGX target support:
* we have no active maintainer for it
* it has had essentially no contributions (other than tree-wide cleanups
and similar) since it was first added
* the Linux kernel dropped support in 2018, as has glibc
Note the deprecation in the manual, but don't try to print a warning
when QEMU runs -- printing unsuppressable messages is more obtrusive
for linux-user mode than it would be for system-emulation mode, and
it doesn't seem worth trying to invent a new suppressible-error
system for linux-user just for this.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-id: 20200619154831.26319-1-peter.maydell@linaro.org
Commit: eb6490f544388dd24c0d054a96dd304bc7284450
https://github.com/qemu/qemu/commit/eb6490f544388dd24c0d054a96dd304bc7284450
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-07-04 (Sat, 04 Jul 2020)
Changed paths:
M MAINTAINERS
M docs/system/deprecated.rst
M hw/arm/fsl-imx6ul.c
M hw/arm/mcimx6ul-evk.c
M hw/arm/pxa2xx_pic.c
M hw/arm/spitz.c
M hw/arm/virt-acpi-build.c
M hw/arm/virt.c
M hw/arm/z2.c
M hw/core/qdev-properties.c
M hw/display/ads7846.c
M hw/display/bcm2835_fb.c
M hw/display/ssd0323.c
M hw/gpio/zaurus.c
M hw/misc/max111x.c
M hw/net/imx_fec.c
M hw/net/trace-events
M hw/sd/ssi-sd.c
M hw/ssi/ssi.c
M hw/virtio/trace-events
M hw/virtio/virtio-iommu-pci.c
M hw/virtio/virtio-iommu.c
M include/exec/memory.h
M include/hw/arm/fsl-imx6ul.h
M include/hw/arm/pxa.h
M include/hw/arm/sharpsl.h
M include/hw/arm/virt.h
A include/hw/misc/max111x.h
M include/hw/net/imx_fec.h
M include/hw/qdev-properties.h
M include/hw/ssi/ssi.h
M include/hw/virtio/virtio-iommu.h
M include/qemu/typedefs.h
M target/arm/cpu.h
M target/arm/kvm.c
M target/arm/kvm32.c
M target/arm/kvm64.c
M target/arm/kvm_arm.h
M target/arm/translate-a64.c
M target/arm/translate-a64.h
M target/arm/translate-sve.c
M tests/data/acpi/virt/DSDT
M tests/data/acpi/virt/DSDT.memhp
M tests/data/acpi/virt/DSDT.numamem
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200703'
into staging
target-arm queue:
* i.MX6UL EVK board: put PHYs in the correct places
* hw/arm/virt: Let the virtio-iommu bypass MSIs
* target/arm: kvm: Handle DABT with no valid ISS
* hw/arm/virt-acpi-build: Only expose flash on older machine types
* target/arm: Fix temp double-free in sve ldr/str
* hw/display/bcm2835_fb.c: Initialize all fields of struct
* hw/arm/spitz: Code cleanup to fix Coverity-detected memory leak
* Deprecate TileGX port
# gpg: Signature made Fri 03 Jul 2020 17:53:05 BST
# gpg: using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg: issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
# gpg: aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
# gpg: aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>"
[ultimate]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE
* remotes/pmaydell/tags/pull-target-arm-20200703: (34 commits)
Deprecate TileGX port
Replace uses of FROM_SSI_SLAVE() macro with QOM casts
hw/arm/spitz: Provide usual QOM macros for corgi-ssp and spitz-lcdtg
hw/arm/pxa2xx_pic: Use LOG_GUEST_ERROR for bad guest register accesses
hw/arm/spitz: Use LOG_GUEST_ERROR for bad guest register accesses
hw/gpio/zaurus.c: Use LOG_GUEST_ERROR for bad guest register accesses
hw/arm/spitz: Encapsulate misc GPIO handling in a device
hw/misc/max111x: Create header file for documentation, TYPE_ macros
hw/misc/max111x: Use GPIO lines rather than max111x_set_input()
hw/arm/spitz: Use max111x properties to set initial values
ssi: Add ssi_realize_and_unref()
hw/misc/max111x: Don't use vmstate_register()
hw/misc/max111x: provide QOM properties for setting initial values
hw/arm/spitz: Implement inbound GPIO lines for bit5 and power signals
hw/arm/spitz: Keep pointers to scp0, scp1 in SpitzMachineState
hw/arm/spitz: Keep pointers to MPU and SSI devices in SpitzMachineState
hw/arm/spitz: Create SpitzMachineClass abstract base class
hw/arm/spitz: Detabify
hw/display/bcm2835_fb.c: Initialize all fields of struct
target/arm: Fix temp double-free in sve ldr/str
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/0b100c8e72c5...eb6490f54438
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 461c51: Add a phy-num property to the i.MX FEC emulator,
Peter Maydell <=