Skip to content

Commit

Permalink
hw/ide/ahci: Expose AHCIPCIState structure
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
philmd committed Feb 15, 2024
1 parent 1a8e2f5 commit d407be0
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 13 deletions.
2 changes: 1 addition & 1 deletion hw/i386/pc_q35.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
1 change: 1 addition & 0 deletions hw/ide/ahci.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
8 changes: 0 additions & 8 deletions hw/ide/ahci_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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) { \
Expand Down
1 change: 1 addition & 0 deletions hw/ide/ich.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion hw/mips/boston.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
22 changes: 22 additions & 0 deletions include/hw/ide/ahci-pci.h
Original file line number Diff line number Diff line change
@@ -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 changes: 0 additions & 3 deletions include/hw/ide/ahci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down

0 comments on commit d407be0

Please sign in to comment.