Oops - I hosed that one. coreinfo.c wasn't supposed to be in there, obviously. I am going to to revert it, and then recommit the code under the correct comments. Sorry for the churn.
Jordan
On 06/05/08 23:32 +0200, svn@coreboot.org wrote:
Author: jcrouse Date: 2008-05-06 23:32:52 +0200 (Tue, 06 May 2008) New Revision: 3283
Modified: trunk/payloads/coreinfo/coreinfo.c trunk/payloads/coreinfo/cpuinfo_module.c Log: coreinfo: Move the rdtsc.h include into the #ifdef CONFIG_MODULE_CPUINFO
rdtsc.h shouldn't be included unless we really need it (and use it). Trivial.
Signed-off-by: Jordan Crouse jordan.crouse@amd.com Acked-by: Jordan Crouse jordan.crouse@amd.com
Modified: trunk/payloads/coreinfo/coreinfo.c
--- trunk/payloads/coreinfo/coreinfo.c 2008-05-06 16:56:47 UTC (rev 3282) +++ trunk/payloads/coreinfo/coreinfo.c 2008-05-06 21:32:52 UTC (rev 3283) @@ -28,24 +28,46 @@ extern struct coreinfo_module nvram_module; extern struct coreinfo_module bootlog_module;
-struct coreinfo_module *modules[] = { +struct coreinfo_module *system_modules[] = { #ifdef CONFIG_MODULE_CPUINFO &cpuinfo_module, #endif #ifdef CONFIG_MODULE_PCI &pci_module, #endif +#ifdef CONFIG_MODULE_NVRAM
- &nvram_module,
+#endif +};
+struct coreinfo_module *coreboot_modules[] = { #ifdef CONFIG_MODULE_COREBOOT &coreboot_module, #endif -#ifdef CONFIG_MODULE_NVRAM
- &nvram_module,
-#endif #ifdef CONFIG_MODULE_BOOTLOG &bootlog_module, #endif };
+struct coreinfo_cat {
- char name[15];
- int cur;
- int count;
- struct coreinfo_module **modules;
+} categories[] = {
- {
.name = "System",
.modules = system_modules,
.count = ARRAY_SIZE(system_modules),
- },
- {
.name = "Coreboot",
.modules = coreboot_modules,
.count = ARRAY_SIZE(coreboot_modules),
- }
+};
static WINDOW *modwin; static int curwin;
@@ -62,6 +84,26 @@ waddch(win, '\304'); }
+static void print_submenu(struct coreinfo_cat *cat) +{
- int i, j;
- char menu[80];
- char *ptr = menu;
- wmove(stdscr, 22, 0);
- for (j = 0; j < SCREEN_X; j++)
waddch(stdscr, ' ');
- if (!cat->count)
return;
- for (i = 0; i < cat->count; i++)
ptr += sprintf(ptr, "[%c: %s] ", 'A' + i, cat->modules[i]->name);
- mvprintw(22, 0, menu);
+}
static void print_menu(void) { int i, j; @@ -73,12 +115,15 @@ for (j = 0; j < SCREEN_X; j++) waddch(stdscr, ' ');
- for (i = 0; i < ARRAY_SIZE(modules); i++)
ptr += sprintf(ptr, "F%d: %s ", i + 1, modules[i]->name);
- for (i = 0; i < ARRAY_SIZE(categories); i++) {
if (categories[i].count == 0)
continue;
- if (ARRAY_SIZE(modules) != 0)
mvprintw(23, 0, menu);
ptr += sprintf(ptr, "F%d: %s ", i + 1, categories[i].name);
}
mvprintw(23, 0, menu);
#ifdef CONFIG_SHOW_DATE_TIME mvprintw(23, 59, "%02d/%02d/20%02d - %02d:%02d:%02d", bcd2dec(nvram_read(NVRAM_RTC_MONTH)), @@ -117,6 +162,8 @@
ptr += sprintf(ptr, "[ %s ]", str);
- for (i = ((SCREEN_X - len) / 2) + len; i < SCREEN_X; i++) ptr += sprintf(ptr, "=");
@@ -124,16 +171,35 @@ } #endif
-static void redraw_module(void) +static void redraw_module(struct coreinfo_cat *cat) {
- if (ARRAY_SIZE(modules) == 0)
if (cat->count == 0) return;
wclear(modwin);
- modules[curwin]->redraw(modwin);
- cat->modules[cat->cur]->redraw(modwin); refresh();
}
+static void handle_category_key(struct coreinfo_cat *cat, int key) +{
- if (key >= 'a' && key <= 'z') {
int index = key - 'a';
if (index < cat->count) {
cat->cur = index;
redraw_module(cat);
return;
}
- }
- if (cat->count && cat->modules[cat->cur]->handle) {
if (cat->modules[cat->cur]->handle(key))
redraw_module(cat);
- }
+}
static void loop(void) { int key; @@ -141,9 +207,8 @@ center(0, "coreinfo v0.1");
print_menu();
- if (ARRAY_SIZE(modules) != 0)
modules[curwin]->redraw(modwin);
- refresh();
print_submenu(&categories[curwin]);
redraw_module(&categories[curwin]);
while (1) { key = getch();
@@ -154,18 +219,21 @@ if (key >= KEY_F(1) && key <= KEY_F(9)) { unsigned char ch = key - KEY_F(1);
if (ch <= ARRAY_SIZE(modules)) {
if (ch == ARRAY_SIZE(modules))
if (ch <= ARRAY_SIZE(categories)) {
if (ch == ARRAY_SIZE(categories)) continue;
if (categories[ch].count == 0)
continue;
curwin = ch;
redraw_module();
print_submenu(&categories[curwin]);
}redraw_module(&categories[curwin]); continue; }
if (ARRAY_SIZE(modules) != 0 && modules[curwin]->handle)
if (modules[curwin]->handle(key))
redraw_module();
}handle_category_key(&categories[curwin], key);
}
@@ -182,7 +250,7 @@ init_pair(2, COLOR_BLACK, COLOR_WHITE); init_pair(3, COLOR_WHITE, COLOR_WHITE);
- modwin = newwin(23, 80, 1, 0);
modwin = newwin(22, 80, 1, 0);
wattrset(stdscr, COLOR_PAIR(1) | A_BOLD); wattrset(modwin, COLOR_PAIR(2));
@@ -196,9 +264,12 @@
refresh();
- for (i = 0; i < ARRAY_SIZE(modules); i++)
modules[i]->init();
for (i = 0; i < ARRAY_SIZE(categories); i++) {
for(j = 0; j < categories[i].count; j++)
categories[i].modules[j]->init();
}
loop();
return 0;
Modified: trunk/payloads/coreinfo/cpuinfo_module.c
--- trunk/payloads/coreinfo/cpuinfo_module.c 2008-05-06 16:56:47 UTC (rev 3282) +++ trunk/payloads/coreinfo/cpuinfo_module.c 2008-05-06 21:32:52 UTC (rev 3283) @@ -21,9 +21,9 @@ */
#include "coreinfo.h" -#include <arch/rdtsc.h>
#ifdef CONFIG_MODULE_CPUINFO +#include <arch/rdtsc.h>
#define VENDOR_INTEL 0x756e6547 #define VENDOR_AMD 0x68747541
-- coreboot mailing list coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot