mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
target-arm queue:
* Various code cleanups * More refactoring working towards allowing a build without CONFIG_TCG -----BEGIN PGP SIGNATURE----- iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmP8ty0ZHHBldGVyLm1h eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3na0EACToAEGC4/iFigdKD7ZwG3F FvoDcMRRSdElcSo7BTDrFBBOH5/BYhorUq+mVpPvEYADXNaPOCmXWieSJpu68sJC VpVLPMhGS8lTsT16C2vB/4Lh4t8pJgs7aej90nqKk2rGgKw4ZNwMS+7Eg6n2lKf/ V27+O+drJxgYzO6feveuKtIQXsHkx4//DNOCDPLLvrrOk+1NWnyPyT/UDxV/emyr KLBbeXqcNhPkn7xZtvM7WARSHZcqhEPBkIAJG2H9HE4imxNm8d8ADZjEMbfE9ZNE MDanpM6BYYDWw4y2A8J5QmbiLu3znH8RWmWHww1v6UQ7qyBCLx+HyEGKipGd3Eoe 48hi/ktsAJUb1lRrk9gOJ+NsokGINzI5urFOReUh1q6+5us0Q0VpwjyVvhi8REy3 5gOMDC7O2zH+bLN08kseDXfc7vR9wLrIHqMloMgJzpjG5KcL67nVCPHcOwxe0sfn 0SYWUY0UFNSYgEGBG6JfM6LiM1lRREzlw6YnnaJ+GUf/jdIUbMV6PKpL34TGLeQ3 xEWrKV0+PMoWHwN0Pdo1tMXm7mc/9H27Mf7hB5k0Hp3dfQ7nIdkfnFA2YEUSxIQt OXYsKLTJmO/4XIAYCHhIOncPTmM6KWNQajDJMIuEdYYV67Xb88EIv5Hg8q6tS/mN uuQfun3Z2UbAtGvzN5Yx1w== =K0Vo -----END PGP SIGNATURE----- Merge tag 'pull-target-arm-20230227' of https://git.linaro.org/people/pmaydell/qemu-arm into staging target-arm queue: * Various code cleanups * More refactoring working towards allowing a build without CONFIG_TCG # -----BEGIN PGP SIGNATURE----- # # iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmP8ty0ZHHBldGVyLm1h # eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3na0EACToAEGC4/iFigdKD7ZwG3F # FvoDcMRRSdElcSo7BTDrFBBOH5/BYhorUq+mVpPvEYADXNaPOCmXWieSJpu68sJC # VpVLPMhGS8lTsT16C2vB/4Lh4t8pJgs7aej90nqKk2rGgKw4ZNwMS+7Eg6n2lKf/ # V27+O+drJxgYzO6feveuKtIQXsHkx4//DNOCDPLLvrrOk+1NWnyPyT/UDxV/emyr # KLBbeXqcNhPkn7xZtvM7WARSHZcqhEPBkIAJG2H9HE4imxNm8d8ADZjEMbfE9ZNE # MDanpM6BYYDWw4y2A8J5QmbiLu3znH8RWmWHww1v6UQ7qyBCLx+HyEGKipGd3Eoe # 48hi/ktsAJUb1lRrk9gOJ+NsokGINzI5urFOReUh1q6+5us0Q0VpwjyVvhi8REy3 # 5gOMDC7O2zH+bLN08kseDXfc7vR9wLrIHqMloMgJzpjG5KcL67nVCPHcOwxe0sfn # 0SYWUY0UFNSYgEGBG6JfM6LiM1lRREzlw6YnnaJ+GUf/jdIUbMV6PKpL34TGLeQ3 # xEWrKV0+PMoWHwN0Pdo1tMXm7mc/9H27Mf7hB5k0Hp3dfQ7nIdkfnFA2YEUSxIQt # OXYsKLTJmO/4XIAYCHhIOncPTmM6KWNQajDJMIuEdYYV67Xb88EIv5Hg8q6tS/mN # uuQfun3Z2UbAtGvzN5Yx1w== # =K0Vo # -----END PGP SIGNATURE----- # gpg: Signature made Mon 27 Feb 2023 13:59:09 GMT # 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] # gpg: aka "Peter Maydell <peter@archaic.org.uk>" [ultimate] # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE * tag 'pull-target-arm-20230227' of https://git.linaro.org/people/pmaydell/qemu-arm: (25 commits) hw: Replace qemu_or_irq typedef by OrIRQState hw/or-irq: Declare QOM macros using OBJECT_DECLARE_SIMPLE_TYPE() hw/irq: Declare QOM macros using OBJECT_DECLARE_SIMPLE_TYPE() iothread: Remove unused IOThreadClass / IOTHREAD_CLASS hw/arm/musicpal: Remove unused dummy MemoryRegion hw/intc/armv7m_nvic: Use QOM cast CPU() macro hw/timer/cmsdk-apb-timer: Remove unused 'qdev-properties.h' header hw/char/cmsdk-apb-uart: Open-code cmsdk_apb_uart_create() hw/char/xilinx_uartlite: Open-code xilinx_uartlite_create() hw/char/xilinx_uartlite: Expose XILINX_UARTLITE QOM type hw/char/pl011: Open-code pl011_luminary_create() hw/char/pl011: Un-inline pl011_create() hw/gpio/max7310: Simplify max7310_realize() tests/avocado: add machine:none tag to version.py cpu-defs.h: Expose CPUTLBEntryFull to non-TCG code target/arm: Don't access TCG code when debugging with KVM target/arm: Move regime_using_lpae_format into internal.h target/arm: Move hflags code into the tcg directory target/arm: Wrap arm_rebuild_hflags calls with tcg_enabled target/arm: Move psci.c into the tcg directory ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
e1f9f73ba1
82 changed files with 918 additions and 875 deletions
|
@ -1,9 +1,7 @@
|
|||
#ifndef HW_ARM_ALLWINNER_A10_H
|
||||
#define HW_ARM_ALLWINNER_A10_H
|
||||
|
||||
#include "hw/char/serial.h"
|
||||
#include "hw/arm/boot.h"
|
||||
#include "hw/pci/pci_device.h"
|
||||
#include "hw/timer/allwinner-a10-pit.h"
|
||||
#include "hw/intc/allwinner-a10-pic.h"
|
||||
#include "hw/net/allwinner_emac.h"
|
||||
|
|
|
@ -155,12 +155,12 @@ struct ARMSSE {
|
|||
TZPPC apb_ppc[NUM_INTERNAL_PPCS];
|
||||
TZMPC mpc[IOTS_NUM_MPC];
|
||||
CMSDKAPBTimer timer[3];
|
||||
qemu_or_irq ppc_irq_orgate;
|
||||
OrIRQState ppc_irq_orgate;
|
||||
SplitIRQ sec_resp_splitter;
|
||||
SplitIRQ ppc_irq_splitter[NUM_PPCS];
|
||||
SplitIRQ mpc_irq_splitter[IOTS_NUM_EXP_MPC + IOTS_NUM_MPC];
|
||||
qemu_or_irq mpc_irq_orgate;
|
||||
qemu_or_irq nmi_orgate;
|
||||
OrIRQState mpc_irq_orgate;
|
||||
OrIRQState nmi_orgate;
|
||||
|
||||
SplitIRQ cpu_irq_splitter[NUM_SSE_IRQS];
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ struct BCM2835PeripheralState {
|
|||
BCM2835AuxState aux;
|
||||
BCM2835FBState fb;
|
||||
BCM2835DMAState dma;
|
||||
qemu_or_irq orgated_dma_irq;
|
||||
OrIRQState orgated_dma_irq;
|
||||
BCM2835ICState ic;
|
||||
BCM2835PropertyState property;
|
||||
BCM2835RngState rng;
|
||||
|
|
|
@ -96,8 +96,8 @@ struct Exynos4210State {
|
|||
MemoryRegion boot_secondary;
|
||||
MemoryRegion bootreg_mem;
|
||||
I2CBus *i2c_if[EXYNOS4210_I2C_NUMBER];
|
||||
qemu_or_irq pl330_irq_orgate[EXYNOS4210_NUM_DMA];
|
||||
qemu_or_irq cpu_irq_orgate[EXYNOS4210_NCPUS];
|
||||
OrIRQState pl330_irq_orgate[EXYNOS4210_NUM_DMA];
|
||||
OrIRQState cpu_irq_orgate[EXYNOS4210_NCPUS];
|
||||
A9MPPrivState a9mpcore;
|
||||
Exynos4210GicState ext_gic;
|
||||
Exynos4210CombinerState int_combiner;
|
||||
|
|
|
@ -63,7 +63,7 @@ struct STM32F205State {
|
|||
STM32F2XXADCState adc[STM_NUM_ADCS];
|
||||
STM32F2XXSPIState spi[STM_NUM_SPIS];
|
||||
|
||||
qemu_or_irq *adc_irqs;
|
||||
OrIRQState *adc_irqs;
|
||||
|
||||
MemoryRegion sram;
|
||||
MemoryRegion flash;
|
||||
|
|
|
@ -63,7 +63,7 @@ struct STM32F405State {
|
|||
STM32F4xxExtiState exti;
|
||||
STM32F2XXUsartState usart[STM_NUM_USARTS];
|
||||
STM32F2XXTimerState timer[STM_NUM_TIMERS];
|
||||
qemu_or_irq adc_irqs;
|
||||
OrIRQState adc_irqs;
|
||||
STM32F2XXADCState adc[STM_NUM_ADCS];
|
||||
STM32F2XXSPIState spi[STM_NUM_SPIS];
|
||||
|
||||
|
|
|
@ -85,7 +85,7 @@ struct Versal {
|
|||
} rpu;
|
||||
|
||||
struct {
|
||||
qemu_or_irq irq_orgate;
|
||||
OrIRQState irq_orgate;
|
||||
XlnxXramCtrl ctrl[XLNX_VERSAL_NR_XRAM];
|
||||
} xram;
|
||||
|
||||
|
@ -103,7 +103,7 @@ struct Versal {
|
|||
XlnxCSUDMA dma_src;
|
||||
XlnxCSUDMA dma_dst;
|
||||
MemoryRegion linear_mr;
|
||||
qemu_or_irq irq_orgate;
|
||||
OrIRQState irq_orgate;
|
||||
} ospi;
|
||||
} iou;
|
||||
|
||||
|
@ -113,7 +113,7 @@ struct Versal {
|
|||
XlnxVersalEFuseCtrl efuse_ctrl;
|
||||
XlnxVersalEFuseCache efuse_cache;
|
||||
|
||||
qemu_or_irq apb_irq_orgate;
|
||||
OrIRQState apb_irq_orgate;
|
||||
} pmc;
|
||||
|
||||
struct {
|
||||
|
|
|
@ -130,7 +130,7 @@ struct XlnxZynqMPState {
|
|||
XlnxZDMA gdma[XLNX_ZYNQMP_NUM_GDMA_CH];
|
||||
XlnxZDMA adma[XLNX_ZYNQMP_NUM_ADMA_CH];
|
||||
XlnxCSUDMA qspi_dma;
|
||||
qemu_or_irq qspi_irq_orgate;
|
||||
OrIRQState qspi_irq_orgate;
|
||||
XlnxZynqMPAPUCtrl apu_ctrl;
|
||||
XlnxZynqMPCRF crf;
|
||||
CadenceTTCState ttc[XLNX_ZYNQMP_NUM_TTC];
|
||||
|
|
|
@ -12,10 +12,8 @@
|
|||
#ifndef CMSDK_APB_UART_H
|
||||
#define CMSDK_APB_UART_H
|
||||
|
||||
#include "hw/qdev-properties.h"
|
||||
#include "hw/sysbus.h"
|
||||
#include "chardev/char-fe.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
#define TYPE_CMSDK_APB_UART "cmsdk-apb-uart"
|
||||
|
@ -45,36 +43,4 @@ struct CMSDKAPBUART {
|
|||
uint8_t rxbuf;
|
||||
};
|
||||
|
||||
/**
|
||||
* cmsdk_apb_uart_create - convenience function to create TYPE_CMSDK_APB_UART
|
||||
* @addr: location in system memory to map registers
|
||||
* @chr: Chardev backend to connect UART to, or NULL if no backend
|
||||
* @pclk_frq: frequency in Hz of the PCLK clock (used for calculating baud rate)
|
||||
*/
|
||||
static inline DeviceState *cmsdk_apb_uart_create(hwaddr addr,
|
||||
qemu_irq txint,
|
||||
qemu_irq rxint,
|
||||
qemu_irq txovrint,
|
||||
qemu_irq rxovrint,
|
||||
qemu_irq uartint,
|
||||
Chardev *chr,
|
||||
uint32_t pclk_frq)
|
||||
{
|
||||
DeviceState *dev;
|
||||
SysBusDevice *s;
|
||||
|
||||
dev = qdev_new(TYPE_CMSDK_APB_UART);
|
||||
s = SYS_BUS_DEVICE(dev);
|
||||
qdev_prop_set_chr(dev, "chardev", chr);
|
||||
qdev_prop_set_uint32(dev, "pclk-frq", pclk_frq);
|
||||
sysbus_realize_and_unref(s, &error_fatal);
|
||||
sysbus_mmio_map(s, 0, addr);
|
||||
sysbus_connect_irq(s, 0, txint);
|
||||
sysbus_connect_irq(s, 1, rxint);
|
||||
sysbus_connect_irq(s, 2, txovrint);
|
||||
sysbus_connect_irq(s, 3, rxovrint);
|
||||
sysbus_connect_irq(s, 4, uartint);
|
||||
return dev;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -15,10 +15,8 @@
|
|||
#ifndef HW_PL011_H
|
||||
#define HW_PL011_H
|
||||
|
||||
#include "hw/qdev-properties.h"
|
||||
#include "hw/sysbus.h"
|
||||
#include "chardev/char-fe.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
#define TYPE_PL011 "pl011"
|
||||
|
@ -57,38 +55,6 @@ struct PL011State {
|
|||
const unsigned char *id;
|
||||
};
|
||||
|
||||
static inline DeviceState *pl011_create(hwaddr addr,
|
||||
qemu_irq irq,
|
||||
Chardev *chr)
|
||||
{
|
||||
DeviceState *dev;
|
||||
SysBusDevice *s;
|
||||
|
||||
dev = qdev_new("pl011");
|
||||
s = SYS_BUS_DEVICE(dev);
|
||||
qdev_prop_set_chr(dev, "chardev", chr);
|
||||
sysbus_realize_and_unref(s, &error_fatal);
|
||||
sysbus_mmio_map(s, 0, addr);
|
||||
sysbus_connect_irq(s, 0, irq);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
static inline DeviceState *pl011_luminary_create(hwaddr addr,
|
||||
qemu_irq irq,
|
||||
Chardev *chr)
|
||||
{
|
||||
DeviceState *dev;
|
||||
SysBusDevice *s;
|
||||
|
||||
dev = qdev_new("pl011_luminary");
|
||||
s = SYS_BUS_DEVICE(dev);
|
||||
qdev_prop_set_chr(dev, "chardev", chr);
|
||||
sysbus_realize_and_unref(s, &error_fatal);
|
||||
sysbus_mmio_map(s, 0, addr);
|
||||
sysbus_connect_irq(s, 0, irq);
|
||||
|
||||
return dev;
|
||||
}
|
||||
DeviceState *pl011_create(hwaddr addr, qemu_irq irq, Chardev *chr);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -15,25 +15,9 @@
|
|||
#ifndef XILINX_UARTLITE_H
|
||||
#define XILINX_UARTLITE_H
|
||||
|
||||
#include "hw/qdev-properties.h"
|
||||
#include "hw/sysbus.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
static inline DeviceState *xilinx_uartlite_create(hwaddr addr,
|
||||
qemu_irq irq,
|
||||
Chardev *chr)
|
||||
{
|
||||
DeviceState *dev;
|
||||
SysBusDevice *s;
|
||||
|
||||
dev = qdev_new("xlnx.xps-uartlite");
|
||||
s = SYS_BUS_DEVICE(dev);
|
||||
qdev_prop_set_chr(dev, "chardev", chr);
|
||||
sysbus_realize_and_unref(s, &error_fatal);
|
||||
sysbus_mmio_map(s, 0, addr);
|
||||
sysbus_connect_irq(s, 0, irq);
|
||||
|
||||
return dev;
|
||||
}
|
||||
#define TYPE_XILINX_UARTLITE "xlnx.xps-uartlite"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(XilinxUARTLite, XILINX_UARTLITE)
|
||||
|
||||
#endif
|
||||
|
|
|
@ -35,10 +35,7 @@
|
|||
*/
|
||||
#define MAX_OR_LINES 48
|
||||
|
||||
typedef struct OrIRQState qemu_or_irq;
|
||||
|
||||
DECLARE_INSTANCE_CHECKER(qemu_or_irq, OR_IRQ,
|
||||
TYPE_OR_IRQ)
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(OrIRQState, OR_IRQ)
|
||||
|
||||
struct OrIRQState {
|
||||
DeviceState parent_obj;
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#ifndef CMSDK_APB_TIMER_H
|
||||
#define CMSDK_APB_TIMER_H
|
||||
|
||||
#include "hw/qdev-properties.h"
|
||||
#include "hw/sysbus.h"
|
||||
#include "hw/ptimer.h"
|
||||
#include "hw/clock.h"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue