[syslinux:master] hdt: Improving ACPI output
syslinux-bot for Erwan Velu
erwan.velu at free.fr
Sun Feb 6 14:06:55 PST 2011
Commit-ID: 6b97e41c971b4d288ef50f21d451001a99cde6d2
Gitweb: http://syslinux.zytor.com/commit/6b97e41c971b4d288ef50f21d451001a99cde6d2
Author: Erwan Velu <erwan.velu at free.fr>
AuthorDate: Wed, 2 Dec 2009 17:12:55 +0100
Committer: Erwan Velu <erwan.velu at free.fr>
CommitDate: Fri, 4 Dec 2009 10:19:01 +0100
hdt: Improving ACPI output
Impact: Improving ACPI output
Improving acpi output
---
com32/hdt/hdt-cli-acpi.c | 53 +++++++++------------------------------------
com32/hdt/hdt-cli-hdt.c | 4 +++
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 1a5b042..b705cba 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 71d99a4..366dfc3 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 fc7e000..523f13c 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
More information about the Syslinux-commits
mailing list