From 7e90e9215aebd3f87ed7d10c30179f21c96d2eef Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Sun, 30 Apr 2023 00:59:11 +0600 Subject: [PATCH] OHCI: HcHCCA's lower 8 bits are always zero Start of work on USB endpoint device infrastructure --- src/include/86box/usb.h | 8 ++++++++ src/usb.c | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/include/86box/usb.h b/src/include/86box/usb.h index d0b169b6c..ab0549844 100644 --- a/src/include/86box/usb.h +++ b/src/include/86box/usb.h @@ -22,6 +22,7 @@ extern "C" { #endif +/* USB Host Controller device struct */ typedef struct { uint8_t uhci_io[32], ohci_mmio[4096]; @@ -31,6 +32,13 @@ typedef struct mem_mapping_t ohci_mmio_mapping; } usb_t; +/* USB endpoint device struct. Incomplete and unused. */ +typedef struct +{ + uint16_t vendor_id; + uint16_t device_id; +} usb_device_t; + /* Global variables. */ extern const device_t usb_device; diff --git a/src/usb.c b/src/usb.c index eecb2902c..e9702afa7 100644 --- a/src/usb.c +++ b/src/usb.c @@ -208,6 +208,8 @@ ohci_mmio_write(uint32_t addr, uint8_t val, void *p) val &= ~0x01; } break; + case OHCI_HcHCCA: + return; case OHCI_HcInterruptStatus: dev->ohci_mmio[addr] &= ~(val & 0x7f); return;