diff options
author | Burt P <pburt0@gmail.com> | 2017-07-09 22:52:41 -0500 |
---|---|---|
committer | Leandro Pereira <leandro@hardinfo.org> | 2017-07-12 19:38:41 -0700 |
commit | 9cb099818be4edc0cb2d28ca1e93bb27e8b36c18 (patch) | |
tree | 8cd0c13533462f49f2c1dae9027b9f93d8a75b93 | |
parent | 17651fbf35c8e6a6d16c5a31ddb7ab0ef03daeec (diff) |
sh (superh): fixes, add tests
Signed-off-by: Burt P <pburt0@gmail.com>
-rw-r--r-- | includes/sh/processor-platform.h | 4 | ||||
-rw-r--r-- | modules/devices/sh/processor.c | 28 | ||||
-rw-r--r-- | test/data/sh_dreamcast_cpuinfo | 9 | ||||
-rw-r--r-- | test/data/sh_sh3_cpuinfo | 4 | ||||
-rw-r--r-- | test/data/sh_sh64_cpuinfo | 13 | ||||
-rw-r--r-- | test/test.sh | 8 |
6 files changed, 55 insertions, 11 deletions
diff --git a/includes/sh/processor-platform.h b/includes/sh/processor-platform.h index 9bdae18b..26b58ec5 100644 --- a/includes/sh/processor-platform.h +++ b/includes/sh/processor-platform.h @@ -23,6 +23,10 @@ struct _Processor { gchar *model_name; gchar *vendor_id; gfloat bogomips, cpu_mhz; + + gfloat bus_mhz, mod_mhz; + + gchar *family; }; #endif /* __PROCESSOR_PLATFORM_H__ */ diff --git a/modules/devices/sh/processor.c b/modules/devices/sh/processor.c index a2018ff8..92b96f73 100644 --- a/modules/devices/sh/processor.c +++ b/modules/devices/sh/processor.c @@ -50,16 +50,24 @@ processor_scan(void) tmp[0] = g_strstrip(tmp[0]); tmp[1] = g_strstrip(tmp[1]); - get_str("machine", processor->model_name); - get_str("cpu type", processor->vendor_id); + get_str("machine", processor->vendor_id); + get_str("cpu type", processor->model_name); + get_str("cpu family", processor->family); + get_float("cpu clock", processor->cpu_mhz); + get_float("bus clock", processor->bus_mhz); + get_float("module clock", processor->mod_mhz); get_float("bogomips", processor->bogomips); - processor->cpu_mhz = processor->bogomips; } g_strfreev(tmp); } fclose(cpuinfo); + if (!processor->model_name) + processor->model_name = _("SuperH Processor"); + if (!processor->vendor_id) + processor->vendor_id = _("(Unknown)"); + return g_slist_append(NULL, processor); } @@ -69,15 +77,21 @@ processor_get_info(GSList *processors) Processor *processor = (Processor *)processors->data; return g_strdup_printf("[%s]\n" - "%s=%s\n" - "%s=%s\n" + "%s=%s\n" /* cpu type */ + "%s=%s\n" /* machine */ + "%s=%s\n" /* family */ "%s=%.2f %s\n" /* frequency */ + "%s=%.2f %s\n" /* bus frequency */ + "%s=%.2f %s\n" /* module frequency */ "%s=%.2f\n" /* bogomips */ "%s=%s\n", /* byte order */ _("Processor"), - _("System Type"), processor->model_name, - _("Model"), processor->vendor_id, + _("Name"), processor->model_name, + _("Machine"), processor->vendor_id, + _("Family"), processor->family, _("Frequency"), processor->cpu_mhz, _("MHz"), + _("Bus Frequency"), processor->bus_mhz, _("MHz"), + _("Module Frequency"), processor->mod_mhz, _("MHz"), _("BogoMips"), processor->bogomips, _("Byte Order"), byte_order_str() ); diff --git a/test/data/sh_dreamcast_cpuinfo b/test/data/sh_dreamcast_cpuinfo new file mode 100644 index 00000000..84e9dd90 --- /dev/null +++ b/test/data/sh_dreamcast_cpuinfo @@ -0,0 +1,9 @@ +machine : Sega Dreamcast +processor : 0 +cpu family : sh4 +cpu type : SH7750 +cache size : 8K-bytes/16K-bytes +bogomips : 199.06 +cpu clock : 199.49MHz +bus clock : 99.74MHz +module clock : 49.87MHz diff --git a/test/data/sh_sh3_cpuinfo b/test/data/sh_sh3_cpuinfo new file mode 100644 index 00000000..a9389bec --- /dev/null +++ b/test/data/sh_sh3_cpuinfo @@ -0,0 +1,4 @@ +cpu family : SH-3 +cache size : 8K-byte +bogomips : 39.83 + diff --git a/test/data/sh_sh64_cpuinfo b/test/data/sh_sh64_cpuinfo new file mode 100644 index 00000000..ba869c45 --- /dev/null +++ b/test/data/sh_sh64_cpuinfo @@ -0,0 +1,13 @@ +machine : Hitachi Cayman +processor : 0 +cpu family : SH-5 +cpu type : SH5-101 +icache size : 32K-bytes +dcache size : 32K-bytes +itlb entries : 64 +dtlb entries : 64 +cpu clock : 314.73MHz +bus clock : 157.36MHz +module clock : 26.22MHz +bogomips : 313.75 + diff --git a/test/test.sh b/test/test.sh index 89254a34..9462ad63 100644 --- a/test/test.sh +++ b/test/test.sh @@ -19,7 +19,7 @@ do_test() { #do_test alpha data/alpha_as_cpuinfo #do_test parisc data/parisc_hppa_fortex4_cpuinfo #do_test ia64 data/ia64_x2_cpuinfo -do_test m68k data/m68k_sun3_cpuinfo - - - +#do_test m68k data/m68k_sun3_cpuinfo +#do_test sh data/sh_dreamcast_cpuinfo +#do_test sh data/sh_sh3_cpuinfo +do_test sh data/sh_sh64_cpuinfo |