ahci: Separate the AHCI state structure into the header
Pull the AHCI state structure out into the header. This allows other containers to access the struct. This is required to add the device to modern SoC containers. Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Reviewed-by: Sai Pavan Boddu <saipava@xilinx.com> Reviewed-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
		
							parent
							
								
									7777b7a0ba
								
							
						
					
					
						commit
						5ea8b9c5a3
					
				@ -25,7 +25,6 @@
 | 
				
			|||||||
#include <hw/pci/msi.h>
 | 
					#include <hw/pci/msi.h>
 | 
				
			||||||
#include <hw/i386/pc.h>
 | 
					#include <hw/i386/pc.h>
 | 
				
			||||||
#include <hw/pci/pci.h>
 | 
					#include <hw/pci/pci.h>
 | 
				
			||||||
#include <hw/sysbus.h>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "qemu/error-report.h"
 | 
					#include "qemu/error-report.h"
 | 
				
			||||||
#include "sysemu/block-backend.h"
 | 
					#include "sysemu/block-backend.h"
 | 
				
			||||||
@ -1625,18 +1624,6 @@ const VMStateDescription vmstate_ahci = {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define TYPE_SYSBUS_AHCI "sysbus-ahci"
 | 
					 | 
				
			||||||
#define SYSBUS_AHCI(obj) OBJECT_CHECK(SysbusAHCIState, (obj), TYPE_SYSBUS_AHCI)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
typedef struct SysbusAHCIState {
 | 
					 | 
				
			||||||
    /*< private >*/
 | 
					 | 
				
			||||||
    SysBusDevice parent_obj;
 | 
					 | 
				
			||||||
    /*< public >*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    AHCIState ahci;
 | 
					 | 
				
			||||||
    uint32_t num_ports;
 | 
					 | 
				
			||||||
} SysbusAHCIState;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static const VMStateDescription vmstate_sysbus_ahci = {
 | 
					static const VMStateDescription vmstate_sysbus_ahci = {
 | 
				
			||||||
    .name = "sysbus-ahci",
 | 
					    .name = "sysbus-ahci",
 | 
				
			||||||
    .fields = (VMStateField[]) {
 | 
					    .fields = (VMStateField[]) {
 | 
				
			||||||
 | 
				
			|||||||
@ -24,6 +24,8 @@
 | 
				
			|||||||
#ifndef HW_IDE_AHCI_H
 | 
					#ifndef HW_IDE_AHCI_H
 | 
				
			||||||
#define HW_IDE_AHCI_H
 | 
					#define HW_IDE_AHCI_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <hw/sysbus.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define AHCI_MEM_BAR_SIZE         0x1000
 | 
					#define AHCI_MEM_BAR_SIZE         0x1000
 | 
				
			||||||
#define AHCI_MAX_PORTS            32
 | 
					#define AHCI_MAX_PORTS            32
 | 
				
			||||||
#define AHCI_MAX_SG               168 /* hardware max is 64K */
 | 
					#define AHCI_MAX_SG               168 /* hardware max is 64K */
 | 
				
			||||||
@ -369,4 +371,16 @@ void ahci_reset(AHCIState *s);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void ahci_ide_create_devs(PCIDevice *dev, DriveInfo **hd);
 | 
					void ahci_ide_create_devs(PCIDevice *dev, DriveInfo **hd);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TYPE_SYSBUS_AHCI "sysbus-ahci"
 | 
				
			||||||
 | 
					#define SYSBUS_AHCI(obj) OBJECT_CHECK(SysbusAHCIState, (obj), TYPE_SYSBUS_AHCI)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct SysbusAHCIState {
 | 
				
			||||||
 | 
					    /*< private >*/
 | 
				
			||||||
 | 
					    SysBusDevice parent_obj;
 | 
				
			||||||
 | 
					    /*< public >*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    AHCIState ahci;
 | 
				
			||||||
 | 
					    uint32_t num_ports;
 | 
				
			||||||
 | 
					} SysbusAHCIState;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* HW_IDE_AHCI_H */
 | 
					#endif /* HW_IDE_AHCI_H */
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user