1 /* 2 * USB xHCI controller emulation 3 * 4 * Copyright (c) 2011 Securiforest 5 * Date: 2011-05-11 ; Author: Hector Martin <hector@marcansoft.com> 6 * Based on usb-ohci.c, emulates Renesas NEC USB 3.0 7 * Date: 2020-01-1; Author: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com> 8 * PCI hooks are moved from XHCIState to XHCIPciState 9 * 10 * This library is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU Lesser General Public 12 * License as published by the Free Software Foundation; either 13 * version 2 of the License, or (at your option) any later version. 14 * 15 * This library is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 * Lesser General Public License for more details. 19 * 20 * You should have received a copy of the GNU Lesser General Public 21 * License along with this library; if not, see <http://www.gnu.org/licenses/>. 22 */ 23 24 #ifndef HW_USB_HCD_XHCI_PCI_H 25 #define HW_USB_HCD_XHCI_PCI_H 26 27 #include "hw/usb.h" 28 #include "hcd-xhci.h" 29 30 #define TYPE_XHCI_PCI "pci-xhci" 31 #define XHCI_PCI(obj) \ 32 OBJECT_CHECK(XHCIPciState, (obj), TYPE_XHCI_PCI) 33 34 35 typedef struct XHCIPciState { 36 /*< private >*/ 37 PCIDevice parent_obj; 38 /*< public >*/ 39 XHCIState xhci; 40 OnOffAuto msi; 41 OnOffAuto msix; 42 } XHCIPciState; 43 44 #endif 45