[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 48/56] hw/ide/ahci: Expose AHCIPCIState structure
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 48/56] hw/ide/ahci: Expose AHCIPCIState structure |
Date: |
Thu, 15 Feb 2024 18:57:42 +0100 |
In order to be able to QOM-embed a structure, we need
its full definition. Move it from "ahci_internal.h"
to the new "hw/ide/ahci-pci.h" header.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240213081201.78951-3-philmd@linaro.org>
---
hw/ide/ahci_internal.h | 8 --------
include/hw/ide/ahci-pci.h | 22 ++++++++++++++++++++++
include/hw/ide/ahci.h | 3 ---
hw/i386/pc_q35.c | 2 +-
hw/ide/ahci.c | 1 +
hw/ide/ich.c | 1 +
hw/mips/boston.c | 2 +-
7 files changed, 26 insertions(+), 13 deletions(-)
create mode 100644 include/hw/ide/ahci-pci.h
diff --git a/hw/ide/ahci_internal.h b/hw/ide/ahci_internal.h
index c244bbd8be..4dc2805d21 100644
--- a/hw/ide/ahci_internal.h
+++ b/hw/ide/ahci_internal.h
@@ -324,14 +324,6 @@ struct AHCIDevice {
MemReentrancyGuard mem_reentrancy_guard;
};
-struct AHCIPCIState {
- /*< private >*/
- PCIDevice parent_obj;
- /*< public >*/
-
- AHCIState ahci;
-};
-
extern const VMStateDescription vmstate_ahci;
#define VMSTATE_AHCI(_field, _state) { \
diff --git a/include/hw/ide/ahci-pci.h b/include/hw/ide/ahci-pci.h
new file mode 100644
index 0000000000..c2ee616962
--- /dev/null
+++ b/include/hw/ide/ahci-pci.h
@@ -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
diff --git a/include/hw/ide/ahci.h b/include/hw/ide/ahci.h
index 210e5e734c..6818d02063 100644
--- a/include/hw/ide/ahci.h
+++ b/include/hw/ide/ahci.h
@@ -52,9 +52,6 @@ typedef struct AHCIState {
} 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);
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index a81c86b255..76b3b6032b 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -47,7 +47,7 @@
#include "hw/display/ramfb.h"
#include "hw/firmware/smbios.h"
#include "hw/ide/pci.h"
-#include "hw/ide/ahci.h"
+#include "hw/ide/ahci-pci.h"
#include "hw/intc/ioapic.h"
#include "hw/southbridge/ich9.h"
#include "hw/usb.h"
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 0eb83a6d46..aa9381a7b2 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -36,6 +36,7 @@
#include "sysemu/dma.h"
#include "hw/ide/internal.h"
#include "hw/ide/pci.h"
+#include "hw/ide/ahci-pci.h"
#include "ahci_internal.h"
#include "trace.h"
diff --git a/hw/ide/ich.c b/hw/ide/ich.c
index 49f8eb8a7d..d190012a95 100644
--- a/hw/ide/ich.c
+++ b/hw/ide/ich.c
@@ -69,6 +69,7 @@
#include "hw/isa/isa.h"
#include "sysemu/dma.h"
#include "hw/ide/pci.h"
+#include "hw/ide/ahci-pci.h"
#include "ahci_internal.h"
#define ICH9_MSI_CAP_OFFSET 0x80
diff --git a/hw/mips/boston.c b/hw/mips/boston.c
index 4e11ff6cd6..cbcefdd693 100644
--- a/hw/mips/boston.c
+++ b/hw/mips/boston.c
@@ -24,7 +24,7 @@
#include "hw/boards.h"
#include "hw/char/serial.h"
#include "hw/ide/pci.h"
-#include "hw/ide/ahci.h"
+#include "hw/ide/ahci-pci.h"
#include "hw/loader.h"
#include "hw/loader-fit.h"
#include "hw/mips/bootloader.h"
--
2.41.0
- [PULL 34/56] hw/intc/grlib_irqmp: add ncpus property, (continued)
- [PULL 34/56] hw/intc/grlib_irqmp: add ncpus property, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 38/56] hw/sparc/leon3: remove SP initialization, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 40/56] hw/sparc/leon3: check cpu_id in the tiny bootloader, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 41/56] hw/sparc/leon3: Pass DeviceState opaque argument to leon3_set_pil_in(), Philippe Mathieu-Daudé, 2024/02/15
- [PULL 39/56] hw/sparc/leon3: implement multiprocessor, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 42/56] hw/sparc/leon3: Pass DeviceState opaque argument to leon3_start_cpu(), Philippe Mathieu-Daudé, 2024/02/15
- [PULL 43/56] hw/sparc/leon3: Initialize GPIO before realizing CPU devices, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 45/56] MAINTAINERS: Add myself as reviewer for TCG Plugins, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 44/56] MAINTAINERS: replace Fabien by myself as Leon3 maintainer, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 47/56] hw/i386/q35: Use DEVICE() cast macro with PCIDevice object, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 48/56] hw/ide/ahci: Expose AHCIPCIState structure,
Philippe Mathieu-Daudé <=
- [PULL 49/56] hw/ide/ahci: Rename AHCI PCI function as 'pdev', Philippe Mathieu-Daudé, 2024/02/15
- [PULL 50/56] hw/ide/ahci: Inline ahci_get_num_ports(), Philippe Mathieu-Daudé, 2024/02/15
- [PULL 46/56] hw/i386/q35: Simplify pc_q35_init() since PCI is always enabled, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 52/56] hw/ide/ahci: Convert AHCIState::ports to unsigned, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 51/56] hw/ide/ahci: Pass AHCI context to ahci_ide_create_devs(), Philippe Mathieu-Daudé, 2024/02/15
- [PULL 53/56] hw/ide/ahci: Do not pass 'ports' argument to ahci_realize(), Philippe Mathieu-Daudé, 2024/02/15
- [PULL 54/56] hw/ide/ahci: Remove SysbusAHCIState::num_ports field, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 56/56] hw/ide/ich9: Use AHCIPCIState typedef, Philippe Mathieu-Daudé, 2024/02/15
- [PULL 55/56] hw/ide/ahci: Move SysBus definitions to 'ahci-sysbus.h', Philippe Mathieu-Daudé, 2024/02/15
- Re: [PULL 00/56] Misc HW patches for 2024-02-15, Peter Maydell, 2024/02/16