[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 12/30] ahci: add host register enumeration
From: |
John Snow |
Subject: |
[Qemu-devel] [PULL 12/30] ahci: add host register enumeration |
Date: |
Fri, 8 Jun 2018 13:47:15 -0400 |
Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>
---
hw/ide/ahci.c | 15 +++++++++++++++
hw/ide/ahci_internal.h | 15 +++++++++++++++
2 files changed, 30 insertions(+)
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index a85847b165..5be43ba2d0 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -47,6 +47,21 @@ static bool ahci_map_fis_address(AHCIDevice *ad);
static void ahci_unmap_clb_address(AHCIDevice *ad);
static void ahci_unmap_fis_address(AHCIDevice *ad);
+__attribute__((__unused__)) /* TODO */
+static const char *AHCIHostReg_lookup[AHCI_HOST_REG__COUNT] = {
+ [AHCI_HOST_REG_CAP] = "CAP",
+ [AHCI_HOST_REG_CTL] = "GHC",
+ [AHCI_HOST_REG_IRQ_STAT] = "IS",
+ [AHCI_HOST_REG_PORTS_IMPL] = "PI",
+ [AHCI_HOST_REG_VERSION] = "VS",
+ [AHCI_HOST_REG_CCC_CTL] = "CCC_CTL",
+ [AHCI_HOST_REG_CCC_PORTS] = "CCC_PORTS",
+ [AHCI_HOST_REG_EM_LOC] = "EM_LOC",
+ [AHCI_HOST_REG_EM_CTL] = "EM_CTL",
+ [AHCI_HOST_REG_CAP2] = "CAP2",
+ [AHCI_HOST_REG_BOHC] = "BOHC",
+};
+
static const char *AHCIPortReg_lookup[AHCI_PORT_REG__COUNT] = {
[AHCI_PORT_REG_LST_ADDR] = "PxCLB",
[AHCI_PORT_REG_LST_ADDR_HI] = "PxCLBU",
diff --git a/hw/ide/ahci_internal.h b/hw/ide/ahci_internal.h
index db00c9aa39..af366db6f3 100644
--- a/hw/ide/ahci_internal.h
+++ b/hw/ide/ahci_internal.h
@@ -61,6 +61,21 @@
#define HOST_PORTS_IMPL 0x0c /* bitmap of implemented ports */
#define HOST_VERSION 0x10 /* AHCI spec. version compliancy */
+enum AHCIHostReg {
+ AHCI_HOST_REG_CAP = 0, /* CAP: host capabilities */
+ AHCI_HOST_REG_CTL = 1, /* GHC: global host control */
+ AHCI_HOST_REG_IRQ_STAT = 2, /* IS: interrupt status */
+ AHCI_HOST_REG_PORTS_IMPL = 3, /* PI: bitmap of implemented ports */
+ AHCI_HOST_REG_VERSION = 4, /* VS: AHCI spec. version compliancy */
+ AHCI_HOST_REG_CCC_CTL = 5, /* CCC_CTL: CCC Control */
+ AHCI_HOST_REG_CCC_PORTS = 6, /* CCC_PORTS: CCC Ports */
+ AHCI_HOST_REG_EM_LOC = 7, /* EM_LOC: Enclosure Mgmt Location */
+ AHCI_HOST_REG_EM_CTL = 8, /* EM_CTL: Enclosure Mgmt Control */
+ AHCI_HOST_REG_CAP2 = 9, /* CAP2: host capabilities, extended */
+ AHCI_HOST_REG_BOHC = 10, /* BOHC: firmare/os handoff ctrl & status */
+ AHCI_HOST_REG__COUNT = 11
+};
+
/* HOST_CTL bits */
#define HOST_CTL_RESET (1 << 0) /* reset controller; self-clear */
#define HOST_CTL_IRQ_EN (1 << 1) /* global IRQ enable */
--
2.14.3
- [Qemu-devel] [PULL 02/30] ahci: fix PxCI register race, (continued)
- [Qemu-devel] [PULL 02/30] ahci: fix PxCI register race, John Snow, 2018/06/08
- [Qemu-devel] [PULL 03/30] ahci: don't schedule unnecessary BH, John Snow, 2018/06/08
- [Qemu-devel] [PULL 01/30] ahci: trim signatures on raise/lower, John Snow, 2018/06/08
- [Qemu-devel] [PULL 15/30] ahci: make mem_read_32 traces more descriptive, John Snow, 2018/06/08
- [Qemu-devel] [PULL 18/30] ahci: delete old host register address definitions, John Snow, 2018/06/08
- [Qemu-devel] [PULL 05/30] ahci: modify ahci_port_read to use register numbers, John Snow, 2018/06/08
- [Qemu-devel] [PULL 08/30] ahci: combine identical clauses in port write, John Snow, 2018/06/08
- [Qemu-devel] [PULL 14/30] ahci: modify ahci_mem_read_32 to work on register numbers, John Snow, 2018/06/08
- [Qemu-devel] [PULL 13/30] ahci: fix host register max address, John Snow, 2018/06/08
- [Qemu-devel] [PULL 11/30] ahci: delete old port register address definitions, John Snow, 2018/06/08
- [Qemu-devel] [PULL 12/30] ahci: add host register enumeration,
John Snow <=
- [Qemu-devel] [PULL 06/30] ahci: make port read traces more descriptive, John Snow, 2018/06/08
- [Qemu-devel] [PULL 09/30] ahci: modify ahci_port_write to use register numbers, John Snow, 2018/06/08
- [Qemu-devel] [PULL 17/30] ahci: adjust ahci_mem_write to work on registers, John Snow, 2018/06/08
- [Qemu-devel] [PULL 16/30] ahci: fix spacing damage on ahci_mem_write, John Snow, 2018/06/08
- [Qemu-devel] [PULL 26/30] ide: push end_transfer_func out of start_transfer callback, rename callback, John Snow, 2018/06/08
- [Qemu-devel] [PULL 27/30] ide: call ide_cmd_done from ide_transfer_stop, John Snow, 2018/06/08
- [Qemu-devel] [PULL 04/30] ahci: add port register enumeration, John Snow, 2018/06/08
- [Qemu-devel] [PULL 10/30] ahci: make port write traces more descriptive, John Snow, 2018/06/08
- [Qemu-devel] [PULL 07/30] ahci: fix spacing damage on ahci_port_write, John Snow, 2018/06/08
- [Qemu-devel] [PULL 20/30] tests/boot-sector: Add magic bytes to s390x boot code header, John Snow, 2018/06/08