/* * 86Box A hypervisor and IBM PC system emulator that specializes in * running old operating systems and software designed for IBM * PC systems and compatibles from 1981 through fairly recent * system designs based on the PCI bus. * * This file is part of the 86Box distribution. * * Definitions for the Distributed DMA emulation. * * * * Authors: Miran Grca, * * Copyright 2020 Miran Grca. */ #ifndef USB_H #define USB_H #ifdef __cplusplus extern "C" { #endif typedef struct usb_t { uint8_t uhci_io[32]; uint8_t ohci_mmio[4096]; uint16_t uhci_io_base; int uhci_enable; int ohci_enable; uint32_t ohci_mem_base; mem_mapping_t ohci_mmio_mapping; } usb_t; /* Global variables. */ extern const device_t usb_device; /* Functions. */ extern void uhci_update_io_mapping(usb_t *dev, uint8_t base_l, uint8_t base_h, int enable); extern void ohci_update_mem_mapping(usb_t *dev, uint8_t base1, uint8_t base2, uint8_t base3, int enable); #ifdef __cplusplus } #endif #endif /*USB_H*/