BALATON Zoltan
f9f0c9e2fa
vt82c686: Add emulation of VT8231 south bridge
...
Add emulation of VT8231 south bridge ISA part based on the similar
VT82C686B but implemented in a separate subclass that holds the
differences while reusing parts that can be shared.
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <10abc9f89854e7c980b9731c33d25a2e307e9c4f.1616680239.git.balaton@eik.bme.hu >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-04 11:41:25 +10:00
BALATON Zoltan
2e84e107a0
vt82c686: Introduce abstract TYPE_VIA_ISA and base vt82c686b_isa on it
...
To allow reusing ISA bridge emulation for vt8231_isa move the device
state of vt82c686b_isa emulation in an abstract via_isa class. This
change breaks migration back compatibility but this is not an issue
for Fuloong2E machine which is not versioned or migration supported.
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <0cb8fc69c7aaa555589181931b881335fecd2ef3.1616680239.git.balaton@eik.bme.hu >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-04 11:41:25 +10:00
BALATON Zoltan
ab74864fed
vt82c686: Add VT8231_SUPERIO based on VIA_SUPERIO
...
The VT8231 south bridge is very similar to VT82C686B but there are
some differences in register addresses and functionality, e.g. the
VT8231 only has one serial port. This commit adds VT8231_SUPERIO
subclass based on the abstract VIA_SUPERIO class to emulate the
superio part of VT8231.
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <8108809321f9ecf3fb1aea22ddaeccc7c3a57c8e.1616680239.git.balaton@eik.bme.hu >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-04 11:41:25 +10:00
BALATON Zoltan
f028c2ded2
vt82c686: QOM-ify superio related functionality
...
Collect superio functionality and its controlling config registers
handling in an abstract VIA_SUPERIO class that is a subclass of
ISA_SUPERIO and put vt82c686b specific parts in a subclass of this
abstract class.
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu >
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Message-Id: <fbcc8cc8baf83f327612a1ef1c14bcbcdb0e7edb.1616680239.git.balaton@eik.bme.hu >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-04 11:41:25 +10:00
Richard Henderson
e81f17a3f6
hw/ppc/spapr_rtas: Update hflags after setting msr
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210315184615.1985590-16-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-04 11:41:24 +10:00
Richard Henderson
bd4160bc6a
hw/ppc/pnv_core: Update hflags after setting msr
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210315184615.1985590-15-richard.henderson@linaro.org >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-04 11:41:24 +10:00
Philippe Mathieu-Daudé
03b3542ac9
hw/ppc/mac_newworld: Restrict RAM to 2 GiB
...
On Mac99 and newer machines, the Uninorth PCI host bridge maps
the PCI hole region at 2GiB, so the RAM area beside 2GiB is not
accessible by the CPU. Restrict the memory to 2GiB to avoid
problems such the one reported in the buglink.
Buglink: https://bugs.launchpad.net/qemu/+bug/1922391
Reported-by: Håvard Eidnes <he@NetBSD.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210406084842.2859664-1-f4bug@amsat.org >
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au >
2021-05-04 11:41:24 +10:00
Philippe Mathieu-Daudé
9197b5d4b5
hw/rx/rx-gdbsim: Do not accept invalid memory size
...
We check the amount of RAM is enough, warn when it is
not, but if so we neglect to bail out. Fix that by
adding the missing exit() call.
Fixes: bda19d7bb5
("hw/rx: Add RX GDB simulator")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp >
Message-Id: <20210407223056.1870497-1-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-03 10:07:41 +02:00
Gan Qixin
76d79cf3d5
mc146818rtc: put it into the 'misc' category
...
The category of the mc146818rtc device is not set, put it into the 'misc'
category.
Signed-off-by: Gan Qixin <ganqixin@huawei.com >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Message-Id: <20201130083630.2520597-6-ganqixin@huawei.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:51 +02:00
Thomas Huth
ee86213aa3
Do not include exec/address-spaces.h if it's not really necessary
...
Stop including exec/address-spaces.h in files that don't need it.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Message-Id: <20210416171314.2074665-5-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:51 +02:00
Thomas Huth
2068cabd3f
Do not include cpu.h if it's not really necessary
...
Stop including cpu.h in files that don't need it.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Message-Id: <20210416171314.2074665-4-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:51 +02:00
Thomas Huth
ead62c75f6
Do not include hw/boards.h if it's not really necessary
...
Stop including hw/boards.h in files that don't need it.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Message-Id: <20210416171314.2074665-3-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:51 +02:00
Thomas Huth
4c386f8064
Do not include sysemu/sysemu.h if it's not really necessary
...
Stop including sysemu/sysemu.h in files that don't need it.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Message-Id: <20210416171314.2074665-2-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Thomas Huth
19f4ed3652
hw: Do not include qemu/log.h if it is not necessary
...
Many files include qemu/log.h without needing it. Remove the superfluous
include statements.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Message-Id: <20210328054833.2351597-1-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Thomas Huth
e924921f5c
hw: Do not include hw/irq.h if it is not necessary
...
Many files include hw/irq.h without needing it. Remove the superfluous
include statements.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Message-Id: <20210327050236.2232347-1-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Thomas Huth
f6527eadeb
hw: Do not include hw/sysbus.h if it is not necessary
...
Many files include hw/sysbus.h without needing it. Remove the superfluous
include statements.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210327082804.2259480-1-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Thomas Huth
e06054368c
hw: Remove superfluous includes of hw/hw.h
...
The include/hw/hw.h header only has a prototype for hw_error(),
so it does not make sense to include this in files that do not
use this function.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210326151848.2217216-1-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Philippe Mathieu-Daudé
db2dc7d8df
hw/usb: Constify VMStateDescription
...
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210313171150.2122409-4-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Philippe Mathieu-Daudé
54cbf294d3
hw/display/qxl: Constify VMStateDescription
...
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210313171150.2122409-3-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Philippe Mathieu-Daudé
cfa52e09c4
hw/arm: Constify VMStateDescription
...
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210313171150.2122409-2-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Keqian Zhu
ac701a4f98
vmstate: Constify some VMStateDescriptions
...
Constify vmstate_ecc_state and vmstate_x86_cpu.
Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210408140706.23412-1-zhukeqian1@huawei.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Philippe Mathieu-Daudé
32bec2eea2
hw/pcmcia: Do not register PCMCIA type if not required
...
If the Kconfig 'PCMCIA' value is not selected, it is pointless
to build the PCMCIA core components.
(Currently only one machine of the ARM targets requires this).
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210424222057.3434459-4-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Philippe Mathieu-Daudé
2a406e38e6
hw/ide: Add Kconfig dependency MICRODRIVE -> PCMCIA
...
The Microdrive Compact Flash can be plugged on a PCMCIA bus.
Express the dependency using the 'depends on' Kconfig expression.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210424222057.3434459-3-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Philippe Mathieu-Daudé
5c8ae30b24
hw/arm/pxa2xx: Declare PCMCIA bus with Kconfig
...
The Intel XScale PXA chipsets provide a PCMCIA controller,
which expose a PCMCIA bus. Express this dependency using
the Kconfig 'select' expression.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210424222057.3434459-2-f4bug@amsat.org >
[lv: remove "(IDE)"]
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Philippe Mathieu-Daudé
db6b6f4dbf
hw/mips: Restrict non-virtualized machines to TCG
...
Only the malta and loongson3-virt machines support KVM.
Restrict the other machines to TCG:
- mipssim
- magnum
- pica61
- fuloong2e
- boston
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210428170410.479308-30-f4bug@amsat.org >
2021-05-02 16:49:35 +02:00
Philippe Mathieu-Daudé
bcad139192
hw/isa/piix4: Use qdev_get_gpio_in_named() to get ISA IRQ
...
Since commit 078778c5a5
("piix4: Add an i8259 Interrupt Controller")
the TYPE_PIIX4_PCI_DEVICE exposes the ISA input IRQs as "isa" alias.
Use this alias to get IRQ for the power management PCI function.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210324182902.692419-1-f4bug@amsat.org >
2021-05-02 16:49:34 +02:00
Patrick Venture
9cccb912cf
aspeed: Add support for the quanta-q7l1-bmc board
...
The Quanta-Q71l BMC board is a board supported by OpenBMC.
Tested: Booted quanta-q71l firmware.
Signed-off-by: Patrick Venture <venture@google.com >
Reviewed-by: Hao Wu <wuhaotsh@google.com >
Reviewed-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210416162426.3217033-1-venture@google.com >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
d24aa3241a
hw/block: m25p80: Add support for mt25ql02g and mt25qu02g
...
The Micron mt25ql02g is a 3V 2Gb serial NOR flash memory supporting
dual I/O and quad I/O, 4KB, 32KB, 64KB sector erase. It also supports
4B opcodes. The mt25qu02g operates at 1.8V.
https://4donline.ihs.com/images/VipMasterIC/IC/MICT/MICT-S-A0008500026/MICT-S-A0008511423-1.pdf?hkey=52A5661711E402568146F3353EA87419
Cc: Alistair Francis <alistair.francis@wdc.com >
Cc: Francisco Iglesias <francisco.iglesias@xilinx.com >
Acked-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Francisco Iglesias <francisco.iglesias@xilinx.com >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
58e52bdb87
aspeed: Add support for the rainier-bmc board
...
The Rainier BMC board is a board for the middle range POWER10 IBM systems.
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Joel Stanley <joel@jms.id.au >
Message-Id: <20210407171637.777743-19-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
63a9c7e0a0
aspeed: Deprecate the swift-bmc machine
...
The SWIFT machine never came out of the lab and we already have enough
AST2500 based OpenPower machines.
Cc: Adriana Kobylak <anoo@us.ibm.com >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
1769a70e54
aspeed/smc: Add extra controls to request DMA
...
The AST2600 SPI controllers have a set of bits to request/grant DMA
access. Add a new SMC feature for these controllers and use it to
check access to the DMA registers.
Cc: Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Joel Stanley <joel@jms.id.au >
Message-Id: <20210407171637.777743-16-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
1c5ee69da5
aspeed/smc: Add a 'features' attribute to the object class
...
It will simplify extensions of the SMC model.
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Joel Stanley <joel@jms.id.au >
Message-Id: <20210407171637.777743-15-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
8efbee28f4
hw/misc/aspeed_xdma: Add AST2600 support
...
When we introduced support for the AST2600 SoC, the XDMA controller
was forgotten. It went unnoticed because it's not used under emulation.
But the register layout being different, the reset procedure is bogus
and this breaks kexec.
Add a AspeedXDMAClass to take into account the register differences.
Cc: Eddie James <eajames@linux.ibm.com >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Eddie James <eajames@linux.ibm.com >
Message-Id: <20210407171637.777743-14-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Joel Stanley
a3888d757a
aspeed: Integrate HACE
...
Add the hash and crypto engine model to the Aspeed socs.
Reviewed-by: Andrew Jeffery <andrew@aj.id.au >
Reviewed-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com >
Signed-off-by: Joel Stanley <joel@jms.id.au >
Message-Id: <20210409000253.1475587-3-joel@jms.id.au >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Joel Stanley
c5475b3f9a
hw: Model ASPEED's Hash and Crypto Engine
...
The HACE (Hash and Crypto Engine) is a device that offloads MD5, SHA1,
SHA2, RSA and other cryptographic algorithms.
This initial model implements a subset of the device's functionality;
currently only MD5/SHA hashing, and on the ast2600's scatter gather
engine.
Co-developed-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com >
Reviewed-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Joel Stanley <joel@jms.id.au >
Reviewed-by: Andrew Jeffery <andrew@aj.id.au >
[ clg: - fixes for 32-bit and OSX builds ]
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210409000253.1475587-2-joel@jms.id.au >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Philippe Mathieu-Daudé
e9c568dbc2
hw/arm/aspeed: Do not sysbus-map mmio flash region directly, use alias
...
The flash mmio region is exposed as an AddressSpace.
AddressSpaces must not be sysbus-mapped, therefore map
the region using an alias.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
[ clg : Fix DMA_FLASH_ADDR() ]
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210312182851.1922972-3-f4bug@amsat.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210407171637.777743-6-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Cédric Le Goater
3f7a53b224
aspeed/i2c: Rename DMA address space
...
It improves 'info mtree' output.
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210407171637.777743-5-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Cédric Le Goater
7492515909
aspeed/i2c: Fix DMA address mask
...
The RAM memory region is now used for DMAs accesses instead of the
memory address space region. Mask off the top bits of the DMA address
to reflect this change.
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210407171637.777743-4-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Cédric Le Goater
d177892d4a
aspeed/smc: Remove unused "sdram-base" property
...
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210407171637.777743-3-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Cédric Le Goater
0df2d9a673
aspeed/smc: Use the RAM memory region for DMAs
...
Instead of passing the memory address space region, simply use the RAM
memory region instead. This simplifies RAM accesses.
This patch breaks migration compatibility.
Fixes: c4e1f0b483
("aspeed/smc: Add support for DMAs")
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210407171637.777743-2-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Peter Maydell
f38d1ea497
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
...
Block layer patches
- Fix permission update order problems with block graph changes
- qemu-img convert: Unshare write permission for source
- vhost-user-blk: Fail gracefully on too large queue size
# gpg: Signature made Fri 30 Apr 2021 11:27:51 BST
# gpg: using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg: issuer "kwolf@redhat.com "
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com >" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6
* remotes/kevin/tags/for-upstream: (39 commits)
vhost-user-blk: Fail gracefully on too large queue size
qemu-img convert: Unshare write permission for source
block: Add BDRV_O_NO_SHARE for blk_new_open()
block: refactor bdrv_node_check_perm()
block: rename bdrv_replace_child_safe() to bdrv_replace_child()
block: refactor bdrv_child_set_perm_safe() transaction action
block: inline bdrv_replace_child()
block: inline bdrv_check_perm_common()
block: drop unused permission update functions
block: bdrv_reopen_multiple: refresh permissions on updated graph
block: bdrv_reopen_multiple(): move bdrv_flush to separate pre-prepare
block: add bdrv_set_backing_noperm() transaction action
block: make bdrv_refresh_limits() to be a transaction action
block: make bdrv_unset_inherits_from to be a transaction action
block: drop ignore_children for permission update functions
block/backup-top: drop .active
block: introduce bdrv_drop_filter()
block: add bdrv_remove_filter_or_cow transaction action
block: adapt bdrv_append() for inserting filters
block: split out bdrv_replace_node_noperm()
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-04-30 13:46:42 +01:00
Kevin Wolf
68bf733653
vhost-user-blk: Fail gracefully on too large queue size
...
virtio_add_queue() aborts when queue_size > VIRTQUEUE_MAX_SIZE, so
vhost_user_blk_device_realize() should check this before calling it.
Simple reproducer:
qemu-system-x86_64 \
-chardev null,id=foo \
-device vhost-user-blk-pci,queue-size=4096,chardev=foo
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1935014
Signed-off-by: Kevin Wolf <kwolf@redhat.com >
Message-Id: <20210413165654.50810-1-kwolf@redhat.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Kevin Wolf <kwolf@redhat.com >
2021-04-30 12:27:48 +02:00
Peter Maydell
a6091108aa
hw/pci-host/gpex: Don't fault for unmapped parts of MMIO and PIO windows
...
Currently the gpex PCI controller implements no special behaviour for
guest accesses to areas of the PIO and MMIO where it has not mapped
any PCI devices, which means that for Arm you end up with a CPU
exception due to a data abort.
Most host OSes expect "like an x86 PC" behaviour, where bad accesses
like this return -1 for reads and ignore writes. In the interests of
not being surprising, make host CPU accesses to these windows behave
as -1/discard where there's no mapped PCI device.
The old behaviour generally didn't cause any problems, because
almost always the guest OS will map the PCI devices and then only
access where it has mapped them. One corner case where you will see
this kind of access is if Linux attempts to probe legacy ISA
devices via a PIO window access. So far the only case where we've
seen this has been via the syzkaller fuzzer.
Reported-by: Dmitry Vyukov <dvyukov@google.com >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Acked-by: Michael S. Tsirkin <mst@redhat.com >
Message-id: 20210325163315.27724-1-peter.maydell@linaro.org
Fixes: https://bugs.launchpad.net/qemu/+bug/1918917
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-04-30 11:16:52 +01:00
Cornelia Huck
da7e13c00b
hw: add compat machines for 6.1
...
Add 6.1 machine types for arm/i440fx/q35/s390x/spapr.
Signed-off-by: Cornelia Huck <cohuck@redhat.com >
Acked-by: Greg Kurz <groug@kaod.org >
Message-id: 20210331111900.118274-1-cohuck@redhat.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-04-30 11:16:51 +01:00
Kunkun Jiang
bf559ee402
hw/arm/smmuv3: Support 16K translation granule
...
The driver can query some bits in SMMUv3 IDR5 to learn which
translation granules are supported. Arm recommends that SMMUv3
implementations support at least 4K and 64K granules. But in
the vSMMUv3, there seems to be no reason not to support 16K
translation granule. In addition, if 16K is not supported,
vSVA will failed to be enabled in the future for 16K guest
kernel. So it'd better to support it.
Signed-off-by: Kunkun Jiang <jiangkunkun@huawei.com >
Reviewed-by: Eric Auger <eric.auger@redhat.com >
Tested-by: Eric Auger <eric.auger@redhat.com >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-04-30 11:16:49 +01:00
Klaus Jensen
5351fb7cb2
hw/block/nvme: fix invalid msix exclusive uninit
...
Commit 1901b4967c
changed the nvme device from using a bar exclusive
for MSI-x to sharing it on bar0.
Unfortunately, the msix_uninit_exclusive_bar() call remains in
nvme_exit() which causes havoc when the device is removed with, say,
device_del. Fix this.
Additionally, a subregion is added but it is not removed on exit which
causes a reference to linger and the drive to never be unlocked.
Fixes: 1901b4967c
("hw/block/nvme: move msix table and pba to BAR 0")
Signed-off-by: Klaus Jensen <k.jensen@samsung.com >
Reviewed-by: Michael S. Tsirkin <mst@redhat.com >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-04-26 14:55:50 +01:00
Michael Tokarev
3791642c8d
mptsas: Remove unused MPTSASState 'pending' field (CVE-2021-3392)
...
While processing SCSI i/o requests in mptsas_process_scsi_io_request(),
the Megaraid emulator appends new MPTSASRequest object 'req' to
the 's->pending' queue. In case of an error, this same object gets
dequeued in mptsas_free_request() only if SCSIRequest object
'req->sreq' is initialised. This may lead to a use-after-free issue.
Since s->pending is actually not used, simply remove it from
MPTSASState.
Cc: qemu-stable@nongnu.org
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reported-by: Cheolwoo Myung <cwmyung@snu.ac.kr >
Message-id: 20210419134247.1467982-1-f4bug@amsat.org
Message-Id: <20210416102243.1293871-1-mjt@msgid.tls.msk.ru >
Suggested-by: Paolo Bonzini <pbonzini@redhat.com >
Reported-by: Cheolwoo Myung <cwmyung@snu.ac.kr >
BugLink: https://bugs.launchpad.net/qemu/+bug/1914236 (CVE-2021-3392)
Fixes: e351b82611
("hw: Add support for LSI SAS1068 (mptsas) device")
[PMD: Reworded description, added more tags]
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-04-19 15:48:12 +01:00
Peter Maydell
330ef14e6e
hw/arm/armsse: Make SSE-300 use Cortex-M55
...
The SSE-300 has a Cortex-M55 (which was the whole reason for us
modelling it), but we forgot to actually update the code to let it
have a different CPU type from the IoTKit and SSE-200. Add CPU type
as a field for ARMSSEInfo instead of hardcoding it to always use a
Cortex-M33.
Buglink: https://bugs.launchpad.net/qemu/+bug/1923861
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210416104010.13228-1-peter.maydell@linaro.org
2021-04-17 18:47:11 +01:00
Peter Maydell
1df0878cff
hw/arm/armsse: Give SSE-300 its own Property array
...
SSE-300 currently shares the SSE-200 Property array. This is
bad principally because the default values of the CPU0_FPU
and CPU0_DSP properties disable the FPU and DSP on the CPU.
That is correct for the SSE-200 but not the SSE-300.
Give the SSE-300 its own Property array with the correct
SSE-300 specific settings:
* SSE-300 has only one CPU, so no CPU1* properties
* SSE-300 CPU has FPU and DSP
Buglink: https://bugs.launchpad.net/qemu/+bug/1923861
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210415182353.8173-1-peter.maydell@linaro.org
2021-04-17 18:46:45 +01:00
Patrick Venture
065177eece
hw/i2c: add pca954x i2c-mux switch
...
The pca954x is an i2c mux, and this adds support for two variants of
this device: the pca9546 and pca9548.
This device is very common on BMCs to route a different channel to each
PCIe i2c bus downstream from the BMC.
Signed-off-by: Patrick Venture <venture@google.com >
Reviewed-by: Hao Wu <wuhaotsh@google.com >
Reviewed-by: Havard Skinnemoen <hskinnemoen@google.com >
Message-Id: <20210412194522.664594-5-venture@google.com >
Signed-off-by: Corey Minyard <cminyard@mvista.com >
2021-04-15 07:10:39 -05:00