Browse Source

hw/ide/ahci: Expose AHCIPCIState structure

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>
coverity
Philippe Mathieu-Daudé 2 years ago
parent
commit
d407be0877
  1. 2
      hw/i386/pc_q35.c
  2. 1
      hw/ide/ahci.c
  3. 8
      hw/ide/ahci_internal.h
  4. 1
      hw/ide/ich.c
  5. 2
      hw/mips/boston.c
  6. 22
      include/hw/ide/ahci-pci.h
  7. 3
      include/hw/ide/ahci.h

2
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"

1
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"

8
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) { \

1
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

2
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"

22
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

3
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);

Loading…
Cancel
Save