aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHervé Poussineau <hpoussin@reactos.org>2012-07-09 12:02:24 +0200
committerBlue Swirl <blauwirbel@gmail.com>2012-07-14 10:11:49 +0000
commit6fe84c18357b7dd7ee2c1b1c3eb6c1a86ba1a286 (patch)
tree6d9804b5411a27f62be56dffda3c992b6172a564
parent7246e160763306d254772353adb8e0836c3eac5b (diff)
esp: implement Disable selection command
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
-rw-r--r--hw/esp.c6
-rw-r--r--trace-events1
2 files changed, 7 insertions, 0 deletions
diff --git a/hw/esp.c b/hw/esp.c
index ac91f00351..985a2ee8b6 100644
--- a/hw/esp.c
+++ b/hw/esp.c
@@ -117,6 +117,7 @@ struct ESPState {
#define CMD_SELATN 0x42
#define CMD_SELATNS 0x43
#define CMD_ENSEL 0x44
+#define CMD_DISSEL 0x45
#define STAT_DO 0x00
#define STAT_DI 0x01
@@ -649,6 +650,11 @@ static void esp_mem_write(void *opaque, target_phys_addr_t addr,
trace_esp_mem_writeb_cmd_ensel(val);
s->rregs[ESP_RINTR] = 0;
break;
+ case CMD_DISSEL:
+ trace_esp_mem_writeb_cmd_dissel(val);
+ s->rregs[ESP_RINTR] = 0;
+ esp_raise_irq(s);
+ break;
default:
ESP_ERROR("Unhandled ESP command (%2.2x)\n", (unsigned)val);
break;
diff --git a/trace-events b/trace-events
index 1f9fc98c89..ba893898a1 100644
--- a/trace-events
+++ b/trace-events
@@ -755,6 +755,7 @@ esp_mem_writeb_cmd_sel(uint32_t val) "Select without ATN (%2.2x)"
esp_mem_writeb_cmd_selatn(uint32_t val) "Select with ATN (%2.2x)"
esp_mem_writeb_cmd_selatns(uint32_t val) "Select with ATN & stop (%2.2x)"
esp_mem_writeb_cmd_ensel(uint32_t val) "Enable selection (%2.2x)"
+esp_mem_writeb_cmd_dissel(uint32_t val) "Disable selection (%2.2x)"
# monitor.c
handle_qmp_command(void *mon, const char *cmd_name) "mon %p cmd_name \"%s\""