X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Fncurses%2Fnc-sysinfo.c;h=ce8957cdfe7f9dcd3aa6cbb4972c7891a721df79;hp=f79301019da3dd2da228fd5b403a9c9f515e2178;hb=75c97cfd449b2bac8e61af1017a83bdf43f5e8fe;hpb=4e30f260106ac5f7007e213db1d1e54298393290 diff --git a/ui/ncurses/nc-sysinfo.c b/ui/ncurses/nc-sysinfo.c index f793010..ce8957c 100644 --- a/ui/ncurses/nc-sysinfo.c +++ b/ui/ncurses/nc-sysinfo.c @@ -51,6 +51,7 @@ static void if_info_mac_str(struct interface_info *info, static void sysinfo_screen_populate(struct sysinfo_screen *screen, const struct system_info *sysinfo) { + char macbuf[32]; unsigned int i; text_screen_clear(&screen->text_scr); @@ -64,6 +65,38 @@ static void sysinfo_screen_populate(struct sysinfo_screen *screen, line("%-12s %s", _("System type:"), sysinfo->type ?: ""); line("%-12s %s", _("System id:"), sysinfo->identifier ?: ""); + if (sysinfo->n_primary) { + line(NULL); + line("%s", _("Primary platform versions:")); + for (i = 0; i < sysinfo->n_primary; i++) { + line("\t%s", sysinfo->platform_primary[i] ?: ""); + } + } + + if (sysinfo->n_other) { + line(NULL); + line("%s", _("Alternate platform versions:")); + for (i = 0; i < sysinfo->n_other; i++) { + line("\t%s", sysinfo->platform_other[i] ?: ""); + } + } + + if (sysinfo->n_bmc_current) { + line(NULL); + line("%s", _("BMC current side:")); + for (i = 0; i < sysinfo->n_bmc_current; i++) { + line("\t%s", sysinfo->bmc_current[i] ?: ""); + } + } + + if (sysinfo->n_bmc_golden) { + line(NULL); + line("%s", _("BMC golden side:")); + for (i = 0; i < sysinfo->n_bmc_golden; i++) { + line("\t%s", sysinfo->bmc_golden[i] ?: ""); + } + } + if (sysinfo->n_blockdevs) { line(NULL); line(_("Storage devices")); @@ -78,20 +111,28 @@ static void sysinfo_screen_populate(struct sysinfo_screen *screen, line(NULL); } + if (sysinfo->bmc_mac) { + line(NULL); + mac_str(sysinfo->bmc_mac, HWADDR_SIZE, macbuf, sizeof(macbuf)); + line(_("Management (BMC) interface")); + line(_(" MAC: %s"), macbuf); + } + if (sysinfo->n_interfaces) { line(NULL); - line("Network interfaces"); + line(_("Network interfaces")); } for (i = 0; i < sysinfo->n_interfaces; i++) { struct interface_info *info = sysinfo->interfaces[i]; - char macbuf[32]; if_info_mac_str(info, macbuf, sizeof(macbuf)); line("%s:", info->name); line(_(" MAC: %s"), macbuf); - line(_(" link: %s"), info->link ? "up" : "down"); + /* TRANSLATORS: these "up" / "down" strings refer to the + * link status for a network connection. */ + line(_(" link: %s"), info->link ? _("up") : _("down")); line(NULL); } @@ -102,7 +143,11 @@ void sysinfo_screen_update(struct sysinfo_screen *screen, const struct system_info *sysinfo) { sysinfo_screen_populate(screen, sysinfo); - text_screen_draw(&screen->text_scr); + + if (screen->text_scr.cui->help_screen) + screen->text_scr.need_update = true; + else + text_screen_draw(&screen->text_scr); } struct sysinfo_screen *sysinfo_screen_init(struct cui *cui,