diff options
author | Erwan Velu <erwan.velu@free.fr> | 2009-12-02 17:12:55 +0100 |
---|---|---|
committer | Erwan Velu <erwan.velu@free.fr> | 2009-12-04 10:19:01 +0100 |
commit | 6b97e41c971b4d288ef50f21d451001a99cde6d2 (patch) | |
tree | d4d1bebb0d76707d66d6b07b21d30f129478f899 /com32 | |
parent | cb32b8d13d9c313527ef20e6df52aab9830ff0d6 (diff) | |
download | syslinux-6b97e41c971b4d288ef50f21d451001a99cde6d2.tar.gz |
hdt: Improving ACPI output
Impact: Improving ACPI output
Improving acpi output
Diffstat (limited to 'com32')
-rw-r--r-- | com32/hdt/hdt-cli-acpi.c | 53 | ||||
-rw-r--r-- | com32/hdt/hdt-cli-hdt.c | 4 | ||||
-rw-r--r-- | com32/hdt/hdt-cli.h | 7 |
3 files changed, 21 insertions, 43 deletions
diff --git a/com32/hdt/hdt-cli-acpi.c b/com32/hdt/hdt-cli-acpi.c index 1a5b0426..b705cbaf 100644 --- a/com32/hdt/hdt-cli-acpi.c +++ b/com32/hdt/hdt-cli-acpi.c @@ -35,14 +35,14 @@ static void show_header_32(uint32_t address, s_acpi_description_header * h) { - more_printf("%-5s (v%03x %-6s %-7s 0x%08x %-4s 0x%08x) @ 0x%016x\n", + more_printf("%-4s v%03x %-6s %-7s 0x%08x %-4s 0x%08x @ 0x%016x\n", h->signature, h->revision, h->oem_id, h->oem_table_id, h->oem_revision, h->creator_id, h->creator_revision, address) } static void show_header(uint32_t address, s_acpi_description_header * h) { - more_printf("%-5s (v%03x %-6s %-7s 0x%08x %-4s 0x%08x) @ 0x%016lx\n", + more_printf("%-4s v%03x %-6s %-7s 0x%08x %-4s 0x%08x @ 0x%016lx\n", h->signature, h->revision, h->oem_id, h->oem_table_id, h->oem_revision, h->creator_id, h->creator_revision, address) } @@ -55,15 +55,14 @@ void main_show_acpi(int argc __unused, char **argv __unused, more_printf("No ACPI Tables detected\n"); return; } -//ACPI: XSDT (v001 DELL PE_SC3 0x00000001 DELL 0x00000001) @ 0x00000000000f222c more_printf - ("Table (rev oem table_id oem_rev creator creator_rev) @ address \n"); + ("ACPI rev oem table_id oem_rev creator creat_rev @ address \n"); more_printf - ("---------------------------------------------------------------------\n"); + ("----|----|------|--------|----------|-------|-----------|--------------------\n"); if (hardware->acpi.rsdp.valid) { s_rsdp *r = &hardware->acpi.rsdp; more_printf - ("RSDP (v%03x %6s ) @ 0x%016llx\n", + ("RSDP v%03x %-6s @ 0x%016llx\n", r->revision, r->oem_id, r->address); } if (hardware->acpi.rsdt.valid) @@ -81,52 +80,22 @@ void main_show_acpi(int argc __unused, char **argv __unused, if (hardware->acpi.dsdt.valid) show_header(hardware->acpi.dsdt.address, &hardware->acpi.dsdt.header); -// more_printf("XSDT (v%3x %6s %7s %08x %4s %08x) @ %08x", -} - -static void show_acpi_modes(int argc __unused, char **argv __unused, - struct s_hardware *hardware) -{ - detect_acpi(hardware); - reset_more_printf(); - if (hardware->is_acpi_valid == false) { - more_printf("No ACPI Tables detected\n"); - return; + for (int i=0;i<hardware->acpi.ssdt_count;i++) { + if ((hardware->acpi.ssdt[i] != NULL) && (hardware->acpi.ssdt[i]->valid)) + show_header(hardware->acpi.ssdt[i]->address, &hardware->acpi.ssdt[i]->header); } -} - -struct cli_callback_descr list_acpi_show_modules[] = { - { - .name = CLI_MODES, - .exec = show_acpi_modes, - }, - { - .name = NULL, - .exec = NULL, - }, -}; -struct cli_callback_descr list_acpi_commands[] = { - { - .name = NULL, - .exec = NULL, - }, -}; +} struct cli_module_descr acpi_show_modules = { - .modules = list_acpi_show_modules, + .modules = NULL, .default_callback = main_show_acpi, }; -struct cli_module_descr acpi_commands = { - .modules = list_acpi_commands, - .default_callback = NULL, -}; - struct cli_mode_descr acpi_mode = { .mode = ACPI_MODE, .name = CLI_ACPI, - .default_modules = &acpi_commands, + .default_modules = NULL, .show_modules = &acpi_show_modules, .set_modules = NULL, }; diff --git a/com32/hdt/hdt-cli-hdt.c b/com32/hdt/hdt-cli-hdt.c index 71d99a4f..366dfc36 100644 --- a/com32/hdt/hdt-cli-hdt.c +++ b/com32/hdt/hdt-cli-hdt.c @@ -333,6 +333,10 @@ struct cli_callback_descr list_hdt_show_modules[] = { .exec = show_dmi_memory_modules, }, { + .name = CLI_ACPI, + .exec = main_show_acpi, + }, + { .name = "modes", .exec = main_show_modes, }, diff --git a/com32/hdt/hdt-cli.h b/com32/hdt/hdt-cli.h index fc7e0003..523f13c0 100644 --- a/com32/hdt/hdt-cli.h +++ b/com32/hdt/hdt-cli.h @@ -86,7 +86,7 @@ typedef enum { DISK_MODE, VPD_MODE, MEMORY_MODE, - ACPI_MODE, + ACPI_MODE } cli_mode_t; #define PROMPT_SIZE 32 @@ -210,4 +210,9 @@ void main_show_vesa(int argc, char **argv, struct s_hardware *hardware); // VPD STUFF void main_show_vpd(int argc __unused, char **argv __unused, struct s_hardware *hardware); + +// ACPI STUFF +void main_show_acpi(int argc __unused, char **argv __unused, + struct s_hardware *hardware); + #endif |