mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 14:53:54 -06:00
Misc HW patch queue
- Remove unused MIPS SAAR* registers (Phil) - Remove warning when testing the TC58128 NAND EEPROM (Peter) - KConfig cleanups around ISA SuperI/O and MIPS (Paolo) - QDev API uses sanitization (Philippe) - Split AHCI model as PCI / SysBus (Philippe) - Add SMP support to SPARC Leon3 board (Clément) -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmXOUD4ACgkQ4+MsLN6t wN6gWRAAjf+6Z9VUvvHqZoaSJW49k+GRUelTI2tyN+eGfetAx9dk8aIbpbV1X12d pc56jsSi6ICT7baCegtxHszhYJr2e9A2QLCAOJt+Oz87kEGes3ONVVKAk7pwjKxt m8pmU3uXWgFvU6PoFBhGBa6LiZBulgLNXBUwzmEhc9PpPkR49ULdDp/qxtWvxOV5 xYBktFlkiT+AvHq3QWCnDIaw+pH5ghEq9BI4xFOvvvqSqdHEqsGAaiKPa9Po0Gfz Ap9qsm4FxKxhGoeQWtAIP8TvN3pFFSXMysziP6Xt1rffKsvF9ioghGKRM6BgQfqD ZetjcFbcf7dQu3zZVy8ljYcymMxfZcWWVVq4CMC68lPQE97hz1CT3PJjgd77dKfi z60uRkOGaiPW5iIGT9+vdQxZ5K3HivKyjuHOdV8V4HnWO3oqgfDtNHn5RKed0qUg g1FoWriJGsDixdx1vd0EoH2/oTxy4HIsFv7a1OjiZyBLjO+EeEZ3+H9pqUHqBxva +Dv70z9F1sv5dzcUXH+oCgTbnKlJ90Q+e3vj0wGdlBncVsgIwbtgqYelhUEl+xJX Mu6KNUo5ANVP38ZKG0GSMCZHfcUjc5s+5rG55NbTN0HiF56a6D2KlQAuXdUsGE1J 7i4cwipJmfxzbdPDlSb3kBxm5pFexEk6nROF9kTHQj3ZBMMvIls= =nOX+ -----END PGP SIGNATURE----- Merge tag 'hw-misc-20240215' of https://github.com/philmd/qemu into staging Misc HW patch queue - Remove unused MIPS SAAR* registers (Phil) - Remove warning when testing the TC58128 NAND EEPROM (Peter) - KConfig cleanups around ISA SuperI/O and MIPS (Paolo) - QDev API uses sanitization (Philippe) - Split AHCI model as PCI / SysBus (Philippe) - Add SMP support to SPARC Leon3 board (Clément) # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmXOUD4ACgkQ4+MsLN6t # wN6gWRAAjf+6Z9VUvvHqZoaSJW49k+GRUelTI2tyN+eGfetAx9dk8aIbpbV1X12d # pc56jsSi6ICT7baCegtxHszhYJr2e9A2QLCAOJt+Oz87kEGes3ONVVKAk7pwjKxt # m8pmU3uXWgFvU6PoFBhGBa6LiZBulgLNXBUwzmEhc9PpPkR49ULdDp/qxtWvxOV5 # xYBktFlkiT+AvHq3QWCnDIaw+pH5ghEq9BI4xFOvvvqSqdHEqsGAaiKPa9Po0Gfz # Ap9qsm4FxKxhGoeQWtAIP8TvN3pFFSXMysziP6Xt1rffKsvF9ioghGKRM6BgQfqD # ZetjcFbcf7dQu3zZVy8ljYcymMxfZcWWVVq4CMC68lPQE97hz1CT3PJjgd77dKfi # z60uRkOGaiPW5iIGT9+vdQxZ5K3HivKyjuHOdV8V4HnWO3oqgfDtNHn5RKed0qUg # g1FoWriJGsDixdx1vd0EoH2/oTxy4HIsFv7a1OjiZyBLjO+EeEZ3+H9pqUHqBxva # +Dv70z9F1sv5dzcUXH+oCgTbnKlJ90Q+e3vj0wGdlBncVsgIwbtgqYelhUEl+xJX # Mu6KNUo5ANVP38ZKG0GSMCZHfcUjc5s+5rG55NbTN0HiF56a6D2KlQAuXdUsGE1J # 7i4cwipJmfxzbdPDlSb3kBxm5pFexEk6nROF9kTHQj3ZBMMvIls= # =nOX+ # -----END PGP SIGNATURE----- # gpg: Signature made Thu 15 Feb 2024 17:56:14 GMT # gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full] # Primary key fingerprint: FAAB E75E 1291 7221 DCFD 6BB2 E3E3 2C2C DEAD C0DE * tag 'hw-misc-20240215' of https://github.com/philmd/qemu: (56 commits) hw/ide/ich9: Use AHCIPCIState typedef hw/ide/ahci: Move SysBus definitions to 'ahci-sysbus.h' hw/ide/ahci: Remove SysbusAHCIState::num_ports field hw/ide/ahci: Do not pass 'ports' argument to ahci_realize() hw/ide/ahci: Convert AHCIState::ports to unsigned hw/ide/ahci: Pass AHCI context to ahci_ide_create_devs() hw/ide/ahci: Inline ahci_get_num_ports() hw/ide/ahci: Rename AHCI PCI function as 'pdev' hw/ide/ahci: Expose AHCIPCIState structure hw/i386/q35: Use DEVICE() cast macro with PCIDevice object hw/i386/q35: Simplify pc_q35_init() since PCI is always enabled MAINTAINERS: Add myself as reviewer for TCG Plugins MAINTAINERS: replace Fabien by myself as Leon3 maintainer hw/sparc/leon3: Initialize GPIO before realizing CPU devices hw/sparc/leon3: Pass DeviceState opaque argument to leon3_start_cpu() hw/sparc/leon3: Pass DeviceState opaque argument to leon3_set_pil_in() hw/sparc/leon3: check cpu_id in the tiny bootloader hw/sparc/leon3: implement multiprocessor hw/sparc/leon3: remove SP initialization target/sparc: implement asr17 feature for smp ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
da96ad4a6a
59 changed files with 488 additions and 460 deletions
|
@ -5,7 +5,7 @@
|
|||
#include "hw/intc/allwinner-a10-pic.h"
|
||||
#include "hw/net/allwinner_emac.h"
|
||||
#include "hw/sd/allwinner-sdhost.h"
|
||||
#include "hw/ide/ahci.h"
|
||||
#include "hw/ide/ahci-sysbus.h"
|
||||
#include "hw/usb/hcd-ohci.h"
|
||||
#include "hw/usb/hcd-ehci.h"
|
||||
#include "hw/rtc/allwinner-rtc.h"
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#include "qom/object.h"
|
||||
#include "hw/timer/allwinner-a10-pit.h"
|
||||
#include "hw/ide/ahci.h"
|
||||
#include "hw/ide/ahci-sysbus.h"
|
||||
#include "hw/intc/arm_gic.h"
|
||||
#include "hw/sd/allwinner-sdhost.h"
|
||||
#include "hw/misc/allwinner-r40-ccu.h"
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include "hw/net/cadence_gem.h"
|
||||
#include "hw/char/cadence_uart.h"
|
||||
#include "hw/net/xlnx-zynqmp-can.h"
|
||||
#include "hw/ide/ahci.h"
|
||||
#include "hw/ide/ahci-sysbus.h"
|
||||
#include "hw/sd/sdhci.h"
|
||||
#include "hw/ssi/xilinx_spips.h"
|
||||
#include "hw/dma/xlnx_dpdma.h"
|
||||
|
|
32
include/hw/char/grlib_uart.h
Normal file
32
include/hw/char/grlib_uart.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* QEMU GRLIB UART
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
* Copyright (c) 2024 AdaCore
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef GRLIB_UART_H
|
||||
#define GRLIB_UART_H
|
||||
|
||||
#define TYPE_GRLIB_APB_UART "grlib-apbuart"
|
||||
|
||||
#endif
|
|
@ -45,6 +45,6 @@ struct I8257State {
|
|||
PortioList portio_pageh;
|
||||
};
|
||||
|
||||
void i8257_dma_init(ISABus *bus, bool high_page_enable);
|
||||
void i8257_dma_init(Object *parent, ISABus *bus, bool high_page_enable);
|
||||
|
||||
#endif
|
||||
|
|
22
include/hw/ide/ahci-pci.h
Normal file
22
include/hw/ide/ahci-pci.h
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* QEMU AHCI Emulation (PCI devices)
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
#ifndef HW_IDE_AHCI_PCI_H
|
||||
#define HW_IDE_AHCI_PCI_H
|
||||
|
||||
#include "qom/object.h"
|
||||
#include "hw/ide/ahci.h"
|
||||
#include "hw/pci/pci_device.h"
|
||||
|
||||
#define TYPE_ICH9_AHCI "ich9-ahci"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(AHCIPCIState, ICH9_AHCI)
|
||||
|
||||
struct AHCIPCIState {
|
||||
PCIDevice parent_obj;
|
||||
|
||||
AHCIState ahci;
|
||||
};
|
||||
|
||||
#endif
|
35
include/hw/ide/ahci-sysbus.h
Normal file
35
include/hw/ide/ahci-sysbus.h
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* QEMU AHCI Emulation (MMIO-mapped devices)
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
#ifndef HW_IDE_AHCI_SYSBUS_H
|
||||
#define HW_IDE_AHCI_SYSBUS_H
|
||||
|
||||
#include "qom/object.h"
|
||||
#include "hw/sysbus.h"
|
||||
#include "hw/ide/ahci.h"
|
||||
|
||||
#define TYPE_SYSBUS_AHCI "sysbus-ahci"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(SysbusAHCIState, SYSBUS_AHCI)
|
||||
|
||||
struct SysbusAHCIState {
|
||||
SysBusDevice parent_obj;
|
||||
|
||||
AHCIState ahci;
|
||||
};
|
||||
|
||||
#define TYPE_ALLWINNER_AHCI "allwinner-ahci"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(AllwinnerAHCIState, ALLWINNER_AHCI)
|
||||
|
||||
#define ALLWINNER_AHCI_MMIO_OFF 0x80
|
||||
#define ALLWINNER_AHCI_MMIO_SIZE 0x80
|
||||
|
||||
struct AllwinnerAHCIState {
|
||||
SysbusAHCIState parent_obj;
|
||||
|
||||
MemoryRegion mmio;
|
||||
uint32_t regs[ALLWINNER_AHCI_MMIO_SIZE / 4];
|
||||
};
|
||||
|
||||
#endif
|
|
@ -24,8 +24,7 @@
|
|||
#ifndef HW_IDE_AHCI_H
|
||||
#define HW_IDE_AHCI_H
|
||||
|
||||
#include "hw/sysbus.h"
|
||||
#include "qom/object.h"
|
||||
#include "exec/memory.h"
|
||||
|
||||
typedef struct AHCIDevice AHCIDevice;
|
||||
|
||||
|
@ -46,43 +45,12 @@ typedef struct AHCIState {
|
|||
MemoryRegion idp; /* Index-Data Pair I/O port space */
|
||||
unsigned idp_offset; /* Offset of index in I/O port space */
|
||||
uint32_t idp_index; /* Current IDP index */
|
||||
int32_t ports;
|
||||
uint32_t ports;
|
||||
qemu_irq irq;
|
||||
AddressSpace *as;
|
||||
} AHCIState;
|
||||
|
||||
|
||||
#define TYPE_ICH9_AHCI "ich9-ahci"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(AHCIPCIState, ICH9_AHCI)
|
||||
|
||||
int32_t ahci_get_num_ports(PCIDevice *dev);
|
||||
void ahci_ide_create_devs(PCIDevice *dev, DriveInfo **hd);
|
||||
|
||||
#define TYPE_SYSBUS_AHCI "sysbus-ahci"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(SysbusAHCIState, SYSBUS_AHCI)
|
||||
|
||||
struct SysbusAHCIState {
|
||||
/*< private >*/
|
||||
SysBusDevice parent_obj;
|
||||
/*< public >*/
|
||||
|
||||
AHCIState ahci;
|
||||
uint32_t num_ports;
|
||||
};
|
||||
|
||||
#define TYPE_ALLWINNER_AHCI "allwinner-ahci"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(AllwinnerAHCIState, ALLWINNER_AHCI)
|
||||
|
||||
#define ALLWINNER_AHCI_MMIO_OFF 0x80
|
||||
#define ALLWINNER_AHCI_MMIO_SIZE 0x80
|
||||
|
||||
struct AllwinnerAHCIState {
|
||||
/*< private >*/
|
||||
SysbusAHCIState parent_obj;
|
||||
/*< public >*/
|
||||
|
||||
MemoryRegion mmio;
|
||||
uint32_t regs[ALLWINNER_AHCI_MMIO_SIZE/4];
|
||||
};
|
||||
void ahci_ide_create_devs(AHCIState *ahci, DriveInfo **hd);
|
||||
|
||||
#endif /* HW_IDE_AHCI_H */
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
/*
|
||||
* QEMU GRLIB Components
|
||||
*
|
||||
* Copyright (c) 2010-2019 AdaCore
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
* Copyright (c) 2010-2024 AdaCore
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -22,8 +24,8 @@
|
|||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef GRLIB_H
|
||||
#define GRLIB_H
|
||||
#ifndef GRLIB_IRQMP_H
|
||||
#define GRLIB_IRQMP_H
|
||||
|
||||
#include "hw/sysbus.h"
|
||||
|
||||
|
@ -34,12 +36,6 @@
|
|||
/* IRQMP */
|
||||
#define TYPE_GRLIB_IRQMP "grlib-irqmp"
|
||||
|
||||
void grlib_irqmp_ack(DeviceState *dev, int intno);
|
||||
void grlib_irqmp_ack(DeviceState *dev, unsigned int cpu, int intno);
|
||||
|
||||
/* GPTimer */
|
||||
#define TYPE_GRLIB_GPTIMER "grlib-gptimer"
|
||||
|
||||
/* APB UART */
|
||||
#define TYPE_GRLIB_APB_UART "grlib-apbuart"
|
||||
|
||||
#endif /* GRLIB_H */
|
||||
#endif /* GRLIB_IRQMP_H */
|
|
@ -70,15 +70,9 @@ struct MIPSITUState {
|
|||
|
||||
/* ITU Control Register */
|
||||
uint64_t icr0;
|
||||
|
||||
/* SAAR */
|
||||
uint64_t *saar;
|
||||
ArchCPU *cpu0;
|
||||
};
|
||||
|
||||
/* Get ITC Configuration Tag memory region. */
|
||||
MemoryRegion *mips_itu_get_tag_region(MIPSITUState *itu);
|
||||
|
||||
void itc_reconfigure(struct MIPSITUState *tag);
|
||||
|
||||
#endif /* MIPS_ITU_H */
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
#include "hw/timer/renesas_tmr.h"
|
||||
#include "hw/timer/renesas_cmt.h"
|
||||
#include "hw/char/renesas_sci.h"
|
||||
#include "qemu/units.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
#define TYPE_RX62N_MCU "rx62n-mcu"
|
||||
|
@ -68,7 +67,6 @@ struct RX62NState {
|
|||
MemoryRegion iomem2;
|
||||
MemoryRegion iomem3;
|
||||
MemoryRegion c_flash;
|
||||
qemu_irq irq[NR_IRQS];
|
||||
|
||||
/* Input Clock (XTAL) frequency */
|
||||
uint32_t xtal_freq_hz;
|
||||
|
|
32
include/hw/timer/grlib_gptimer.h
Normal file
32
include/hw/timer/grlib_gptimer.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* QEMU GRLIB GPTimer
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
* Copyright (c) 2024 AdaCore
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef GRLIB_GPTIMER_H
|
||||
#define GRLIB_GPTIMER_H
|
||||
|
||||
#define TYPE_GRLIB_GPTIMER "grlib-gptimer"
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue