From d2e21b9f9b38886b86a42952a449ea1a8d0608cd Mon Sep 17 00:00:00 2001 From: Maurizio Porrato Date: Sat, 13 Feb 2021 16:17:19 +0000 Subject: [PATCH] Add a name field to the dev_entry struct --- dev_clock.c | 2 +- dev_debug.c | 2 +- dev_lem1802.c | 4 ++-- device.h | 1 + dsim.c | 6 +++++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/dev_clock.c b/dev_clock.c index 034c76f..e78a22d 100644 --- a/dev_clock.c +++ b/dev_clock.c @@ -59,4 +59,4 @@ void clock_irqh() } } -struct dev_entry clock_dev = { 0x6d53647c, 0x12d0b402, 0x0000, clock_irqh, clock_init, NULL, clock_tick }; /* Clock device */ +struct dev_entry clock_dev = { 0x6d53647c, 0x12d0b402, 0x0000, "Clock", clock_irqh, clock_init, NULL, clock_tick }; /* Clock device */ diff --git a/dev_debug.c b/dev_debug.c index 9c54993..03e335a 100644 --- a/dev_debug.c +++ b/dev_debug.c @@ -59,4 +59,4 @@ void debug_irqh() } } -struct dev_entry debug_dev = { 0x6d53647c, 0x62e037d3, 0x0000, debug_irqh, NULL, NULL, debug_tick }; /* Debug device */ +struct dev_entry debug_dev = { 0x6d53647c, 0x62e037d3, 0x0000, "Debugger", debug_irqh, NULL, NULL, debug_tick }; /* Debug device */ diff --git a/dev_lem1802.c b/dev_lem1802.c index 969eedd..a503a98 100644 --- a/dev_lem1802.c +++ b/dev_lem1802.c @@ -373,5 +373,5 @@ void keyboard_irqh() } } -struct dev_entry lem1802_dev = { 0x1c6c8b36, 0x7349f615, 0x1802, lem1802_irqh, lem1802_init, lem1802_free, lem1802_tick }; /* LEM1802 */ -struct dev_entry keyboard_dev = { 0x6d53647c, 0x30cf7406, 1, keyboard_irqh, keyboard_init, NULL, NULL }; /* Generic keyboard */ +struct dev_entry lem1802_dev = { 0x1c6c8b36, 0x7349f615, 0x1802, "LEM1802 (SDL)", lem1802_irqh, lem1802_init, lem1802_free, lem1802_tick }; /* LEM1802 */ +struct dev_entry keyboard_dev = { 0x6d53647c, 0x30cf7406, 1, "Keyboard (SDL)", keyboard_irqh, keyboard_init, NULL, NULL }; /* Generic keyboard */ diff --git a/device.h b/device.h index 87c8259..d984a8c 100644 --- a/device.h +++ b/device.h @@ -8,6 +8,7 @@ struct dev_entry { uint32_t vendor; uint32_t product; uint16_t version; + char *name; void (*irqh)(); void (*init)(); void (*free)(); diff --git a/dsim.c b/dsim.c index bef7e34..042b73b 100644 --- a/dsim.c +++ b/dsim.c @@ -68,9 +68,13 @@ void reset() trace = false; running = true; - for (hwn = 0; iodevs[hwn] != NULL; hwn++) + for (hwn = 0; iodevs[hwn] != NULL; hwn++) { + printf("HWI %d: V:%08x P:%08x R:%04x %s\n", + hwn, iodevs[hwn]->vendor, iodevs[hwn]->product, + iodevs[hwn]->version, iodevs[hwn]->name); if (iodevs[hwn]->init) iodevs[hwn]->init(); + } printf("Initialized %d devices\n", hwn); }