From 4d611c9a2f4c5d9080d8b6a6f0d7431233cd56f9 Mon Sep 17 00:00:00 2001 From: pbrook Date: Sat, 12 Aug 2006 01:04:27 +0000 Subject: [PATCH] SCSI and USB async IO support. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2107 c046a42c-6fe2-441c-8c8c-71466251a162 --- hw/esp.c | 142 +++++++++++++--------- hw/lsi53c895a.c | 80 ++++++++----- hw/scsi-disk.c | 152 ++++++++++++++++++------ hw/usb-hid.c | 11 +- hw/usb-hub.c | 46 +++---- hw/usb-msd.c | 68 ++++++++--- hw/usb-ohci.c | 156 ++++++++++++++++++------ hw/usb-uhci.c | 244 ++++++++++++++++++++++++++++---------- hw/usb.c | 32 +++-- hw/usb.h | 58 +++++++-- pc-bios/openbios-esp.diff | 30 +++++ pc-bios/openbios-sparc32 | Bin 506966 -> 246036 bytes usb-linux.c | 11 +- vl.h | 9 ++ 14 files changed, 746 insertions(+), 293 deletions(-) create mode 100644 pc-bios/openbios-esp.diff diff --git a/hw/esp.c b/hw/esp.c index cdd062f789..17e70dd03b 100644 --- a/hw/esp.c +++ b/hw/esp.c @@ -62,6 +62,11 @@ struct ESPState { uint8_t cmdbuf[TI_BUFSZ]; int cmdlen; int do_cmd; + + uint32_t dma_left; + uint8_t async_buf[TARGET_PAGE_SIZE]; + uint32_t async_ptr; + uint32_t async_len; }; #define STAT_DO 0x00 @@ -72,6 +77,8 @@ struct ESPState { #define STAT_MO 0x07 #define STAT_TC 0x10 +#define STAT_PE 0x20 +#define STAT_GE 0x40 #define STAT_IN 0x80 #define INTR_FC 0x08 @@ -195,26 +202,85 @@ static void write_response(ESPState *s) } -static void esp_command_complete(void *opaque, uint32_t tag, int sense) +static void esp_do_dma(ESPState *s) +{ + uint32_t dmaptr, minlen, len, from, to; + int to_device; + dmaptr = iommu_translate(s->espdmaregs[1]); + to_device = (s->espdmaregs[0] & DMA_WRITE_MEM) == 0; + from = s->espdmaregs[1]; + minlen = s->dma_left; + to = from + minlen; + dmaptr = iommu_translate(s->espdmaregs[1]); + if ((from & TARGET_PAGE_MASK) != (to & TARGET_PAGE_MASK)) { + len = TARGET_PAGE_SIZE - (from & ~TARGET_PAGE_MASK); + } else { + len = to - from; + } + DPRINTF("DMA address p %08x v %08x len %08x, from %08x, to %08x\n", dmaptr, s->espdmaregs[1], len, from, to); + s->espdmaregs[1] += len; + if (s->do_cmd) { + s->ti_size -= len; + DPRINTF("command len %d + %d\n", s->cmdlen, len); + cpu_physical_memory_read(dmaptr, &s->cmdbuf[s->cmdlen], len); + s->ti_size = 0; + s->cmdlen = 0; + s->do_cmd = 0; + do_cmd(s, s->cmdbuf); + return; + } else { + s->async_len = len; + s->dma_left -= len; + if (to_device) { + s->async_ptr = -1; + cpu_physical_memory_read(dmaptr, s->async_buf, len); + scsi_write_data(s->current_dev, s->async_buf, len); + } else { + s->async_ptr = dmaptr; + scsi_read_data(s->current_dev, s->async_buf, len); + } + } +} + +static void esp_command_complete(void *opaque, uint32_t reason, int sense) { ESPState *s = (ESPState *)opaque; - DPRINTF("SCSI Command complete\n"); - if (s->ti_size != 0) - DPRINTF("SCSI command completed unexpectedly\n"); - s->ti_size = 0; - if (sense) - DPRINTF("Command failed\n"); - s->sense = sense; - s->rregs[4] = STAT_IN | STAT_TC | STAT_ST; + s->ti_size -= s->async_len; + s->espdmaregs[1] += s->async_len; + if (s->async_ptr != (uint32_t)-1) { + cpu_physical_memory_write(s->async_ptr, s->async_buf, s->async_len); + } + if (reason == SCSI_REASON_DONE) { + DPRINTF("SCSI Command complete\n"); + if (s->ti_size != 0) + DPRINTF("SCSI command completed unexpectedly\n"); + s->ti_size = 0; + if (sense) + DPRINTF("Command failed\n"); + s->sense = sense; + } else { + DPRINTF("transfer %d/%d\n", s->dma_left, s->ti_size); + } + if (s->dma_left) { + esp_do_dma(s); + } else { + if (s->ti_size) { + s->rregs[4] |= STAT_IN | STAT_TC; + } else { + s->rregs[4] = STAT_IN | STAT_TC | STAT_ST; + } + s->rregs[5] = INTR_BS; + s->rregs[6] = 0; + s->rregs[7] = 0; + s->espdmaregs[0] |= DMA_INTR; + pic_set_irq(s->irq, 1); + } } static void handle_ti(ESPState *s) { - uint32_t dmaptr, dmalen, minlen, len, from, to; - unsigned int i; - int to_device; - uint8_t buf[TARGET_PAGE_SIZE]; + uint32_t dmalen, minlen; dmalen = s->wregs[0] | (s->wregs[1] << 8); if (dmalen==0) { @@ -227,47 +293,9 @@ static void handle_ti(ESPState *s) minlen = (dmalen < s->ti_size) ? dmalen : s->ti_size; DPRINTF("Transfer Information len %d\n", minlen); if (s->dma) { - dmaptr = iommu_translate(s->espdmaregs[1]); - /* Check if the transfer writes to to reads from the device. */ - to_device = (s->espdmaregs[0] & DMA_WRITE_MEM) == 0; - DPRINTF("DMA Direction: %c, addr 0x%8.8x %08x\n", - to_device ? 'r': 'w', dmaptr, s->ti_size); - from = s->espdmaregs[1]; - to = from + minlen; - for (i = 0; i < minlen; i += len, from += len) { - dmaptr = iommu_translate(s->espdmaregs[1] + i); - if ((from & TARGET_PAGE_MASK) != (to & TARGET_PAGE_MASK)) { - len = TARGET_PAGE_SIZE - (from & ~TARGET_PAGE_MASK); - } else { - len = to - from; - } - DPRINTF("DMA address p %08x v %08x len %08x, from %08x, to %08x\n", dmaptr, s->espdmaregs[1] + i, len, from, to); - s->ti_size -= len; - if (s->do_cmd) { - DPRINTF("command len %d + %d\n", s->cmdlen, len); - cpu_physical_memory_read(dmaptr, &s->cmdbuf[s->cmdlen], len); - s->ti_size = 0; - s->cmdlen = 0; - s->do_cmd = 0; - do_cmd(s, s->cmdbuf); - return; - } else { - if (to_device) { - cpu_physical_memory_read(dmaptr, buf, len); - scsi_write_data(s->current_dev, buf, len); - } else { - scsi_read_data(s->current_dev, buf, len); - cpu_physical_memory_write(dmaptr, buf, len); - } - } - } - if (s->ti_size) { - s->rregs[4] = STAT_IN | STAT_TC | (to_device ? STAT_DO : STAT_DI); - } - s->rregs[5] = INTR_BS; - s->rregs[6] = 0; - s->rregs[7] = 0; - s->espdmaregs[0] |= DMA_INTR; + s->dma_left = minlen; + s->rregs[4] &= ~STAT_TC; + esp_do_dma(s); } else if (s->do_cmd) { DPRINTF("command len %d\n", s->cmdlen); s->ti_size = 0; @@ -276,7 +304,6 @@ static void handle_ti(ESPState *s) do_cmd(s, s->cmdbuf); return; } - pic_set_irq(s->irq, 1); } static void esp_reset(void *opaque) @@ -320,8 +347,8 @@ static uint32_t esp_mem_readb(void *opaque, target_phys_addr_t addr) break; case 5: // interrupt - // Clear status bits except TC - s->rregs[4] &= STAT_TC; + // Clear interrupt/error status bits + s->rregs[4] &= ~(STAT_IN | STAT_GE | STAT_PE); pic_set_irq(s->irq, 0); s->espdmaregs[0] &= ~DMA_INTR; break; @@ -342,6 +369,7 @@ static void esp_mem_writeb(void *opaque, target_phys_addr_t addr, uint32_t val) case 0: case 1: s->rregs[saddr] = val; + s->rregs[4] &= ~STAT_TC; break; case 2: // FIFO diff --git a/hw/lsi53c895a.c b/hw/lsi53c895a.c index 24dff0eff5..8f56725348 100644 --- a/hw/lsi53c895a.c +++ b/hw/lsi53c895a.c @@ -152,6 +152,9 @@ do { fprintf(stderr, "lsi_scsi: " fmt , ##args); } while (0) /* The HBA is ID 7, so for simplicitly limit to 7 devices. */ #define LSI_MAX_DEVS 7 +/* Size of internal DMA buffer for async IO requests. */ +#define LSI_DMA_BLOCK_SIZE 0x10000 + typedef struct { PCIDevice pci_dev; int mmio_io_addr; @@ -162,7 +165,9 @@ typedef struct { int carry; /* ??? Should this be an a visible register somewhere? */ int sense; uint8_t msg; - /* Nonzero if a Wait Reselect instruction has been issued. */ + /* 0 if SCRIPTS are running or stopped. + * 1 if a Wait Reselect instruction has been issued. + * 2 if a DMA operation is in progress. */ int waiting; SCSIDevice *scsi_dev[LSI_MAX_DEVS]; SCSIDevice *current_dev; @@ -226,6 +231,7 @@ typedef struct { uint32_t csbc; uint32_t scratch[13]; /* SCRATCHA-SCRATCHR */ + uint8_t dma_buf[LSI_DMA_BLOCK_SIZE]; /* Script ram is stored as 32-bit words in host byteorder. */ uint32_t script_ram[2048]; } LSIState; @@ -295,6 +301,7 @@ static void lsi_soft_reset(LSIState *s) static uint8_t lsi_reg_readb(LSIState *s, int offset); static void lsi_reg_writeb(LSIState *s, int offset, uint8_t val); +static void lsi_execute_script(LSIState *s); static inline uint32_t read_dword(LSIState *s, uint32_t addr) { @@ -402,21 +409,20 @@ static void lsi_bad_phase(LSIState *s, int out, int new_phase) lsi_set_phase(s, new_phase); } +/* Initiate a SCSI layer data transfer. */ static void lsi_do_dma(LSIState *s, int out) { - uint8_t buf[TARGET_PAGE_SIZE]; - uint32_t addr; uint32_t count; - int n; count = s->dbc; - addr = s->dnad; - DPRINTF("DMA %s addr=0x%08x len=%d avail=%d\n", out ? "out" : "in", + if (count > LSI_DMA_BLOCK_SIZE) + count = LSI_DMA_BLOCK_SIZE; + DPRINTF("DMA addr=0x%08x len=%d avail=%d\n", addr, count, s->data_len); /* ??? Too long transfers are truncated. Don't know if this is the correct behavior. */ if (count > s->data_len) { - /* If the DMA length is greater then the device data length then + /* If the DMA length is greater than the device data length then a phase mismatch will occur. */ count = s->data_len; s->dbc = count; @@ -426,20 +432,47 @@ static void lsi_do_dma(LSIState *s, int out) s->csbc += count; /* ??? Set SFBR to first data byte. */ - while (count) { - n = (count > TARGET_PAGE_SIZE) ? TARGET_PAGE_SIZE : count; - if (out) { - cpu_physical_memory_read(addr, buf, n); - scsi_write_data(s->current_dev, buf, n); - } else { - scsi_read_data(s->current_dev, buf, n); - cpu_physical_memory_write(addr, buf, n); - } - addr += n; - count -= n; + if ((s->sstat1 & PHASE_MASK) == PHASE_DO) { + cpu_physical_memory_read(s->dnad, s->dma_buf, count); + scsi_write_data(s->current_dev, s->dma_buf, count); + } else { + scsi_read_data(s->current_dev, s->dma_buf, count); } + /* If the DMA did not complete then suspend execution. */ + if (s->dbc) + s->waiting = 2; } +/* Callback to indicate that the SCSI layer has completed a transfer. */ +static void lsi_command_complete(void *opaque, uint32_t reason, int sense) +{ + LSIState *s = (LSIState *)opaque; + uint32_t count; + int out; + + out = ((s->sstat1 & PHASE_MASK) == PHASE_DO); + count = s->dbc; + if (count > LSI_DMA_BLOCK_SIZE) + count = LSI_DMA_BLOCK_SIZE; + if (!out) + cpu_physical_memory_write(s->dnad, s->dma_buf, count); + s->dnad += count; + s->dbc -= count; + + if (reason == SCSI_REASON_DONE) { + DPRINTF("Command complete sense=%d\n", sense); + s->sense = sense; + lsi_set_phase(s, PHASE_ST); + } + + if (s->dbc) { + lsi_do_dma(s, out); + } else if (s->waiting == 2) { + /* Restart SCRIPTS execution. */ + s->waiting = 0; + lsi_execute_script(s); + } +} static void lsi_do_command(LSIState *s) { @@ -461,15 +494,6 @@ static void lsi_do_command(LSIState *s) } } -static void lsi_command_complete(void *opaque, uint32_t tag, int sense) -{ - LSIState *s = (LSIState *)opaque; - - DPRINTF("Command complete sense=%d\n", sense); - s->sense = sense; - lsi_set_phase(s, PHASE_ST); -} - static void lsi_do_status(LSIState *s) { DPRINTF("Get status len=%d sense=%d\n", s->dbc, s->sense); @@ -1134,7 +1158,7 @@ static void lsi_reg_writeb(LSIState *s, int offset, uint8_t val) s->istat0 &= ~LSI_ISTAT0_INTF; lsi_update_irq(s); } - if (s->waiting && val & LSI_ISTAT0_SIGP) { + if (s->waiting == 1 && val & LSI_ISTAT0_SIGP) { DPRINTF("Woken by SIGP\n"); s->waiting = 0; s->dsp = s->dnad; diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c index 3419c8e2d2..a2f299e951 100644 --- a/hw/scsi-disk.c +++ b/hw/scsi-disk.c @@ -25,6 +25,7 @@ do { fprintf(stderr, "scsi-disk: " fmt , ##args); } while (0) #define SENSE_NO_SENSE 0 #define SENSE_NOT_READY 2 +#define SENSE_HARDWARE_ERROR 4 #define SENSE_ILLEGAL_REQUEST 5 struct SCSIDevice @@ -46,7 +47,13 @@ struct SCSIDevice int buf_pos; int buf_len; int sense; + BlockDriverAIOCB *aiocb; + /* Data still to be transfered after this request completes. */ + uint8_t *aiodata; + uint32_t aiolen; char buf[512]; + /* Completion functions may be called from either scsi_{read,write}_data + or from the AIO completion routines. */ scsi_completionfn completion; void *opaque; }; @@ -54,10 +61,49 @@ struct SCSIDevice static void scsi_command_complete(SCSIDevice *s, int sense) { s->sense = sense; - s->completion(s->opaque, s->tag, sense); + s->completion(s->opaque, SCSI_REASON_DONE, sense); } -/* Read data from a scsi device. Returns nonzero on failure. */ +static void scsi_transfer_complete(SCSIDevice *s) +{ + s->completion(s->opaque, SCSI_REASON_DATA, 0); + s->aiocb = NULL; +} + +static void scsi_read_complete(void * opaque, int ret) +{ + SCSIDevice *s = (SCSIDevice *)opaque; + + if (ret) { + DPRINTF("IO error\n"); + scsi_command_complete(s, SENSE_HARDWARE_ERROR); + } + + if (s->aiolen) { + /* Read the remaining data. Full and partial sectors are transferred + separately. */ + scsi_read_data(s, s->aiodata, s->aiolen); + } else { + if (s->buf_len == 0 && s->sector_count == 0) + scsi_command_complete(s, SENSE_NO_SENSE); + else + scsi_transfer_complete(s); + } +} + +/* Cancel a pending data transfer. */ +void scsi_cancel_io(SCSIDevice *s) +{ + if (!s->aiocb) { + BADF("Cancel with no pending IO\n"); + return; + } + bdrv_aio_cancel(s->aiocb); + s->aiocb = NULL; +} + +/* Read data from a scsi device. Returns nonzero on failure. + The transfer may complete asynchronously. */ int scsi_read_data(SCSIDevice *s, uint8_t *data, uint32_t len) { uint32_t n; @@ -84,14 +130,19 @@ int scsi_read_data(SCSIDevice *s, uint8_t *data, uint32_t len) n = s->sector_count; if (n != 0) { - bdrv_read(s->bdrv, s->sector, data, n); - data += n * 512; - len -= n * 512; + s->aiolen = len - n * 512; + s->aiodata = data + n * 512; + s->aiocb = bdrv_aio_read(s->bdrv, s->sector, data, n, + scsi_read_complete, s); + if (s->aiocb == NULL) + scsi_command_complete(s, SENSE_HARDWARE_ERROR); s->sector += n; s->sector_count -= n; + return 0; } if (len && s->sector_count) { + /* TODO: Make this use AIO. */ bdrv_read(s->bdrv, s->sector, s->buf, 1); s->sector++; s->sector_count--; @@ -106,11 +157,53 @@ int scsi_read_data(SCSIDevice *s, uint8_t *data, uint32_t len) if (s->buf_len == 0 && s->sector_count == 0) scsi_command_complete(s, SENSE_NO_SENSE); + else + scsi_transfer_complete(s); return 0; } -/* Read data to a scsi device. Returns nonzero on failure. */ +static void scsi_write_complete(void * opaque, int ret) +{ + SCSIDevice *s = (SCSIDevice *)opaque; + + if (ret) { + fprintf(stderr, "scsi-disc: IO write error\n"); + exit(1); + } + + if (s->sector_count == 0) + scsi_command_complete(s, SENSE_NO_SENSE); + else + scsi_transfer_complete(s); +} + +static uint32_t scsi_write_partial_sector(SCSIDevice *s, uint8_t *data, + uint32_t len) +{ + int n; + + n = 512 - s->buf_len; + if (n > len) + n = len; + + memcpy(s->buf + s->buf_len, data, n); + data += n; + s->buf_len += n; + len -= n; + if (s->buf_len == 512) { + /* A full sector has been accumulated. Write it to disk. */ + /* TODO: Make this use async IO. */ + bdrv_write(s->bdrv, s->sector, s->buf, 1); + s->buf_len = 0; + s->sector++; + s->sector_count--; + } + return n; +} + +/* Write data to a scsi device. Returns nonzero on failure. + The transfer may complete asynchronously. */ int scsi_write_data(SCSIDevice *s, uint8_t *data, uint32_t len) { uint32_t n; @@ -125,48 +218,39 @@ int scsi_write_data(SCSIDevice *s, uint8_t *data, uint32_t len) return 1; if (s->buf_len != 0 || len < 512) { - n = 512 - s->buf_len; - if (n > len) - n = len; - - memcpy(s->buf + s->buf_len, data, n); - data += n; - s->buf_len += n; + n = scsi_write_partial_sector(s, data, len); len -= n; - if (s->buf_len == 512) { - /* A full sector has been accumulated. Write it to disk. */ - bdrv_write(s->bdrv, s->sector, s->buf, 1); - s->buf_len = 0; - s->sector++; - s->sector_count--; - } + data += n; } n = len / 512; if (n > s->sector_count) - n = s->sector_count; + return 1; if (n != 0) { - bdrv_write(s->bdrv, s->sector, data, n); + s->aiocb = bdrv_aio_write(s->bdrv, s->sector, data, n, + scsi_write_complete, s); + if (s->aiocb == NULL) + scsi_command_complete(s, SENSE_HARDWARE_ERROR); data += n * 512; len -= n * 512; s->sector += n; s->sector_count -= n; } - if (len >= 512) - return 1; - - if (len && s->sector_count) { - /* Recurse to complete the partial write. */ - return scsi_write_data(s, data, len); + if (len) { + if (s->sector_count == 0) + return 1; + /* Complete a partial write. */ + scsi_write_partial_sector(s, data, len); + } + if (n == 0) { + /* Transfer completes immediately. */ + if (s->sector_count == 0) + scsi_command_complete(s, SENSE_NO_SENSE); + else + scsi_transfer_complete(s); } - - if (len != 0) - return 1; - - if (s->sector_count == 0) - scsi_command_complete(s, SENSE_NO_SENSE); return 0; } diff --git a/hw/usb-hid.c b/hw/usb-hid.c index 8fc0b744b7..095fcb3e6c 100644 --- a/hw/usb-hid.c +++ b/hw/usb-hid.c @@ -474,19 +474,18 @@ static int usb_mouse_handle_control(USBDevice *dev, int request, int value, return ret; } -static int usb_mouse_handle_data(USBDevice *dev, int pid, - uint8_t devep, uint8_t *data, int len) +static int usb_mouse_handle_data(USBDevice *dev, USBPacket *p) { USBMouseState *s = (USBMouseState *)dev; int ret = 0; - switch(pid) { + switch(p->pid) { case USB_TOKEN_IN: - if (devep == 1) { + if (p->devep == 1) { if (s->kind == USB_MOUSE) - ret = usb_mouse_poll(s, data, len); + ret = usb_mouse_poll(s, p->data, p->len); else if (s->kind == USB_TABLET) - ret = usb_tablet_poll(s, data, len); + ret = usb_tablet_poll(s, p->data, p->len); } else { goto fail; } diff --git a/hw/usb-hub.c b/hw/usb-hub.c index 8350931be6..651dac2109 100644 --- a/hw/usb-hub.c +++ b/hw/usb-hub.c @@ -180,8 +180,7 @@ static void usb_hub_attach(USBPort *port1, USBDevice *dev) port->wPortStatus &= ~PORT_STAT_LOW_SPEED; port->port.dev = dev; /* send the attach message */ - dev->handle_packet(dev, - USB_MSG_ATTACH, 0, 0, NULL, 0); + usb_send_msg(dev, USB_MSG_ATTACH); } else { dev = port->port.dev; if (dev) { @@ -192,8 +191,7 @@ static void usb_hub_attach(USBPort *port1, USBDevice *dev) port->wPortChange |= PORT_STAT_C_ENABLE; } /* send the detach message */ - dev->handle_packet(dev, - USB_MSG_DETACH, 0, 0, NULL, 0); + usb_send_msg(dev, USB_MSG_DETACH); port->port.dev = NULL; } } @@ -349,8 +347,7 @@ static int usb_hub_handle_control(USBDevice *dev, int request, int value, break; case PORT_RESET: if (dev) { - dev->handle_packet(dev, - USB_MSG_RESET, 0, 0, NULL, 0); + usb_send_msg(dev, USB_MSG_RESET); port->wPortChange |= PORT_STAT_C_RESET; /* set enable bit */ port->wPortStatus |= PORT_STAT_ENABLE; @@ -434,22 +431,21 @@ static int usb_hub_handle_control(USBDevice *dev, int request, int value, return ret; } -static int usb_hub_handle_data(USBDevice *dev, int pid, - uint8_t devep, uint8_t *data, int len) +static int usb_hub_handle_data(USBDevice *dev, USBPacket *p) { USBHubState *s = (USBHubState *)dev; int ret; - switch(pid) { + switch(p->pid) { case USB_TOKEN_IN: - if (devep == 1) { + if (p->devep == 1) { USBHubPort *port; unsigned int status; int i, n; n = (s->nb_ports + 1 + 7) / 8; - if (len == 1) { /* FreeBSD workaround */ + if (p->len == 1) { /* FreeBSD workaround */ n = 1; - } else if (n > len) { + } else if (n > p->len) { return USB_RET_BABBLE; } status = 0; @@ -460,7 +456,7 @@ static int usb_hub_handle_data(USBDevice *dev, int pid, } if (status != 0) { for(i = 0; i < n; i++) { - data[i] = status >> (8 * i); + p->data[i] = status >> (8 * i); } ret = n; } else { @@ -479,9 +475,7 @@ static int usb_hub_handle_data(USBDevice *dev, int pid, return ret; } -static int usb_hub_broadcast_packet(USBHubState *s, int pid, - uint8_t devaddr, uint8_t devep, - uint8_t *data, int len) +static int usb_hub_broadcast_packet(USBHubState *s, USBPacket *p) { USBHubPort *port; USBDevice *dev; @@ -491,9 +485,7 @@ static int usb_hub_broadcast_packet(USBHubState *s, int pid, port = &s->ports[i]; dev = port->port.dev; if (dev && (port->wPortStatus & PORT_STAT_ENABLE)) { - ret = dev->handle_packet(dev, pid, - devaddr, devep, - data, len); + ret = dev->handle_packet(dev, p); if (ret != USB_RET_NODEV) { return ret; } @@ -502,9 +494,7 @@ static int usb_hub_broadcast_packet(USBHubState *s, int pid, return USB_RET_NODEV; } -static int usb_hub_handle_packet(USBDevice *dev, int pid, - uint8_t devaddr, uint8_t devep, - uint8_t *data, int len) +static int usb_hub_handle_packet(USBDevice *dev, USBPacket *p) { USBHubState *s = (USBHubState *)dev; @@ -513,14 +503,14 @@ static int usb_hub_handle_packet(USBDevice *dev, int pid, #endif if (dev->state == USB_STATE_DEFAULT && dev->addr != 0 && - devaddr != dev->addr && - (pid == USB_TOKEN_SETUP || - pid == USB_TOKEN_OUT || - pid == USB_TOKEN_IN)) { + p->devaddr != dev->addr && + (p->pid == USB_TOKEN_SETUP || + p->pid == USB_TOKEN_OUT || + p->pid == USB_TOKEN_IN)) { /* broadcast the packet to the devices */ - return usb_hub_broadcast_packet(s, pid, devaddr, devep, data, len); + return usb_hub_broadcast_packet(s, p); } - return usb_generic_handle_packet(dev, pid, devaddr, devep, data, len); + return usb_generic_handle_packet(dev, p); } static void usb_hub_handle_destroy(USBDevice *dev) diff --git a/hw/usb-msd.c b/hw/usb-msd.c index ff2047d4b2..7d1f35d064 100644 --- a/hw/usb-msd.c +++ b/hw/usb-msd.c @@ -33,9 +33,12 @@ typedef struct { USBDevice dev; enum USBMSDMode mode; uint32_t data_len; + uint32_t transfer_len; uint32_t tag; SCSIDevice *scsi_dev; int result; + /* For async completion. */ + USBPacket *packet; } MSDState; static const uint8_t qemu_msd_dev_descriptor[] = { @@ -103,13 +106,27 @@ static const uint8_t qemu_msd_config_descriptor[] = { 0x00 /* u8 ep_bInterval; */ }; -static void usb_msd_command_complete(void *opaque, uint32_t tag, int fail) +static void usb_msd_command_complete(void *opaque, uint32_t reason, int fail) { MSDState *s = (MSDState *)opaque; - - DPRINTF("Command complete\n"); - s->result = fail; - s->mode = USB_MSDM_CSW; + USBPacket *p; + + s->data_len -= s->transfer_len; + s->transfer_len = 0; + if (reason == SCSI_REASON_DONE) { + DPRINTF("Command complete %d\n", fail); + s->result = fail; + s->mode = USB_MSDM_CSW; + } + if (s->packet) { + /* Set s->packet to NULL before calling usb_packet_complete because + annother request may be issues before usb_packet_complete returns. + */ + DPRINTF("Packet complete %p\n", p); + p = s->packet; + s->packet = NULL; + usb_packet_complete(p); + } } static void usb_msd_handle_reset(USBDevice *dev) @@ -250,15 +267,24 @@ struct usb_msd_csw { uint8_t status; }; -static int usb_msd_handle_data(USBDevice *dev, int pid, uint8_t devep, - uint8_t *data, int len) +static void usb_msd_cancel_io(USBPacket *p, void *opaque) +{ + MSDState *s = opaque; + scsi_cancel_io(s->scsi_dev); + s->packet = NULL; +} + +static int usb_msd_handle_data(USBDevice *dev, USBPacket *p) { MSDState *s = (MSDState *)dev; int ret = 0; struct usb_msd_cbw cbw; struct usb_msd_csw csw; + uint8_t devep = p->devep; + uint8_t *data = p->data; + int len = p->len; - switch (pid) { + switch (p->pid) { case USB_TOKEN_OUT: if (devep != 2) goto fail; @@ -300,13 +326,18 @@ static int usb_msd_handle_data(USBDevice *dev, int pid, uint8_t devep, if (len > s->data_len) goto fail; + s->transfer_len = len; if (scsi_write_data(s->scsi_dev, data, len)) goto fail; - s->data_len -= len; - if (s->data_len == 0) - s->mode = USB_MSDM_CSW; - ret = len; + if (s->transfer_len == 0) { + ret = len; + } else { + DPRINTF("Deferring packet %p\n", p); + usb_defer_packet(p, usb_msd_cancel_io, s); + s->packet = p; + ret = USB_RET_ASYNC; + } break; default: @@ -340,13 +371,18 @@ static int usb_msd_handle_data(USBDevice *dev, int pid, uint8_t devep, if (len > s->data_len) len = s->data_len; + s->transfer_len = len; if (scsi_read_data(s->scsi_dev, data, len)) goto fail; - s->data_len -= len; - if (s->data_len == 0) - s->mode = USB_MSDM_CSW; - ret = len; + if (s->transfer_len == 0) { + ret = len; + } else { + DPRINTF("Deferring packet %p\n", p); + usb_defer_packet(p, usb_msd_cancel_io, s); + s->packet = p; + ret = USB_RET_ASYNC; + } break; default: diff --git a/hw/usb-ohci.c b/hw/usb-ohci.c index e87d9da70a..de113e9a30 100644 --- a/hw/usb-ohci.c +++ b/hw/usb-ohci.c @@ -89,6 +89,14 @@ typedef struct { uint32_t rhdesc_a, rhdesc_b; uint32_t rhstatus; OHCIPort rhport[OHCI_MAX_PORTS]; + + /* Active packets. */ + uint32_t old_ctl; + USBPacket usb_packet; + uint8_t usb_buf[8192]; + uint32_t async_td; + int async_complete; + } OHCIState; /* Host Controller Communications Area */ @@ -288,8 +296,7 @@ static void ohci_attach(USBPort *port1, USBDevice *dev) port->ctrl &= ~OHCI_PORT_LSDA; port->port.dev = dev; /* send the attach message */ - dev->handle_packet(dev, - USB_MSG_ATTACH, 0, 0, NULL, 0); + usb_send_msg(dev, USB_MSG_ATTACH); dprintf("usb-ohci: Attached port %d\n", port1->index); } else { /* set connect status */ @@ -305,8 +312,7 @@ static void ohci_attach(USBPort *port1, USBDevice *dev) dev = port->port.dev; if (dev) { /* send the detach message */ - dev->handle_packet(dev, - USB_MSG_DETACH, 0, 0, NULL, 0); + usb_send_msg(dev, USB_MSG_DETACH); } port->port.dev = NULL; dprintf("usb-ohci: Detached port %d\n", port1->index); @@ -323,6 +329,7 @@ static void ohci_reset(OHCIState *ohci) int i; ohci->ctl = 0; + ohci->old_ctl = 0; ohci->status = 0; ohci->intr_status = 0; ohci->intr = OHCI_INTR_MIE; @@ -356,6 +363,10 @@ static void ohci_reset(OHCIState *ohci) if (port->port.dev) ohci_attach(&port->port, port->port.dev); } + if (ohci->async_td) { + usb_cancel_packet(&ohci->usb_packet); + ohci->async_td = 0; + } dprintf("usb-ohci: Reset %s\n", ohci->pci_dev.name); } @@ -423,6 +434,18 @@ static void ohci_copy_td(struct ohci_td *td, uint8_t *buf, int len, int write) cpu_physical_memory_rw(ptr, buf, len - n, write); } +static void ohci_process_lists(OHCIState *ohci); + +static void ohci_async_complete_packet(USBPacket * packet, void *opaque) +{ + OHCIState *ohci = opaque; +#ifdef DEBUG_PACKET + dprintf("Async packet complete\n"); +#endif + ohci->async_complete = 1; + ohci_process_lists(ohci); +} + /* Service a transport descriptor. Returns nonzero to terminate processing of this endpoint. */ @@ -430,7 +453,6 @@ static int ohci_service_td(OHCIState *ohci, struct ohci_ed *ed) { int dir; size_t len = 0; - uint8_t buf[8192]; char *str = NULL; int pid; int ret; @@ -439,8 +461,17 @@ static int ohci_service_td(OHCIState *ohci, struct ohci_ed *ed) struct ohci_td td; uint32_t addr; int flag_r; + int completion; addr = ed->head & OHCI_DPTR_MASK; + /* See if this TD has already been submitted to the device. */ + completion = (addr == ohci->async_td); + if (completion && !ohci->async_complete) { +#ifdef DEBUG_PACKET + dprintf("Skipping async TD\n"); +#endif + return 1; + } if (!ohci_read_td(addr, &td)) { fprintf(stderr, "usb-ohci: TD read error at %x\n", addr); return 0; @@ -481,8 +512,8 @@ static int ohci_service_td(OHCIState *ohci, struct ohci_ed *ed) len = (td.be - td.cbp) + 1; } - if (len && dir != OHCI_TD_DIR_IN) { - ohci_copy_td(&td, buf, len, 0); + if (len && dir != OHCI_TD_DIR_IN && !completion) { + ohci_copy_td(&td, ohci->usb_buf, len, 0); } } @@ -494,31 +525,58 @@ static int ohci_service_td(OHCIState *ohci, struct ohci_ed *ed) if (len >= 0 && dir != OHCI_TD_DIR_IN) { dprintf(" data:"); for (i = 0; i < len; i++) - printf(" %.2x", buf[i]); + printf(" %.2x", ohci->usb_buf[i]); dprintf("\n"); } #endif - ret = USB_RET_NODEV; - for (i = 0; i < ohci->num_ports; i++) { - dev = ohci->rhport[i].port.dev; - if ((ohci->rhport[i].ctrl & OHCI_PORT_PES) == 0) - continue; - - ret = dev->handle_packet(dev, pid, OHCI_BM(ed->flags, ED_FA), - OHCI_BM(ed->flags, ED_EN), buf, len); - if (ret != USB_RET_NODEV) - break; - } + if (completion) { + ret = ohci->usb_packet.len; + ohci->async_td = 0; + ohci->async_complete = 0; + } else { + ret = USB_RET_NODEV; + for (i = 0; i < ohci->num_ports; i++) { + dev = ohci->rhport[i].port.dev; + if ((ohci->rhport[i].ctrl & OHCI_PORT_PES) == 0) + continue; + + if (ohci->async_td) { + /* ??? The hardware should allow one active packet per + endpoint. We only allow one active packet per controller. + This should be sufficient as long as devices respond in a + timely manner. + */ #ifdef DEBUG_PACKET - dprintf("ret=%d\n", ret); + dprintf("Too many pending packets\n"); #endif + return 1; + } + ohci->usb_packet.pid = pid; + ohci->usb_packet.devaddr = OHCI_BM(ed->flags, ED_FA); + ohci->usb_packet.devep = OHCI_BM(ed->flags, ED_EN); + ohci->usb_packet.data = ohci->usb_buf; + ohci->usb_packet.len = len; + ohci->usb_packet.complete_cb = ohci_async_complete_packet; + ohci->usb_packet.complete_opaque = ohci; + ret = dev->handle_packet(dev, &ohci->usb_packet); + if (ret != USB_RET_NODEV) + break; + } +#ifdef DEBUG_PACKET + dprintf("ret=%d\n", ret); +#endif + if (ret == USB_RET_ASYNC) { + ohci->async_td = addr; + return 1; + } + } if (ret >= 0) { if (dir == OHCI_TD_DIR_IN) { - ohci_copy_td(&td, buf, ret, 1); + ohci_copy_td(&td, ohci->usb_buf, ret, 1); #ifdef DEBUG_PACKET dprintf(" data:"); for (i = 0; i < ret; i++) - printf(" %.2x", buf[i]); + printf(" %.2x", ohci->usb_buf[i]); dprintf("\n"); #endif } else { @@ -608,8 +666,16 @@ static int ohci_service_ed_list(OHCIState *ohci, uint32_t head) next_ed = ed.next & OHCI_DPTR_MASK; - if ((ed.head & OHCI_ED_H) || (ed.flags & OHCI_ED_K)) + if ((ed.head & OHCI_ED_H) || (ed.flags & OHCI_ED_K)) { + uint32_t addr; + /* Cancel pending packets for ED that have been paused. */ + addr = ed.head & OHCI_DPTR_MASK; + if (ohci->async_td && addr == ohci->async_td) { + usb_cancel_packet(&ohci->usb_packet); + ohci->async_td = 0; + } continue; + } /* Skip isochronous endpoints. */ if (ed.flags & OHCI_ED_F) @@ -646,6 +712,26 @@ static void ohci_sof(OHCIState *ohci) ohci_set_interrupt(ohci, OHCI_INTR_SF); } +/* Process Control and Bulk lists. */ +static void ohci_process_lists(OHCIState *ohci) +{ + if ((ohci->ctl & OHCI_CTL_CLE) && (ohci->status & OHCI_STATUS_CLF)) { + if (ohci->ctrl_cur && ohci->ctrl_cur != ohci->ctrl_head) + dprintf("usb-ohci: head %x, cur %x\n", ohci->ctrl_head, ohci->ctrl_cur); + if (!ohci_service_ed_list(ohci, ohci->ctrl_head)) { + ohci->ctrl_cur = 0; + ohci->status &= ~OHCI_STATUS_CLF; + } + } + + if ((ohci->ctl & OHCI_CTL_BLE) && (ohci->status & OHCI_STATUS_BLF)) { + if (!ohci_service_ed_list(ohci, ohci->bulk_head)) { + ohci->bulk_cur = 0; + ohci->status &= ~OHCI_STATUS_BLF; + } + } +} + /* Do frame processing on frame boundary */ static void ohci_frame_boundary(void *opaque) { @@ -661,21 +747,15 @@ static void ohci_frame_boundary(void *opaque) n = ohci->frame_number & 0x1f; ohci_service_ed_list(ohci, le32_to_cpu(hcca.intr[n])); } - if ((ohci->ctl & OHCI_CTL_CLE) && (ohci->status & OHCI_STATUS_CLF)) { - if (ohci->ctrl_cur && ohci->ctrl_cur != ohci->ctrl_head) - dprintf("usb-ohci: head %x, cur %x\n", ohci->ctrl_head, ohci->ctrl_cur); - if (!ohci_service_ed_list(ohci, ohci->ctrl_head)) { - ohci->ctrl_cur = 0; - ohci->status &= ~OHCI_STATUS_CLF; - } - } - if ((ohci->ctl & OHCI_CTL_BLE) && (ohci->status & OHCI_STATUS_BLF)) { - if (!ohci_service_ed_list(ohci, ohci->bulk_head)) { - ohci->bulk_cur = 0; - ohci->status &= ~OHCI_STATUS_BLF; - } + /* Cancel all pending packets if either of the lists has been disabled. */ + if (ohci->async_td && + ohci->old_ctl & (~ohci->ctl) & (OHCI_CTL_BLE | OHCI_CTL_CLE)) { + usb_cancel_packet(&ohci->usb_packet); + ohci->async_td = 0; } + ohci->old_ctl = ohci->ctl; + ohci_process_lists(ohci); /* Frame boundary, so do EOF stuf here */ ohci->frt = ohci->fit; @@ -907,8 +987,7 @@ static void ohci_port_set_status(OHCIState *ohci, int portnum, uint32_t val) if (ohci_port_set_if_connected(ohci, portnum, val & OHCI_PORT_PRS)) { dprintf("usb-ohci: port %d: RESET\n", portnum); - port->port.dev->handle_packet(port->port.dev, USB_MSG_RESET, - 0, 0, NULL, 0); + usb_send_msg(port->port.dev, USB_MSG_RESET); port->ctrl &= ~OHCI_PORT_PRS; /* ??? Should this also set OHCI_PORT_PESC. */ port->ctrl |= OHCI_PORT_PES | OHCI_PORT_PRSC; @@ -1186,5 +1265,6 @@ void usb_ohci_init(struct PCIBus *bus, int num_ports, int devfn) qemu_register_usb_port(&ohci->rhport[i].port, ohci, i, ohci_attach); } + ohci->async_td = 0; ohci_reset(ohci); } diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c index 1a6e0130f9..29809f96bf 100644 --- a/hw/usb-uhci.c +++ b/hw/usb-uhci.c @@ -76,6 +76,18 @@ typedef struct UHCIState { uint8_t status2; /* bit 0 and 1 are used to generate UHCI_STS_USBINT */ QEMUTimer *frame_timer; UHCIPort ports[NB_PORTS]; + + /* Interrupts that should be raised at the end of the current frame. */ + uint32_t pending_int_mask; + /* For simplicity of implementation we only allow a single pending USB + request. This means all usb traffic on this controller is effectively + suspended until that transfer completes. When the transfer completes + the next transfer from that queue will be processed. However + other queues will not be processed until the next frame. The solution + is to allow multiple pending requests. */ + uint32_t async_qh; + USBPacket usb_packet; + uint8_t usb_buf[1280]; } UHCIState; typedef struct UHCI_TD { @@ -188,8 +200,7 @@ static void uhci_ioport_writew(void *opaque, uint32_t addr, uint32_t val) port = &s->ports[i]; dev = port->port.dev; if (dev) { - dev->handle_packet(dev, - USB_MSG_RESET, 0, 0, NULL, 0); + usb_send_msg(dev, USB_MSG_RESET); } } uhci_reset(s); @@ -232,8 +243,7 @@ static void uhci_ioport_writew(void *opaque, uint32_t addr, uint32_t val) /* port reset */ if ( (val & UHCI_PORT_RESET) && !(port->ctrl & UHCI_PORT_RESET) ) { - dev->handle_packet(dev, - USB_MSG_RESET, 0, 0, NULL, 0); + usb_send_msg(dev, USB_MSG_RESET); } } port->ctrl = (port->ctrl & 0x01fb) | (val & ~0x01fb); @@ -336,8 +346,7 @@ static void uhci_attach(USBPort *port1, USBDevice *dev) port->ctrl &= ~UHCI_PORT_LSDA; port->port.dev = dev; /* send the attach message */ - dev->handle_packet(dev, - USB_MSG_ATTACH, 0, 0, NULL, 0); + usb_send_msg(dev, USB_MSG_ATTACH); } else { /* set connect status */ if (port->ctrl & UHCI_PORT_CCS) { @@ -352,16 +361,13 @@ static void uhci_attach(USBPort *port1, USBDevice *dev) dev = port->port.dev; if (dev) { /* send the detach message */ - dev->handle_packet(dev, - USB_MSG_DETACH, 0, 0, NULL, 0); + usb_send_msg(dev, USB_MSG_DETACH); } port->port.dev = NULL; } } -static int uhci_broadcast_packet(UHCIState *s, uint8_t pid, - uint8_t devaddr, uint8_t devep, - uint8_t *data, int len) +static int uhci_broadcast_packet(UHCIState *s, USBPacket *p) { UHCIPort *port; USBDevice *dev; @@ -370,18 +376,18 @@ static int uhci_broadcast_packet(UHCIState *s, uint8_t pid, #ifdef DEBUG_PACKET { const char *pidstr; - switch(pid) { + switch(p->pid) { case USB_TOKEN_SETUP: pidstr = "SETUP"; break; case USB_TOKEN_IN: pidstr = "IN"; break; case USB_TOKEN_OUT: pidstr = "OUT"; break; default: pidstr = "?"; break; } printf("frame %d: pid=%s addr=0x%02x ep=%d len=%d\n", - s->frnum, pidstr, devaddr, devep, len); - if (pid != USB_TOKEN_IN) { + s->frnum, pidstr, p->devaddr, p->devep, p->len); + if (p->pid != USB_TOKEN_IN) { printf(" data_out="); - for(i = 0; i < len; i++) { - printf(" %02x", data[i]); + for(i = 0; i < p->len; i++) { + printf(" %02x", p->data[i]); } printf("\n"); } @@ -391,17 +397,17 @@ static int uhci_broadcast_packet(UHCIState *s, uint8_t pid, port = &s->ports[i]; dev = port->port.dev; if (dev && (port->ctrl & UHCI_PORT_EN)) { - ret = dev->handle_packet(dev, pid, - devaddr, devep, - data, len); + ret = dev->handle_packet(dev, p); if (ret != USB_RET_NODEV) { #ifdef DEBUG_PACKET - { + if (ret == USB_RET_ASYNC) { + printf("usb-uhci: Async packet\n"); + } else { printf(" ret=%d ", ret); - if (pid == USB_TOKEN_IN && ret > 0) { + if (p->pid == USB_TOKEN_IN && ret > 0) { printf("data_in="); for(i = 0; i < ret; i++) { - printf(" %02x", data[i]); + printf(" %02x", p->data[i]); } } printf("\n"); @@ -414,6 +420,8 @@ static int uhci_broadcast_packet(UHCIState *s, uint8_t pid, return USB_RET_NODEV; } +static void uhci_async_complete_packet(USBPacket * packet, void *opaque); + /* return -1 if fatal error (frame must be stopped) 0 if TD successful 1 if TD unsuccessful or inactive @@ -421,9 +429,9 @@ static int uhci_broadcast_packet(UHCIState *s, uint8_t pid, static int uhci_handle_td(UHCIState *s, UHCI_TD *td, int *int_mask) { uint8_t pid; - uint8_t buf[1280]; int len, max_len, err, ret; + /* ??? This is wrong for async completion. */ if (td->ctrl & TD_CTRL_IOC) { *int_mask |= 0x01; } @@ -434,21 +442,8 @@ static int uhci_handle_td(UHCIState *s, UHCI_TD *td, int *int_mask) /* TD is active */ max_len = ((td->token >> 21) + 1) & 0x7ff; pid = td->token & 0xff; - switch(pid) { - case USB_TOKEN_OUT: - case USB_TOKEN_SETUP: - cpu_physical_memory_read(td->buffer, buf, max_len); - ret = uhci_broadcast_packet(s, pid, - (td->token >> 8) & 0x7f, - (td->token >> 15) & 0xf, - buf, max_len); - len = max_len; - break; - case USB_TOKEN_IN: - ret = uhci_broadcast_packet(s, pid, - (td->token >> 8) & 0x7f, - (td->token >> 15) & 0xf, - buf, max_len); + if (s->async_qh) { + ret = s->usb_packet.len; if (ret >= 0) { len = ret; if (len > max_len) { @@ -457,17 +452,52 @@ static int uhci_handle_td(UHCIState *s, UHCI_TD *td, int *int_mask) } if (len > 0) { /* write the data back */ - cpu_physical_memory_write(td->buffer, buf, len); + cpu_physical_memory_write(td->buffer, s->usb_buf, len); } } else { len = 0; } - break; - default: - /* invalid pid : frame interrupted */ - s->status |= UHCI_STS_HCPERR; - uhci_update_irq(s); - return -1; + s->async_qh = 0; + } else { + s->usb_packet.pid = pid; + s->usb_packet.devaddr = (td->token >> 8) & 0x7f; + s->usb_packet.devep = (td->token >> 15) & 0xf; + s->usb_packet.data = s->usb_buf; + s->usb_packet.len = max_len; + s->usb_packet.complete_cb = uhci_async_complete_packet; + s->usb_packet.complete_opaque = s; + switch(pid) { + case USB_TOKEN_OUT: + case USB_TOKEN_SETUP: + cpu_physical_memory_read(td->buffer, s->usb_buf, max_len); + ret = uhci_broadcast_packet(s, &s->usb_packet); + len = max_len; + break; + case USB_TOKEN_IN: + ret = uhci_broadcast_packet(s, &s->usb_packet); + if (ret >= 0) { + len = ret; + if (len > max_len) { + len = max_len; + ret = USB_RET_BABBLE; + } + if (len > 0) { + /* write the data back */ + cpu_physical_memory_write(td->buffer, s->usb_buf, len); + } + } else { + len = 0; + } + break; + default: + /* invalid pid : frame interrupted */ + s->status |= UHCI_STS_HCPERR; + uhci_update_irq(s); + return -1; + } + } + if (ret == USB_RET_ASYNC) { + return 2; } if (td->ctrl & TD_CTRL_IOS) td->ctrl &= ~TD_CTRL_ACTIVE; @@ -520,6 +550,61 @@ static int uhci_handle_td(UHCIState *s, UHCI_TD *td, int *int_mask) } } +static void uhci_async_complete_packet(USBPacket * packet, void *opaque) +{ + UHCIState *s = opaque; + UHCI_QH qh; + UHCI_TD td; + uint32_t link; + uint32_t old_td_ctrl; + uint32_t val; + int ret; + + link = s->async_qh; + if (!link) { + /* This should never happen. It means a TD somehow got removed + without cancelling the associated async IO request. */ + return; + } + cpu_physical_memory_read(link & ~0xf, (uint8_t *)&qh, sizeof(qh)); + le32_to_cpus(&qh.link); + le32_to_cpus(&qh.el_link); + /* Re-process the queue containing the async packet. */ + while (1) { + cpu_physical_memory_read(qh.el_link & ~0xf, + (uint8_t *)&td, sizeof(td)); + le32_to_cpus(&td.link); + le32_to_cpus(&td.ctrl); + le32_to_cpus(&td.token); + le32_to_cpus(&td.buffer); + old_td_ctrl = td.ctrl; + ret = uhci_handle_td(s, &td, &s->pending_int_mask); + /* update the status bits of the TD */ + if (old_td_ctrl != td.ctrl) { + val = cpu_to_le32(td.ctrl); + cpu_physical_memory_write((qh.el_link & ~0xf) + 4, + (const uint8_t *)&val, + sizeof(val)); + } + if (ret < 0) + break; /* interrupted frame */ + if (ret == 2) { + s->async_qh = link; + break; + } else if (ret == 0) { + /* update qh element link */ + qh.el_link = td.link; + val = cpu_to_le32(qh.el_link); + cpu_physical_memory_write((link & ~0xf) + 4, + (const uint8_t *)&val, + sizeof(val)); + if (!(qh.el_link & 4)) + break; + } + break; + } +} + static void uhci_frame_timer(void *opaque) { UHCIState *s = opaque; @@ -528,6 +613,7 @@ static void uhci_frame_timer(void *opaque) int int_mask, cnt, ret; UHCI_TD td; UHCI_QH qh; + uint32_t old_async_qh; if (!(s->cmd & UHCI_CMD_RS)) { qemu_del_timer(s->frame_timer); @@ -535,6 +621,14 @@ static void uhci_frame_timer(void *opaque) s->status |= UHCI_STS_HCHALTED; return; } + /* Complete the previous frame. */ + s->frnum = (s->frnum + 1) & 0x7ff; + if (s->pending_int_mask) { + s->status2 |= s->pending_int_mask; + s->status |= UHCI_STS_USBINT; + uhci_update_irq(s); + } + old_async_qh = s->async_qh; frame_addr = s->fl_base_addr + ((s->frnum & 0x3ff) << 2); cpu_physical_memory_read(frame_addr, (uint8_t *)&link, 4); le32_to_cpus(&link); @@ -546,6 +640,12 @@ static void uhci_frame_timer(void *opaque) /* valid frame */ if (link & 2) { /* QH */ + if (link == s->async_qh) { + /* We've found a previously issues packet. + Nothing else to do. */ + old_async_qh = 0; + break; + } cpu_physical_memory_read(link & ~0xf, (uint8_t *)&qh, sizeof(qh)); le32_to_cpus(&qh.link); le32_to_cpus(&qh.el_link); @@ -556,6 +656,10 @@ static void uhci_frame_timer(void *opaque) } else if (qh.el_link & 2) { /* QH */ link = qh.el_link; + } else if (s->async_qh) { + /* We can only cope with one pending packet. Keep looking + for the previously issued packet. */ + link = qh.link; } else { /* TD */ if (--cnt == 0) @@ -577,7 +681,9 @@ static void uhci_frame_timer(void *opaque) } if (ret < 0) break; /* interrupted frame */ - if (ret == 0) { + if (ret == 2) { + s->async_qh = link; + } else if (ret == 0) { /* update qh element link */ qh.el_link = td.link; val = cpu_to_le32(qh.el_link); @@ -599,25 +705,41 @@ static void uhci_frame_timer(void *opaque) le32_to_cpus(&td.ctrl); le32_to_cpus(&td.token); le32_to_cpus(&td.buffer); - old_td_ctrl = td.ctrl; - ret = uhci_handle_td(s, &td, &int_mask); - /* update the status bits of the TD */ - if (old_td_ctrl != td.ctrl) { - val = cpu_to_le32(td.ctrl); - cpu_physical_memory_write((link & ~0xf) + 4, - (const uint8_t *)&val, - sizeof(val)); + /* Ignore isochonous transfers while there is an async packet + pending. This is wrong, but we don't implement isochronous + transfers anyway. */ + if (s->async_qh == 0) { + old_td_ctrl = td.ctrl; + ret = uhci_handle_td(s, &td, &int_mask); + /* update the status bits of the TD */ + if (old_td_ctrl != td.ctrl) { + val = cpu_to_le32(td.ctrl); + cpu_physical_memory_write((link & ~0xf) + 4, + (const uint8_t *)&val, + sizeof(val)); + } + if (ret < 0) + break; /* interrupted frame */ + if (ret == 2) { + /* We can't handle async isochronous transfers. + Cancel The packet. */ + fprintf(stderr, "usb-uhci: Unimplemented async packet\n"); + usb_cancel_packet(&s->usb_packet); + } } - if (ret < 0) - break; /* interrupted frame */ link = td.link; } } - s->frnum = (s->frnum + 1) & 0x7ff; - if (int_mask) { - s->status2 |= int_mask; - s->status |= UHCI_STS_USBINT; - uhci_update_irq(s); + s->pending_int_mask = int_mask; + if (old_async_qh) { + /* A previously started transfer has disappeared from the transfer + list. There's nothing useful we can do with it now, so just + discard the packet and hope it wasn't too important. */ +#ifdef DEBUG + printf("Discarding USB packet\n"); +#endif + usb_cancel_packet(&s->usb_packet); + s->async_qh = 0; } /* prepare the timer for the next frame */ expire_time = qemu_get_clock(vm_clock) + diff --git a/hw/usb.c b/hw/usb.c index 34aac5fa9b..efbc6dbe98 100644 --- a/hw/usb.c +++ b/hw/usb.c @@ -38,13 +38,13 @@ void usb_attach(USBPort *port, USBDevice *dev) #define SETUP_STATE_DATA 1 #define SETUP_STATE_ACK 2 -int usb_generic_handle_packet(USBDevice *s, int pid, - uint8_t devaddr, uint8_t devep, - uint8_t *data, int len) +int usb_generic_handle_packet(USBDevice *s, USBPacket *p) { int l, ret = 0; + int len = p->len; + uint8_t *data = p->data; - switch(pid) { + switch(p->pid) { case USB_MSG_ATTACH: s->state = USB_STATE_ATTACHED; break; @@ -58,7 +58,7 @@ int usb_generic_handle_packet(USBDevice *s, int pid, s->handle_reset(s); break; case USB_TOKEN_SETUP: - if (s->state < USB_STATE_DEFAULT || devaddr != s->addr) + if (s->state < USB_STATE_DEFAULT || p->devaddr != s->addr) return USB_RET_NODEV; if (len != 8) goto fail; @@ -85,9 +85,9 @@ int usb_generic_handle_packet(USBDevice *s, int pid, } break; case USB_TOKEN_IN: - if (s->state < USB_STATE_DEFAULT || devaddr != s->addr) + if (s->state < USB_STATE_DEFAULT || p->devaddr != s->addr) return USB_RET_NODEV; - switch(devep) { + switch(p->devep) { case 0: switch(s->setup_state) { case SETUP_STATE_ACK: @@ -125,14 +125,14 @@ int usb_generic_handle_packet(USBDevice *s, int pid, } break; default: - ret = s->handle_data(s, pid, devep, data, len); + ret = s->handle_data(s, p); break; } break; case USB_TOKEN_OUT: - if (s->state < USB_STATE_DEFAULT || devaddr != s->addr) + if (s->state < USB_STATE_DEFAULT || p->devaddr != s->addr) return USB_RET_NODEV; - switch(devep) { + switch(p->devep) { case 0: switch(s->setup_state) { case SETUP_STATE_ACK: @@ -163,7 +163,7 @@ int usb_generic_handle_packet(USBDevice *s, int pid, } break; default: - ret = s->handle_data(s, pid, devep, data, len); + ret = s->handle_data(s, p); break; } break; @@ -191,3 +191,13 @@ int set_usb_string(uint8_t *buf, const char *str) } return q - buf; } + +/* Send an internal message to a USB device. */ +void usb_send_msg(USBDevice *dev, int msg) +{ + USBPacket p; + memset(&p, 0, sizeof(p)); + p.pid = msg; + dev->handle_packet(dev, &p); +} + diff --git a/hw/usb.h b/hw/usb.h index 98fde06569..ed8890e39a 100644 --- a/hw/usb.h +++ b/hw/usb.h @@ -34,6 +34,7 @@ #define USB_RET_NAK (-2) #define USB_RET_STALL (-3) #define USB_RET_BABBLE (-4) +#define USB_RET_ASYNC (-5) #define USB_SPEED_LOW 0 #define USB_SPEED_FULL 1 @@ -109,13 +110,12 @@ typedef struct USBPort USBPort; typedef struct USBDevice USBDevice; +typedef struct USBPacket USBPacket; /* definition of a USB device */ struct USBDevice { void *opaque; - int (*handle_packet)(USBDevice *dev, int pid, - uint8_t devaddr, uint8_t devep, - uint8_t *data, int len); + int (*handle_packet)(USBDevice *dev, USBPacket *p); void (*handle_destroy)(USBDevice *dev); int speed; @@ -126,8 +126,7 @@ struct USBDevice { void (*handle_reset)(USBDevice *dev); int (*handle_control)(USBDevice *dev, int request, int value, int index, int length, uint8_t *data); - int (*handle_data)(USBDevice *dev, int pid, uint8_t devep, - uint8_t *data, int len); + int (*handle_data)(USBDevice *dev, USBPacket *p); uint8_t addr; char devname[32]; @@ -151,11 +150,54 @@ struct USBPort { struct USBPort *next; /* Used internally by qemu. */ }; +typedef void USBCallback(USBPacket * packet, void *opaque); + +/* Structure used to hold information about an active USB packet. */ +struct USBPacket { + /* Data fields for use by the driver. */ + int pid; + uint8_t devaddr; + uint8_t devep; + uint8_t *data; + int len; + /* Internal use by the USB layer. */ + USBCallback *complete_cb; + void *complete_opaque; + USBCallback *cancel_cb; + void * *cancel_opaque; +}; + +/* Defer completion of a USB packet. The hadle_packet routine should then + return USB_RET_ASYNC. Packets that complete immediately (before + handle_packet returns) should not call this method. */ +static inline void usb_defer_packet(USBPacket *p, USBCallback *cancel, + void * opaque) +{ + p->cancel_cb = cancel; + p->cancel_opaque = opaque; +} + +/* Notify the controller that an async packet is complete. This should only + be called for packets previously deferred with usb_defer_packet, and + should never be called from within handle_packet. */ +static inline void usb_packet_complete(USBPacket *p) +{ + p->complete_cb(p, p->complete_opaque); +} + +/* Cancel an active packet. The packed must have been deferred with + usb_defer_packet, and not yet completed. */ +static inline void usb_cancel_packet(USBPacket * p) +{ + p->cancel_cb(p, p->cancel_opaque); +} + void usb_attach(USBPort *port, USBDevice *dev); -int usb_generic_handle_packet(USBDevice *s, int pid, - uint8_t devaddr, uint8_t devep, - uint8_t *data, int len); +int usb_generic_handle_packet(USBDevice *s, USBPacket *p); int set_usb_string(uint8_t *buf, const char *str); +void usb_send_msg(USBDevice *dev, int msg); + +void usb_packet_complete(USBPacket *p); /* usb hub */ USBDevice *usb_hub_init(int nb_ports); diff --git a/pc-bios/openbios-esp.diff b/pc-bios/openbios-esp.diff new file mode 100644 index 0000000000..5d4f836f12 --- /dev/null +++ b/pc-bios/openbios-esp.diff @@ -0,0 +1,30 @@ +The ESP SCSI driver currently doesn't check whether a DMA requests has +completed before checking its status. On older qemu versions this works ok +because DMA happens instantly. On never qemu DMA can take an indeterminate +amount of time ooto complete, just like on real hardware. + +The patch below waits for the controller to raise the DMA interrupt after +initiating a DMA request. + +Index: drivers/esp.c +=================================================================== +--- drivers/esp.c (revision 61) ++++ drivers/esp.c (working copy) +@@ -113,6 +113,8 @@ do_command(esp_private_t *esp, sd_privat + esp->espdma.regs->cond_reg = 0; + // Set ATN, issue command + esp->ll->regs[ESP_CMD] = ESP_CMD_SELA | ESP_CMD_DMA; ++ // Wait for DMA to complete ++ while ((esp->espdma.regs->cond_reg & DMA_HNDL_INTR) == 0) /* no-op */; + // Check status + status = esp->ll->regs[ESP_STATUS]; + +@@ -129,6 +131,8 @@ do_command(esp_private_t *esp, sd_privat + esp->espdma.regs->cond_reg = DMA_ST_WRITE; + // Transfer + esp->ll->regs[ESP_CMD] = ESP_CMD_TI | ESP_CMD_DMA; ++ // Wait for DMA to complete ++ while ((esp->espdma.regs->cond_reg & DMA_HNDL_INTR) == 0) /* no-op */; + // Check status + status = esp->ll->regs[ESP_STATUS]; + diff --git a/pc-bios/openbios-sparc32 b/pc-bios/openbios-sparc32 index 7a729aa81ba39b3ed037ac7fad1db4616818738b..04b60776df5cb83e617cab5e714a87210dbff365 100644 GIT binary patch delta 69895 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 L>x(Y#xrhHRgGveD literal 506966 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

U&j895hOCfzP@7L1G01#0 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 diff --git a/usb-linux.c b/usb-linux.c index 0a13753d48..77436927cd 100644 --- a/usb-linux.c +++ b/usb-linux.c @@ -114,22 +114,21 @@ static int usb_host_handle_control(USBDevice *dev, } } -static int usb_host_handle_data(USBDevice *dev, int pid, - uint8_t devep, - uint8_t *data, int len) +static int usb_host_handle_data(USBDevice *dev, USBPacket *p) { USBHostDevice *s = (USBHostDevice *)dev; struct usbdevfs_bulktransfer bt; int ret; + uint8_t devep = p->devep; /* XXX: optimize and handle all data types by looking at the config descriptor */ - if (pid == USB_TOKEN_IN) + if (p->pid == USB_TOKEN_IN) devep |= 0x80; bt.ep = devep; - bt.len = len; + bt.len = p->len; bt.timeout = 50; - bt.data = data; + bt.data = p->data; ret = ioctl(s->fd, USBDEVFS_BULK, &bt); if (ret < 0) { switch(errno) { diff --git a/vl.h b/vl.h index 1632e35711..5a1032681d 100644 --- a/vl.h +++ b/vl.h @@ -1146,6 +1146,11 @@ void do_usb_del(const char *devname); void usb_info(void); /* scsi-disk.c */ +enum scsi_reason { + SCSI_REASON_DONE, /* Command complete. */ + SCSI_REASON_DATA /* Transfer complete, more data required. */ +}; + typedef struct SCSIDevice SCSIDevice; typedef void (*scsi_completionfn)(void *, uint32_t, int); @@ -1155,8 +1160,12 @@ SCSIDevice *scsi_disk_init(BlockDriverState *bdrv, void scsi_disk_destroy(SCSIDevice *s); int32_t scsi_send_command(SCSIDevice *s, uint32_t tag, uint8_t *buf, int lun); +/* SCSI data transfers are asynchrnonous. However, unlike the block IO + layer the completion routine may be called directly by + scsi_{read,write}_data. */ int scsi_read_data(SCSIDevice *s, uint8_t *data, uint32_t len); int scsi_write_data(SCSIDevice *s, uint8_t *data, uint32_t len); +void scsi_cancel_io(SCSIDevice *s); /* lsi53c895a.c */ void lsi_scsi_attach(void *opaque, BlockDriverState *bd, int id); -- GitLab