10fd61a2dSPhilippe Mathieu-Daudé /* 20fd61a2dSPhilippe Mathieu-Daudé * QEMU i440FX North Bridge Emulation 30fd61a2dSPhilippe Mathieu-Daudé * 40fd61a2dSPhilippe Mathieu-Daudé * Copyright (c) 2006 Fabrice Bellard 50fd61a2dSPhilippe Mathieu-Daudé * 60fd61a2dSPhilippe Mathieu-Daudé * This work is licensed under the terms of the GNU GPL, version 2 or later. 70fd61a2dSPhilippe Mathieu-Daudé * See the COPYING file in the top-level directory. 80fd61a2dSPhilippe Mathieu-Daudé * 90fd61a2dSPhilippe Mathieu-Daudé */ 100fd61a2dSPhilippe Mathieu-Daudé 110fd61a2dSPhilippe Mathieu-Daudé #ifndef HW_PCI_I440FX_H 120fd61a2dSPhilippe Mathieu-Daudé #define HW_PCI_I440FX_H 130fd61a2dSPhilippe Mathieu-Daudé 14edf5ca5dSMarkus Armbruster #include "hw/pci/pci_device.h" 1534020760SPhilippe Mathieu-Daudé #include "hw/pci-host/pam.h" 16db1015e9SEduardo Habkost #include "qom/object.h" 170fd61a2dSPhilippe Mathieu-Daudé 18*ff0a8cc4SBernhard Beschow #define I440FX_HOST_PROP_PCI_TYPE "pci-type" 19*ff0a8cc4SBernhard Beschow 200fd61a2dSPhilippe Mathieu-Daudé #define TYPE_I440FX_PCI_HOST_BRIDGE "i440FX-pcihost" 210fd61a2dSPhilippe Mathieu-Daudé #define TYPE_I440FX_PCI_DEVICE "i440FX" 220fd61a2dSPhilippe Mathieu-Daudé 238063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(PCII440FXState, I440FX_PCI_DEVICE) 2434020760SPhilippe Mathieu-Daudé 25db1015e9SEduardo Habkost struct PCII440FXState { 2634020760SPhilippe Mathieu-Daudé /*< private >*/ 2734020760SPhilippe Mathieu-Daudé PCIDevice parent_obj; 2834020760SPhilippe Mathieu-Daudé /*< public >*/ 2934020760SPhilippe Mathieu-Daudé 30f6a3c86eSPhilippe Mathieu-Daudé PAMMemoryRegion pam_regions[PAM_REGIONS_COUNT]; 3134020760SPhilippe Mathieu-Daudé MemoryRegion smram_region; 3234020760SPhilippe Mathieu-Daudé MemoryRegion smram, low_smram; 33db1015e9SEduardo Habkost }; 3434020760SPhilippe Mathieu-Daudé 350fd61a2dSPhilippe Mathieu-Daudé #define TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE "igd-passthrough-i440FX" 360fd61a2dSPhilippe Mathieu-Daudé 370fd61a2dSPhilippe Mathieu-Daudé #endif 38