10d09e41aSPaolo Bonzini #ifndef HW_VT82C686_H 20d09e41aSPaolo Bonzini #define HW_VT82C686_H 30d09e41aSPaolo Bonzini 4eb604411SBALATON Zoltan #include "hw/pci/pci_device.h" 5eb604411SBALATON Zoltan #include "audio/audio.h" 6a4d65b70SBALATON Zoltan 70bfda9a2SBALATON Zoltan #define TYPE_VT82C686B_ISA "vt82c686b-isa" 865c69e9aSBernhard Beschow #define TYPE_VT82C686B_USB_UHCI "vt82c686b-usb-uhci" 9f9f0c9e2SBALATON Zoltan #define TYPE_VT8231_ISA "vt8231-isa" 1007c6832cSBALATON Zoltan #define TYPE_VIA_AC97 "via-ac97" 114b8fd066SBernhard Beschow #define TYPE_VIA_IDE "via-ide" 1207c6832cSBALATON Zoltan #define TYPE_VIA_MC97 "via-mc97" 1398cf824bSPhilippe Mathieu-Daudé 14eb604411SBALATON Zoltan typedef struct { 15eb604411SBALATON Zoltan uint8_t stat; 16eb604411SBALATON Zoltan uint8_t type; 17eb604411SBALATON Zoltan uint32_t base; 18eb604411SBALATON Zoltan uint32_t curr; 19eb604411SBALATON Zoltan uint32_t addr; 20eb604411SBALATON Zoltan uint32_t clen; 21eb604411SBALATON Zoltan } ViaAC97SGDChannel; 22eb604411SBALATON Zoltan 23eb604411SBALATON Zoltan OBJECT_DECLARE_SIMPLE_TYPE(ViaAC97State, VIA_AC97); 24eb604411SBALATON Zoltan 25eb604411SBALATON Zoltan struct ViaAC97State { 26eb604411SBALATON Zoltan PCIDevice dev; 27eb604411SBALATON Zoltan QEMUSoundCard card; 28eb604411SBALATON Zoltan MemoryRegion sgd; 29eb604411SBALATON Zoltan MemoryRegion fm; 30eb604411SBALATON Zoltan MemoryRegion midi; 31eb604411SBALATON Zoltan SWVoiceOut *vo; 32eb604411SBALATON Zoltan ViaAC97SGDChannel aur; 33eb604411SBALATON Zoltan uint16_t codec_regs[128]; 34eb604411SBALATON Zoltan uint32_t ac97_cmd; 35eb604411SBALATON Zoltan }; 36eb604411SBALATON Zoltan 37*7e01bd80SBALATON Zoltan void via_isa_set_irq(PCIDevice *d, int n, int level); 38*7e01bd80SBALATON Zoltan 390d09e41aSPaolo Bonzini #endif 40