[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2 02/16] ahci: modify ahci_port_read to use registe
From: |
John Snow |
Subject: |
[Qemu-block] [PATCH v2 02/16] ahci: modify ahci_port_read to use register numbers |
Date: |
Thu, 31 May 2018 18:28:21 -0400 |
Signed-off-by: John Snow <address@hidden>
---
hw/ide/ahci.c | 38 +++++++++++++++++++-------------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 48130c6439..5187bf34ad 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -93,41 +93,42 @@ static const char *AHCIPortIRQ_lookup[AHCI_PORT_IRQ__COUNT]
= {
[AHCI_PORT_IRQ_BIT_CPDS] = "CPDS"
};
-static uint32_t ahci_port_read(AHCIState *s, int port, int offset)
+static uint32_t ahci_port_read(AHCIState *s, int port, int offset)
{
uint32_t val;
- AHCIPortRegs *pr;
- pr = &s->dev[port].port_regs;
+ AHCIPortRegs *pr = &s->dev[port].port_regs;
+ enum AHCIPortReg regnum = offset / sizeof(uint32_t);
+ assert(regnum < (AHCI_PORT_ADDR_OFFSET_LEN / sizeof(uint32_t)));
- switch (offset) {
- case PORT_LST_ADDR:
+ switch (regnum) {
+ case AHCI_PORT_REG_LST_ADDR:
val = pr->lst_addr;
break;
- case PORT_LST_ADDR_HI:
+ case AHCI_PORT_REG_LST_ADDR_HI:
val = pr->lst_addr_hi;
break;
- case PORT_FIS_ADDR:
+ case AHCI_PORT_REG_FIS_ADDR:
val = pr->fis_addr;
break;
- case PORT_FIS_ADDR_HI:
+ case AHCI_PORT_REG_FIS_ADDR_HI:
val = pr->fis_addr_hi;
break;
- case PORT_IRQ_STAT:
+ case AHCI_PORT_REG_IRQ_STAT:
val = pr->irq_stat;
break;
- case PORT_IRQ_MASK:
+ case AHCI_PORT_REG_IRQ_MASK:
val = pr->irq_mask;
break;
- case PORT_CMD:
+ case AHCI_PORT_REG_CMD:
val = pr->cmd;
break;
- case PORT_TFDATA:
+ case AHCI_PORT_REG_TFDATA:
val = pr->tfdata;
break;
- case PORT_SIG:
+ case AHCI_PORT_REG_SIG:
val = pr->sig;
break;
- case PORT_SCR_STAT:
+ case AHCI_PORT_REG_SCR_STAT:
if (s->dev[port].port.ifs[0].blk) {
val = SATA_SCR_SSTATUS_DET_DEV_PRESENT_PHY_UP |
SATA_SCR_SSTATUS_SPD_GEN1 | SATA_SCR_SSTATUS_IPM_ACTIVE;
@@ -135,19 +136,18 @@ static uint32_t ahci_port_read(AHCIState *s, int port,
int offset)
val = SATA_SCR_SSTATUS_DET_NODEV;
}
break;
- case PORT_SCR_CTL:
+ case AHCI_PORT_REG_SCR_CTL:
val = pr->scr_ctl;
break;
- case PORT_SCR_ERR:
+ case AHCI_PORT_REG_SCR_ERR:
val = pr->scr_err;
break;
- case PORT_SCR_ACT:
+ case AHCI_PORT_REG_SCR_ACT:
val = pr->scr_act;
break;
- case PORT_CMD_ISSUE:
+ case AHCI_PORT_REG_CMD_ISSUE:
val = pr->cmd_issue;
break;
- case PORT_RESERVED:
default:
val = 0;
}
--
2.14.3
- [Qemu-block] [PATCH v2 00/16] AHCI: tracing improvements, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 05/16] ahci: combine identical clauses in port write, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 01/16] ahci: add port register enumeration, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 08/16] ahci: delete old port register address definitions, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 03/16] ahci: make port read traces more descriptive, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 09/16] ahci: add host register enumeration, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 02/16] ahci: modify ahci_port_read to use register numbers,
John Snow <=
- [Qemu-block] [PATCH v2 06/16] ahci: modify ahci_port_write to use register numbers, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 07/16] ahci: make port write traces more descriptive, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 04/16] ahci: fix spacing damage on ahci_port_write, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 10/16] ahci: fix host register max address, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 11/16] ahci: modify ahci_mem_read_32 to work on register numbers, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 14/16] ahci: adjust ahci_mem_write to work on registers, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 15/16] ahci: delete old host register address definitions, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 12/16] ahci: make mem_read_32 traces more descriptive, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 13/16] ahci: fix spacing damage on ahci_mem_write, John Snow, 2018/05/31
- [Qemu-block] [PATCH v2 16/16] ahci: make ahci_mem_write traces more descriptive, John Snow, 2018/05/31