From d2ddf8e51042b27efc6046f40897e5eab49de47e Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Mon, 8 Jun 2026 10:45:42 +0800 Subject: [PATCH 01/16] feat(build): make LVGL the default backend on build-verified targets Complete the LVGL backend graduation (Docs/LvglProductizationPlan.md Gate 1) beyond CI-gating: - De-spike the LVGL renderer INF framing: it is no longer "experimental, never in a default overlay" but a supported, CI-gated backend (the same ModernDisplayEngineDxe with this renderer library swapped in). The genuinely experimental libs (ModernUiHiiBridgeLib/PageAdapterLib, the orphan LvglDisplayEngineDxe) keep their experimental status. - bootstrap-edk2.sh now initializes the External/lvgl submodule, so a fresh checkout's default lvgl build works. - Flip the default MODERN_SETUP_DISPLAY_ENGINE to lvgl on the targets whose lvgl build is verified here (ovmf-x64 + loongarch; both built and QEMU-checked this cycle). armvirt and riscvvirt stay on modern by default until their lvgl cross-compilation is verified -- overlay generation passes for them, but the AARCH64/RISCV64 lvgl object build is not exercised in this environment, so defaulting them to lvgl could ship a broken default. Verified: bare Scripts/build-ovmf-x64.sh (no env) now builds lvgl (DXEFV ~43%), and smoke passes. Co-Authored-By: Claude Opus 4.8 --- Docs/LvglProductizationPlan.md | 15 +++++++++++---- .../ModernUiRendererLib.inf | 12 +++++++----- Scripts/bootstrap-edk2.sh | 9 +++++++++ Scripts/build-loongarchvirt.sh | 2 +- Scripts/build-ovmf-x64.sh | 2 +- 5 files changed, 29 insertions(+), 11 deletions(-) diff --git a/Docs/LvglProductizationPlan.md b/Docs/LvglProductizationPlan.md index 65e1f9f..7e557d8 100644 --- a/Docs/LvglProductizationPlan.md +++ b/Docs/LvglProductizationPlan.md @@ -157,7 +157,14 @@ GOP or an unusably small mode. ## Progress log -- 2026-06-08: Gate 1 started — smoke now CI-gates the lvgl overlay on ovmf-x64 + - loongarch (the targets that accept `lvgl` today). Remaining Gate 1: add lvgl - support to armvirt + riscvvirt, de-spike framing, then flip the default with - the bootstrap submodule init. +- 2026-06-08: Gate 1 started — smoke CI-gates the lvgl overlay on ovmf-x64 + + loongarch. +- 2026-06-08: Gate 1 — armvirt + riscvvirt build scripts gained lvgl mode; smoke + now exercises lvgl overlay generation on all four targets. +- 2026-06-08: Gate 1 — de-spiked the LVGL renderer INF framing; `bootstrap-edk2.sh` + now initializes `External/lvgl`; the default `MODERN_SETUP_DISPLAY_ENGINE` is + now `lvgl` on the build-verified targets (ovmf-x64, loongarch), with + armvirt/riscvvirt left on `modern` until their lvgl cross-compile is verified. + Bare `Scripts/build-ovmf-x64.sh` builds lvgl by default (DXEFV ~43%). Gate 1 + effectively complete except the armvirt/riscv default flip (gated on + cross-compile) and any package rename out of "spike". diff --git a/Library/ModernUiLvglRendererLib/ModernUiRendererLib.inf b/Library/ModernUiLvglRendererLib/ModernUiRendererLib.inf index db68bd1..93ac2a5 100644 --- a/Library/ModernUiLvglRendererLib/ModernUiRendererLib.inf +++ b/Library/ModernUiLvglRendererLib/ModernUiRendererLib.inf @@ -1,14 +1,16 @@ ## @file -# LVGL-backed renderer library for ModernSetupPkg (experimental/lvgl-spike). +# LVGL-backed renderer library for ModernSetupPkg. # # Drop-in replacement for Library/ModernUiRendererLib: same ModernUiRendererLib # class and ModernUiRenderer.h API, but every primitive is composited by LVGL's # software draw pipeline (lv_draw_rect / lv_draw_label) into a shadow canvas and -# BLT'd to GOP. CJK runs fall back to the firmware HII font, which LVGL's bundled -# Latin fonts do not cover. +# BLT'd to GOP. CJK runs use the embedded Noto Sans CJK SC subset and fall back +# to the firmware HII font, which LVGL's bundled Latin fonts do not cover. # -# experimental/lvgl-spike only; selected by MODERN_SETUP_DISPLAY_ENGINE=lvgl. -# Never wired into a default firmware overlay. +# Selected by MODERN_SETUP_DISPLAY_ENGINE=lvgl. Supported and CI-gated (smoke +# exercises the lvgl overlay on all four XArch targets); it is the same +# ModernDisplayEngineDxe interaction backend as the GOP renderer, with this +# library swapped in. See Docs/LvglProductizationPlan.md for the path to default. # # Copyright (c) 2026, MarsDoge. All rights reserved.
# Author: MarsDoge (Dongyan Qian) diff --git a/Scripts/bootstrap-edk2.sh b/Scripts/bootstrap-edk2.sh index be41c16..cd784a2 100755 --- a/Scripts/bootstrap-edk2.sh +++ b/Scripts/bootstrap-edk2.sh @@ -24,6 +24,15 @@ fi echo "Updating edk2 submodule: External/edk2" git submodule update --init -- External/edk2 +# External/lvgl is the upstream LVGL submodule consumed by the LVGL display +# engine (the default backend on the targets that build it, e.g. ovmf-x64 and +# loongarch). Initialize it when the .gitmodules entry is present so a default +# MODERN_SETUP_DISPLAY_ENGINE=lvgl build works from a fresh checkout. +if git config -f .gitmodules --get submodule.External/lvgl.url >/dev/null 2>&1; then + echo "Updating LVGL submodule: External/lvgl" + git submodule update --init -- External/lvgl +fi + # Initialize edk2 first-level dependencies only. A full recursive update pulls # optional nested OpenSSL test submodules, which are not required for the # ModernSetupPkg BaseTools/app/OVMF baseline and can make validation slow, diff --git a/Scripts/build-loongarchvirt.sh b/Scripts/build-loongarchvirt.sh index 1e9ce38..319f9f1 100755 --- a/Scripts/build-loongarchvirt.sh +++ b/Scripts/build-loongarchvirt.sh @@ -15,7 +15,7 @@ TARGET="${TARGET:-DEBUG}" JOBS="${JOBS:-$(sysctl -n hw.ncpu 2>/dev/null || echo 4)}" MODERN_SETUP_DEMO_DRIVER_SAMPLE="${MODERN_SETUP_DEMO_DRIVER_SAMPLE:-1}" MODERN_SETUP_THEME="${MODERN_SETUP_THEME:-graphite-gold}" -MODERN_SETUP_DISPLAY_ENGINE="${MODERN_SETUP_DISPLAY_ENGINE:-modern}" +MODERN_SETUP_DISPLAY_ENGINE="${MODERN_SETUP_DISPLAY_ENGINE:-lvgl}" MODERN_SETUP_INCLUDE_APP="${MODERN_SETUP_INCLUDE_APP:-0}" MODERN_SETUP_REPLACE_UIAPP="${MODERN_SETUP_REPLACE_UIAPP:-0}" GCC_LOONGARCH64_PREFIX="${GCC_LOONGARCH64_PREFIX:-}" diff --git a/Scripts/build-ovmf-x64.sh b/Scripts/build-ovmf-x64.sh index c51fcd2..9d4d2e6 100755 --- a/Scripts/build-ovmf-x64.sh +++ b/Scripts/build-ovmf-x64.sh @@ -15,7 +15,7 @@ TARGET="${TARGET:-DEBUG}" TOOL_CHAIN_TAG="${TOOL_CHAIN_TAG:-GCC}" JOBS="${JOBS:-$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || echo 4)}" MODERN_SETUP_THEME="${MODERN_SETUP_THEME:-graphite-gold}" -MODERN_SETUP_DISPLAY_ENGINE="${MODERN_SETUP_DISPLAY_ENGINE:-modern}" +MODERN_SETUP_DISPLAY_ENGINE="${MODERN_SETUP_DISPLAY_ENGINE:-lvgl}" MODERN_SETUP_REPLACE_UIAPP="${MODERN_SETUP_REPLACE_UIAPP:-0}" # Opt-in control-rich VFR test driver (checkbox/numeric/date/time/string/ # password/ordered-list), reachable via Device Manager. Used to exercise the From 215d4cc3fbb9f574a3cbef7e6c40959c07c83f0b Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Mon, 8 Jun 2026 11:10:19 +0800 Subject: [PATCH 02/16] docs: refine CJK Gate 2 to graceful-fallback-default, GB2312 as narrow optional Capture the key reframing of the CJK story: we only own the glyphs we control. The demand-driven subset covers our shell UI fully; HII form content follows its own available language (English when a driver ships no zh -- the common case), so there is usually no out-of-subset Chinese to draw. The default product therefore needs only tier 1 plus a guarantee that any unrenderable glyph degrades to readable text, never a tofu box. The standard GB2312 L1 subset becomes a PCD-gated narrow-need optional (default off) for the few products that must render Chinese-localized third-party HII forms, rather than a ~1.2 MB cost paid everywhere. Per-language fallback is clean and free; per-glyph swapping is intentionally not attempted. Updates Gate 2 and the locked CJK decision. Co-Authored-By: Claude Opus 4.8 --- Docs/LvglProductizationPlan.md | 65 ++++++++++++++++++++++++++++------ 1 file changed, 55 insertions(+), 10 deletions(-) diff --git a/Docs/LvglProductizationPlan.md b/Docs/LvglProductizationPlan.md index 7e557d8..689e0a9 100644 --- a/Docs/LvglProductizationPlan.md +++ b/Docs/LvglProductizationPlan.md @@ -57,22 +57,62 @@ for all targets, without yet forcing it as the default. **Acceptance:** CI builds `MODERN_SETUP_DISPLAY_ENGINE=lvgl` for all four targets; smoke passes with the LVGL libs in a supported (non-default) overlay. -## Gate 2 — CJK / i18n coverage (the first true product gate) +## Gate 2 — CJK / i18n coverage **Current:** demand-driven Noto Sans CJK SC subset (182 glyphs, **18×18 A8**, OFL) generated by `Scripts/generate-font-glyphs.py` from the package's own strings + selected demo `.uni`; anything outside falls back to the firmware HII font. Single glyph size. +### Key reframing: we only own the glyphs we control + +There are **two** languages on screen, and they are not the same problem: + +1. **Our shell UI** (chrome / front-page app) — the strings are ours, so the + demand-driven subset covers them 100%. Always renders correctly in zh-Hans. +2. **HII form content** (driver/platform setting names and values) — owned by + the driver. FormBrowser already falls back to English when a driver ships no + zh translation, which is the overwhelmingly common case. **No Chinese to + draw → no missing-glyph problem, no font needed.** + +So the only case that ever needs more than the demand-driven subset is a driver +that *itself* ships Chinese HII strings using characters outside our subset. +That is a narrow need. Rather than pay ~1.2 MB to cover it everywhere, the +product policy is: + +> **Force zh only on strings we control (subset covers them fully); let HII +> content follow its own available language (zh where the driver provides it, +> English otherwise); and any glyph that still can't be drawn degrades to +> readable text — never a tofu box / blank.** + +This makes the heavy standard subset a **narrow-need optional**, not a default. +Per-language fallback (English when no zh) is clean and free; per-glyph +"swap this one char to English" is intentionally **not** attempted (a string has +one language version). + +### Tiers + +| Tier | Covers | Memory | Default | +| --- | --- | --- | --- | +| **1. Demand-driven subset** | our shell UI strings | ~tens of KB (current ~59 KB) | **Always on** | +| **Graceful fallback** | anything unrenderable → readable English / last-resort placeholder, never tofu | 0 | **Always on** | +| **2. GB2312 L1 (optional)** | arbitrary common Simplified Chinese (~3,755) for products with Chinese-localized third-party driver forms | ~1.2 MB (18×18 A8 ≈ 324 B/glyph) | **Off** (PCD opt-in) | +| **3. Full CJK** | ~21,000 — not embedded | ~6.8 MB | Not pursued | + +### Steps + | ✓ | Step | Effort | Note | | --- | --- | --- | --- | -| [ ] | **Decide the coverage tier** | S (decision) | Options + memory (18×18 A8 ≈ 324 B/glyph): **(a)** demand-driven per-platform scan — lightest (~tens of KB), needs build-time string knowledge, misses late third-party driver strings; **(b)** standard **GB2312 L1** (~3,755) ≈ **1.2 MB** — predictable arbitrary coverage; **(c)** runtime font from an FFS/font HII package — no embed cost, platform supplies it. Recommendation: **tiered** — keep (a) for our own UI + ship an optional **(b)** behind a PCD (`PcdModernSetupCjkSubset = none\|gb2312l1`) for platforms that need it; HII fallback last. | -| [ ] | **Size matching** | M | The embedded glyph is composited at its native 18 px; the Latin run uses Montserrat 14–24. Decide: generate the CJK subset at the UI's actual sizes (14/16/18/20 → ~4× memory) **or** standardize in-setup body text to one size and verify CJK/Latin baseline alignment. Verify mixed-run vertical alignment in `ModernUiDrawText`. | -| [ ] | zh HII form validation | M | Render a Chinese HII form (zh DriverSample / a platform zh formset) and confirm no missing glyphs at the chosen tier; confirm fallback quality when a glyph is absent (no tofu boxes — define a `?`/placeholder policy). | -| [ ] | Build integration | S | Keep the generated table committed (no build-time Python dep); document regeneration; OFL attribution already in `THIRD_PARTY_NOTICES.md`. | +| [ ] | **Graceful fallback policy** | S–M | Guarantee no tofu/blank: a code point absent from the subset, the HII font, and any enabled tier renders as a readable placeholder (or the run is shown in its English source where available). This is the default-product CJK story; it removes the need for tier 2 in most builds. | +| [ ] | **Optional GB2312 L1 subset** | M | Generate a standard ~3,755-char subset behind a PCD (`PcdModernSetupCjkSubset = none\|gb2312l1`, default `none`) for the narrow set of products that must render Chinese third-party HII forms. | +| [ ] | **Size matching** | M | The embedded glyph composites at 18 px; the Latin run uses Montserrat 14–24. Generate the subset at the UI's actual sizes **or** standardize in-setup body text to one size; verify CJK/Latin baseline alignment in `ModernUiDrawText`. | +| [ ] | zh validation | M | Confirm our shell UI renders fully zh; confirm a driver-only-English form shows English cleanly; confirm a zh form with an out-of-subset glyph degrades to readable text, not tofu. | +| [ ] | Build integration | S | Keep generated tables committed (no build-time Python dep); OFL attribution already in `THIRD_PARTY_NOTICES.md`. | -**Acceptance:** the target coverage tier renders a Chinese platform form with no -missing glyphs, size-consistent with Latin, within the platform memory budget. +**Acceptance:** with only tier 1 + graceful fallback (the default), the shell UI +is fully zh, English-only driver forms read cleanly, and **no screen ever shows a +tofu box / blank glyph**. The optional GB2312 tier additionally renders +arbitrary common-Chinese HII forms within the platform memory budget. ## Gate 3 — Memory & performance budget @@ -148,9 +188,14 @@ GOP or an unusably small mode. default build would require `External/lvgl`, so `Scripts/bootstrap-edk2.sh` must init that submodule; (c) the hardware gate (Gate 6) still stands. So the default flip is sequenced *after* all-target lvgl support + CI. -2. **CJK coverage → tiered.** Demand-driven Noto subset for the package's own UI - (done) + an optional **GB2312 L1** subset behind a PCD for platforms needing - arbitrary coverage + HII fallback last. +2. **CJK coverage → tiered, with graceful English fallback as the default.** We + only own the glyphs we control: the demand-driven subset (done) covers our + shell UI fully, while HII form content follows its own available language + (English when a driver ships no zh — the common case). The default product + needs no more than tier 1 + a guarantee that any unrenderable glyph degrades + to readable text, never a tofu box. The standard **GB2312 L1** subset is a + PCD-gated **narrow-need optional** (default off) only for products that must + render Chinese-localized third-party HII forms. See Gate 2. 3. **Per-platform DXEFV budget** — open; measure RELEASE baselines (Gate 3) then decide whether the ~4 MB BS-pool canvas is acceptable on the tightest target. 4. **Hardware availability** — open; which real boards exist per arch (Gate 6). From 3ed264d7e647411037470592c1986384a0cef940 Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Mon, 8 Jun 2026 11:43:20 +0800 Subject: [PATCH 03/16] feat(displayengine): render the form title as a prominent header The in-setup form title (e.g. "My First Setup Page", "Boot Manager") was drawn in plain MutedText, reading as dim body text rather than the page heading. Draw it brighter -- a blend mostly toward Theme->Text but kept toward MutedText so it still reads as a heading and keeps the smoke-guarded token -- so each form is clearly anchored by its title across all backends. An accent underline below the title was tried and dropped: it lands in the content band the native FormBrowser repaints after the chrome, which wipes it (the same chrome-vs-content draw-order constraint as the OEM watermark). Display-only. Verified by an OVMF X64 lvgl screendump and smoke. Co-Authored-By: Claude Opus 4.8 --- .../CustomizedDisplayLibInternal.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Library/ModernUiCustomizedDisplayLib/CustomizedDisplayLibInternal.c b/Library/ModernUiCustomizedDisplayLib/CustomizedDisplayLibInternal.c index 5a1c320..9c094ec 100644 --- a/Library/ModernUiCustomizedDisplayLib/CustomizedDisplayLibInternal.c +++ b/Library/ModernUiCustomizedDisplayLib/CustomizedDisplayLibInternal.c @@ -559,13 +559,21 @@ ModernDisplayDrawFormTitleContext ( TitleY = (Layout->ContentTopRow * CellHeight) + MIN (6, MAX (2, CellHeight / 5)); TitleWidth = (TitleRightColumn - TitleLeftColumn) * CellWidth; + // + // Render the form title as a prominent section header: brighter than plain + // muted body text (kept as a blend toward MutedText so it still reads as a + // heading, not a value), so each form is clearly anchored by its title. + // Presentation only. (An accent underline below the title is intentionally + // not drawn here: it sits in the content band the native FormBrowser repaints + // after the chrome, which would wipe it.) + // ModernUiDrawTextFit ( &mModernRenderContext, TitleX, TitleY, TitleWidth, PrintableTitle, - Theme->MutedText, + ModernUiBlendColor (Theme->Text, Theme->MutedText, 22), Theme->BackgroundBlack ); } From 36f179763bcb4ea436da2760c5f987eb38f98691 Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Mon, 8 Jun 2026 19:43:22 +0800 Subject: [PATCH 04/16] feat(app): flow the dashboard status card, collapsing N/A placeholder rows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The system-status card drew every field at a fixed row position, so a provider that returns a placeholder ("外形规格 N/A") left a labelled blank row mid-card. DrawDashboardInfoRow now skips placeholder/empty values ("N/A" / "Limited data") and returns the next row Y; the system-status card uses that as a running Y so skipped rows collapse and the card reads clean with no orphaned N/A line. The monitor card keeps its fixed layout (its values are not placeholders). Display-only app polish; no provider/IFR/storage change. Verified by an OVMF X64 REPLACE_UIAPP lvgl screendump (the 外形规格 N/A row is gone, rows flow up) and smoke. Co-Authored-By: Claude Opus 4.8 --- .../ModernSetupApp/ModernSetupAppDashboard.c | 44 ++++++++++++++----- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/Application/ModernSetupApp/ModernSetupAppDashboard.c b/Application/ModernSetupApp/ModernSetupAppDashboard.c index 85db77b..37a98c6 100644 --- a/Application/ModernSetupApp/ModernSetupAppDashboard.c +++ b/Application/ModernSetupApp/ModernSetupAppDashboard.c @@ -56,8 +56,10 @@ STATIC CONST MODERN_UI_STRING_ID mDashboardCardGroupLabel[DASHBOARD_QUICK_CARD_ @param[in] Label Label text. Must not be NULL. @param[in] Value Value text. Must not be NULL. **/ +#define DASHBOARD_INFO_ROW_STEP 32 + STATIC -VOID +UINTN DrawDashboardInfoRow ( IN MODERN_UI_RENDER_CONTEXT *Ui, IN CONST MODERN_UI_THEME *Theme, @@ -73,7 +75,18 @@ DrawDashboardInfoRow ( UINTN ValueX; if (Width < 32) { - return; + return Y; + } + + // + // Skip placeholder/empty values so a flowed card does not show "N/A" clutter + // or leave a gap. The caller passes the returned Y as the next row position, + // so skipped rows collapse. Callers that keep fixed Y can ignore the result. + // + if ((Value == NULL) || (Value[0] == CHAR_NULL) || + (StrCmp (Value, L"N/A") == 0) || (StrCmp (Value, L"Limited data") == 0)) + { + return Y; } Background = ModernUiBlendColor (Theme->Surface, Theme->BackgroundBlack, 30); @@ -81,6 +94,7 @@ DrawDashboardInfoRow ( ValueX = X + LabelWidth; ModernUiDrawTextFit (Ui, X, Y, LabelWidth - 8, Label, Theme->MutedText, Background); ModernUiDrawTextFit (Ui, ValueX, Y, (Width > LabelWidth) ? (Width - LabelWidth) : Width, Value, Theme->Text, Background); + return Y + DASHBOARD_INFO_ROW_STEP; } /** @@ -490,14 +504,24 @@ ModernSetupDrawDashboard ( } DrawDashboardSection (Ui, Theme, SystemPanel, Zh ? L"系统状态" : L"System Information", TRUE); ModernUiDrawFocusFrame (Ui, SystemPanel, (BOOLEAN)(Focus == SetupFocusContent), Theme); - DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, SystemPanel.Y + 58, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringFirmwareVendor), Providers.Platform.FirmwareVendor); - DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, SystemPanel.Y + 90, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringFirmwareRevision), Providers.Platform.FirmwareRevision); - DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, SystemPanel.Y + 122, SystemPanel.Width - 44, Zh ? L"平台" : L"Platform", Providers.Platform.Platform); - DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, SystemPanel.Y + 154, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringFormFactor), Providers.Platform.FormFactor); - DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, SystemPanel.Y + 186, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringBootMode), Providers.Platform.BootMode); - DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, SystemPanel.Y + 218, SystemPanel.Width - 44, Zh ? L"内存" : L"Memory", MemoryText); - if (TopHeight >= 260) { - DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, SystemPanel.Y + 250, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringDisplay), Resolution); + { + // + // Flow the system-status rows: each row advances the running Y, and rows + // whose provider value is a placeholder ("N/A") collapse instead of leaving + // a labelled blank, so the card reads clean. + // + UINTN RowY; + + RowY = SystemPanel.Y + 58; + RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringFirmwareVendor), Providers.Platform.FirmwareVendor); + RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringFirmwareRevision), Providers.Platform.FirmwareRevision); + RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, Zh ? L"平台" : L"Platform", Providers.Platform.Platform); + RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringFormFactor), Providers.Platform.FormFactor); + RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringBootMode), Providers.Platform.BootMode); + RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, Zh ? L"内存" : L"Memory", MemoryText); + if (TopHeight >= 260) { + RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringDisplay), Resolution); + } } if (MonitorPanel.Width > 0) { From f65e9c0add958b688bdb363ebd2f30936910a210 Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Mon, 8 Jun 2026 22:22:58 +0800 Subject: [PATCH 05/16] feat(app): humanize firmware revision and de-mix dashboard zh health text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Polish pass on the front-page App and its provider summaries: - Render gST->FirmwareRevision as human-readable major.minor with the raw hex retained: "1.00 (0x00010000)" instead of a bare "0x00010000". Applied in both ModernUiPlatformDataLib and ModernUiFirmwareDataLib so the dashboard System Information card and the Firmware/Platform pages all read consistently. The 96-char text buffers comfortably hold the longer form. - Fix two language leaks in the Simplified Chinese dashboard: the provider-health "Degraded" state was returning the English literal inside the zh branch (showing "就绪 / Degraded / 未就绪"); it now reads 退化. The all-providers-ready hint was a terse "OK"; it now reads 已就绪. Both words use glyphs already in the embedded Noto Sans CJK SC subset, so smoke's built-in-glyph coverage guard still passes and no font regeneration is needed. Verified: AARCH64 ModernSetupApp build, smoke validation (all overlay dry runs + glyph-subset guard) PASS. Co-Authored-By: Claude Opus 4.8 --- .../ModernSetupApp/ModernSetupAppDashboard.c | 4 ++-- CHANGELOG.md | 14 ++++++++++++++ .../ModernUiFirmwareDataLib.c | 14 +++++++++++++- .../ModernUiPlatformDataLib.c | 14 +++++++++++++- 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/Application/ModernSetupApp/ModernSetupAppDashboard.c b/Application/ModernSetupApp/ModernSetupAppDashboard.c index 37a98c6..0170fb0 100644 --- a/Application/ModernSetupApp/ModernSetupAppDashboard.c +++ b/Application/ModernSetupApp/ModernSetupAppDashboard.c @@ -288,7 +288,7 @@ DashboardProviderHealthText ( case ModernSetupProviderHealthReady: return L"就绪"; case ModernSetupProviderHealthDegraded: - return L"Degraded"; + return L"退化"; case ModernSetupProviderHealthNotReady: default: return L"未就绪"; @@ -404,7 +404,7 @@ ModernSetupDrawDashboard ( ); UnicodeSPrint (ProviderCountText, sizeof (ProviderCountText), Zh ? L"%u/%u 就绪" : L"%u/%u ready", ProviderHealth.ReadyProviders, ProviderHealth.TotalProviders); if (ProviderHealth.State == ModernSetupProviderHealthReady) { - UnicodeSPrint (ProviderIssueText, sizeof (ProviderIssueText), Zh ? L"OK" : L"All providers ready"); + UnicodeSPrint (ProviderIssueText, sizeof (ProviderIssueText), Zh ? L"已就绪" : L"All providers ready"); } else { UnicodeSPrint (ProviderIssueText, sizeof (ProviderIssueText), Zh ? L"%s 不可用" : L"%s unavailable", ProviderHealth.FirstIssueName); } diff --git a/CHANGELOG.md b/CHANGELOG.md index 7196d39..ffc2390 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,20 @@ this file as both a release log and a lightweight development progress record. ## Unreleased +### Changed + +- The firmware revision shown on the front-page dashboard System Information card + and the Firmware/Platform provider summaries is now humanized. `gST->FirmwareRevision` + (conventionally `(major << 16) | minor`) renders as `. (0x........)` + -- e.g. `1.00 (0x00010000)` -- instead of a bare `0x00010000`, so the value is + readable at a glance while the exact encoded hex is still available. Applies to + both `ModernUiPlatformDataLib` and `ModernUiFirmwareDataLib`. +- Front-page dashboard provider-health text no longer mixes languages in the + Simplified Chinese UI. The "Degraded" state now reads `退化` (was the English + "Degraded" leaking into the otherwise-Chinese `就绪 / 未就绪` set), and the + all-providers-ready hint reads `已就绪` (was a terse `OK`). Both use glyphs + already present in the embedded Noto Sans CJK SC subset (no font change). + ### Added - The in-setup DisplayEngine chrome is now localized. The header product/mode diff --git a/Library/ModernUiFirmwareDataLib/ModernUiFirmwareDataLib.c b/Library/ModernUiFirmwareDataLib/ModernUiFirmwareDataLib.c index 4d012d9..929174f 100644 --- a/Library/ModernUiFirmwareDataLib/ModernUiFirmwareDataLib.c +++ b/Library/ModernUiFirmwareDataLib/ModernUiFirmwareDataLib.c @@ -95,7 +95,19 @@ ModernUiFirmwareDataGetSummary ( L"%s", (gST->FirmwareVendor == NULL) ? L"Unknown" : gST->FirmwareVendor ); - UnicodeSPrint (Summary->Revision, sizeof (Summary->Revision), L"0x%08x", gST->FirmwareRevision); + // + // gST->FirmwareRevision is conventionally encoded as (major << 16) | minor. + // Surface the human-readable major.minor form while keeping the raw hex so a + // firmware engineer can still read the exact encoded value. + // + UnicodeSPrint ( + Summary->Revision, + sizeof (Summary->Revision), + L"%u.%02u (0x%08x)", + (UINT32)(gST->FirmwareRevision >> 16), + (UINT32)(gST->FirmwareRevision & 0xFFFF), + gST->FirmwareRevision + ); Summary->CapsuleRuntimeServices = (BOOLEAN)((gRT->UpdateCapsule != NULL) && (gRT->QueryCapsuleCapabilities != NULL)); Summary->CapsuleArchProtocol = IsProtocolPresent (&gEfiCapsuleArchProtocolGuid); diff --git a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c index 13a436c..e63f6f9 100644 --- a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c +++ b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c @@ -252,7 +252,19 @@ ModernUiPlatformDataGetSummary ( L"%s", (gST->FirmwareVendor == NULL) ? L"Unknown" : gST->FirmwareVendor ); - UnicodeSPrint (Summary->FirmwareRevision, sizeof (Summary->FirmwareRevision), L"0x%08x", gST->FirmwareRevision); + // + // gST->FirmwareRevision is conventionally encoded as (major << 16) | minor. + // Surface the human-readable major.minor form while keeping the raw hex so a + // firmware engineer can still read the exact encoded value. + // + UnicodeSPrint ( + Summary->FirmwareRevision, + sizeof (Summary->FirmwareRevision), + L"%u.%02u (0x%08x)", + (UINT32)(gST->FirmwareRevision >> 16), + (UINT32)(gST->FirmwareRevision & 0xFFFF), + gST->FirmwareRevision + ); UnicodeSPrint (Summary->Architecture, sizeof (Summary->Architecture), L"%s", GetArchitectureName ()); UnicodeSPrint (Summary->Platform, sizeof (Summary->Platform), L"UEFI platform"); GetSmbiosFormFactor (Summary->FormFactor, ARRAY_SIZE (Summary->FormFactor)); From 599f1ee5533c727daf00bc54129e5d78e37088a3 Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Mon, 8 Jun 2026 23:30:34 +0800 Subject: [PATCH 06/16] docs: add normative App feature/IA standard Add Docs/AppFeatureStandard.md (+ zh-CN mirror) as the prescriptive contract for the ModernSetup front-page App, distinct from the reference IbvAndPlatformSetupSurvey and ProductizationFeatureMatrix. It pins: - the ownership boundary (read-only summaries + native FormBrowser entry only); - five platform classes (Client-Desktop, Client-Mobile, Server, Embedded, Unknown) derived from SMBIOS form factor + management providers, with Unknown behaving as the inclusive client superset; - the canonical SETUP_PAGE category set and its ordering rule; - the three-zone dashboard structure (System Information / Platform Health / quick-category grid); - the standardized 8-entry quick-card catalog with routes/groups/status, plus a per-platform-class applicability matrix -- the Server inventory card is server-class-only unless a management/PCIe provider reports live data; - conformance rules that make the visible card count class-variable (smoke asserts catalog/route length + valid routes, not a fixed visible count) and require a single data-driven applicability predicate over scattered ifs. This is the design contract for the upcoming dashboard reorg; it documents known gaps (no Security quick card yet; reserved Battery/Recovery slots) without changing code. Indexed in Docs/README.md. Co-Authored-By: Claude Opus 4.8 --- Docs/AppFeatureStandard.md | 197 +++++++++++++++++++++++++++++++ Docs/AppFeatureStandard.zh-CN.md | 170 ++++++++++++++++++++++++++ Docs/README.md | 1 + 3 files changed, 368 insertions(+) create mode 100644 Docs/AppFeatureStandard.md create mode 100644 Docs/AppFeatureStandard.zh-CN.md diff --git a/Docs/AppFeatureStandard.md b/Docs/AppFeatureStandard.md new file mode 100644 index 0000000..fe6d887 --- /dev/null +++ b/Docs/AppFeatureStandard.md @@ -0,0 +1,197 @@ + + +# ModernSetup App Feature Standard + +Language: English | [简体中文](AppFeatureStandard.zh-CN.md) + +This document is the **normative** specification for what the ModernSetup +standard front-page App exposes: its page set, its dashboard structure, the +quick-access category cards, and how those adapt per platform class. Where the +[IBV and Platform Setup Survey](IbvAndPlatformSetupSurvey.md) and the +[Productization Feature Matrix](ProductizationFeatureMatrix.md) are *reference* +material (what the broader firmware ecosystem does), this document is +*prescriptive* (what the App MUST/SHOULD do to conform). The reorg of +`Application/ModernSetupApp/` and the `Tests/Smoke/smoke_validate.py` guards +both track this standard. + +Key words **MUST**, **MUST NOT**, **SHOULD**, **SHOULD NOT**, and **MAY** are +used in the RFC 2119 sense. + +## 1. Scope and the ownership boundary + +The App is a read-only first screen plus a set of safe entry points. It is **not** +a second setup-policy engine. + +- The App **MUST NOT** parse IFR/VFR, implement `ConfigAccess`, mutate HII + forms, or write varstores. Every real configuration action either launches a + boot option (through `UefiBootManagerLib`) or enters native edk2 FormBrowser + via `EFI_FORM_BROWSER2_PROTOCOL.SendForm()`. +- The App **MUST** present platform-specific policy (CPU frequency/voltage, + memory timing/profile/RAS, chipset/SoC straps, fan curves, PCIe resource + policy, BMC networking, key/TPM management) as a *summary* and/or a native + *entry point* only. These remain native-owned. +- Information the App shows **MUST** come from the read-only `ModernUi*DataLib` + providers (see the Provider Roadmap in the Feature Matrix), never from + hard-coded board assumptions. + +This boundary is identical to the one enforced by smoke; this document does not +relax it. + +## 2. Platform classes + +The App standardizes around five platform classes. The class is derived from the +SMBIOS form factor and management-capability providers at runtime; it is a +*presentation* hint only and never gates a security or policy decision. + +| Class | Code intent | Typical examples | +| --- | --- | --- | +| `Client-Desktop` | Desktop / workstation / AIO / NUC / mini PC. | OVMF X64 desktop, ARM/LoongArch desktop. | +| `Client-Mobile` | Laptop / 2-in-1 / tablet with a battery. | Notebook-class products. | +| `Server` | Rack/blade/server boards with management. | x86/Arm/LoongArch servers, RISC-V server prototypes. | +| `Embedded` | Industrial / appliance boards. | ARM/RISC-V/LoongArch boards. | +| `Unknown` | Form factor not reported (common in VMs). | QEMU/OVMF without SMBIOS chassis data. | + +`Unknown` **MUST** behave as the most inclusive superset that is still safe to +show — i.e. it follows the `Client-Desktop` card set plus any card whose +provider reports live data. The App never hides a card *because* the class is +unknown; it only hides a card that is both class-inapplicable **and** backed by +an unavailable provider. + +## 3. Canonical page set + +The App's category pages are exactly the `SETUP_PAGE` enum and **MUST** stay in +this order. Adding a page is an additive API change (append before `PageMax`). + +| Page | Purpose | App shows | Native owner | +| --- | --- | --- | --- | +| `PageDashboard` | First-glance platform state. | System Information + Platform Health panels, quick-category grid. | — | +| `PageBoot` | Boot inventory + launch. | `Boot####` active/hidden/category/path; Enter launches the selected entry. | Boot Maintenance HII. | +| `PageDevices` | Device / HII entry inventory. | HII formsets, device-path rows, Driver Health. | Each driver formset. | +| `PageSecurity` | Security posture. | Secure Boot, Setup Mode, PK/KEK/db/dbx, TPM/TCG/TCM presence. | SecurityPkg / platform HII. | +| `PageFirmware` | Firmware lifecycle. | Capsule support, humanized firmware revision, recovery/update entry. | Capsule/update HII or app. | +| `PageDiagnostics` | Bring-up / service visibility. | ACPI/SMBIOS presence, memory-map/handle/table counts, provider health. | Platform diagnostics HII. | +| `PageManagement` | Server / remote management. | BMC/IPMI/Redfish presence, host interface. | BMC/Redfish HII. | +| `PagePower` | Power / thermal visibility. | ACPI state, chassis thermal state, power-supply presence, demo health trend. | Platform power/thermal HII. | +| `PagePerformance` | CPU/memory + tuning entry. | Processor/memory inventory, CPU I/O protocol, virtualization/RAS entry hints. | Platform tuning/RAS/PCIe HII. | +| `PageServerInventory` | Server asset/management rollup + PCIe policy hints. | Management + PCIe capability summary; ReBAR/4G/SR-IOV entry hints. | Platform management/PCIe HII. | +| `PagePreferences` | App-local UX preferences. | Theme, density, language, OEM watermark toggle. | — (App-owned, no platform state). | +| `PageExit` | Session / shell control. | Continue, reset, native UiApp fallback, language. | Native FormBrowser save/discard. | + +PCIe policy is surfaced through `PageServerInventory` / `PagePerformance` entry +hints; it does **not** get its own top-level page in the App, and the App +**MUST NOT** expose writable PCIe controls. + +## 4. Dashboard structure + +The dashboard **MUST** be three zones, top to bottom: + +1. **System Information panel** — read-only identity/inventory: firmware vendor, + humanized firmware revision (`major.minor (0xhex)`), platform, form factor, + boot mode, memory, display mode. Rows that resolve to `N/A`/`Unknown`/`Limited + data` **SHOULD** be collapsed (the row flows up) rather than shown as a dead + placeholder. +2. **Platform Health panel** — architecture, provider health summary, coverage, + first issue. Present when horizontal space allows; otherwise the System panel + spans full width. +3. **Quick-category grid** — the standardized navigation cards in §5. + +Status that already appears in panels 1–2 **MUST NOT** be the *sole* purpose of a +quick card: every quick card is a navigation entry first (Enter routes to its +page) and a one-line status second. + +## 5. Standardized quick-category cards + +The quick grid is an ordered catalog. Each card is a navigation entry: `Title` is +its category, `Value`/`Detail` are a one-line live status, and Enter routes to the +mapped page/focus. The canonical catalog: + +| # | Card | Routes to | Group | One-line status | +| --- | --- | --- | --- | --- | +| 0 | Continue boot | `PageExit` / content | Exit | "Same as native Continue". | +| 1 | Boot options | `PageBoot` / content | Boot & Devices | Boot entry count + mode/secure hint. | +| 2 | Devices | `PageDevices` / content | Boot & Devices | HII handle / table count. | +| 3 | Provider status | `PageDiagnostics` / nav | Platform Health | Provider health + coverage. | +| 4 | Firmware | `PageFirmware` / nav | Platform Health | Vendor + humanized revision; capsule presence. | +| 5 | Power / Thermal | `PagePower` / nav | Power & Performance | Chassis thermal / sensor or ACPI+SMBIOS presence. | +| 6 | Performance | `PagePerformance` / nav | Power & Performance | CPU/Memory/PCIe readiness. | +| 7 | Server inventory | `PageServerInventory` / nav | Management | Management presence + PCIe root count. | + +### 5.1 Per-platform-class applicability + +Each card is `Always` (shown on every class), or class-scoped. A class-scoped +card is shown when its class matches **or** its backing provider reports live +data; otherwise it is hidden and the grid reflows. + +| Card | Client-Desktop | Client-Mobile | Server | Embedded | Driver | +| --- | --- | --- | --- | --- | --- | +| Continue boot | Always | Always | Always | Always | — | +| Boot options | Always | Always | Always | Always | `ModernUiBootDataLib` | +| Devices | Always | Always | Always | Always | `ModernUiDeviceDataLib` | +| Provider status | Always | Always | Always | Always | diagnostics rollup | +| Firmware | Always | Always | Always | Always | `ModernUiFirmwareDataLib` | +| Power / Thermal | Always | Always (battery emphasis) | Always | Show if provider live | `ModernUiPowerDataLib` | +| Performance | Always | Always | Always | Show if provider live | `ModernUiPerformanceDataLib` | +| **Server inventory** | **Hidden** | **Hidden** | **Always** | Show if mgmt/PCIe live | `ModernUiManagementDataLib` / `ModernUiPcieDataLib` | + +The only card that is hard class-scoped today is **Server inventory**: it is +server-class content (BMC/IPMI/Redfish + PCIe root policy) and **MUST** be hidden +on `Client-Desktop`/`Client-Mobile` **unless** a management or PCIe provider +reports live data (so a managed workstation or a desktop with discoverable PCIe +policy still surfaces it). On `Unknown`, it follows the live-provider rule. + +Future class-scoped additions (e.g. a Battery card for `Client-Mobile`, a +Recovery card for `Embedded`) **SHOULD** extend this table rather than branch ad +hoc in drawing code. + +### 5.2 Known gaps (non-blocking, tracked here) + +- **Security has no quick card.** Security posture is reachable through the nav + rail (`PageSecurity`) and summarized in the dashboard, but a first-class + Security quick card is a recommended future addition (it is a P0 surface in the + survey). Adding it is an additive change to this catalog. +- **Battery / Recovery cards** are not yet implemented for `Client-Mobile` / + `Embedded`; the applicability table reserves their slots. + +## 6. Conformance and enforcement + +- The visible quick-card count is **variable** by platform class. Smoke + **MUST** assert the *catalog* count (the array length) and the + *route-table* length agree, and that every catalog card maps to a valid + `SETUP_PAGE`. Smoke **MUST NOT** assert a fixed *visible* count, because that + is now class-dependent. +- Card hiding **MUST** be data/class driven (a single applicability predicate), + not a per-card `if` scattered through `ModernSetupDrawDashboard`. +- Every card route **MUST** resolve to a real page; a hidden card **MUST NOT** + be focusable or Enter-activatable (keyboard navigation skips hidden cards). +- Localized card text **MUST** use only glyphs present in the embedded + Noto Sans CJK SC subset (`Library/ModernUiRendererLib/ModernUiGlyphs.c`); when + a Simplified-Chinese term is not covered, the English term is the + graceful fallback (per the CJK strategy in + [LvglProductizationPlan.md](LvglProductizationPlan.md)). + +## 7. XArch (per-architecture) notes + +The card *catalog* and *applicability* are architecture-neutral — the same App +build runs on X64, AARCH64, LOONGARCH64, and RISCV64. Architecture only affects +which providers report live data: + +- `Server inventory` typically shows on x86/Arm servers; it is provider-gated on + LoongArch/RISC-V server prototypes and hidden on all client/VM targets unless a + provider is live. +- `Power / Thermal` and `Performance` degrade to presence/`N/A` on targets whose + ACPI/SMBIOS/inventory providers are thin (common on RISC-V/LoongArch VMs). +- No card is gated on a hard-coded `ARCH` value; gating is by provider liveness + and platform class only. + +## 8. Change control + +Changes to the canonical page set (§3) or the card catalog (§5) are user-visible +and **MUST** be recorded in `CHANGELOG.md` and reflected in both this standard +and the smoke guards in the same PR. The Chinese mirror +([AppFeatureStandard.zh-CN.md](AppFeatureStandard.zh-CN.md)) **MUST** be updated +alongside the English source. diff --git a/Docs/AppFeatureStandard.zh-CN.md b/Docs/AppFeatureStandard.zh-CN.md new file mode 100644 index 0000000..c54cf63 --- /dev/null +++ b/Docs/AppFeatureStandard.zh-CN.md @@ -0,0 +1,170 @@ + + +# ModernSetup App 功能规范 + +语言:[English](AppFeatureStandard.md) | 简体中文 + +本文档是 ModernSetup 标准首页 App 的**规范性**定义:它规定 App 暴露哪些页面、 +仪表盘结构、快捷分类卡片,以及这些内容如何按平台类别自适应。 +[IBV 与平台 Setup 调研](IbvAndPlatformSetupSurvey.zh-CN.md) 和 +[产品化功能矩阵](ProductizationFeatureMatrix.zh-CN.md) 是*参考*资料(更广的固件 +生态在做什么),而本文档是*强制性*的(App 必须/应当怎么做才算合规)。 +`Application/ModernSetupApp/` 的重排和 `Tests/Smoke/smoke_validate.py` 的守卫 +都以本规范为准。 + +关键词 **必须**(MUST)、**禁止**(MUST NOT)、**应当**(SHOULD)、**不应**(SHOULD NOT)、 +**可以**(MAY) 按 RFC 2119 语义使用。 + +## 1. 范围与所有权边界 + +App 是一个只读首页加一组安全入口,它**不是**第二套 Setup 策略引擎。 + +- App **禁止**解析 IFR/VFR、实现 `ConfigAccess`、改写 HII 表单或写 varstore。 + 任何真实配置动作要么通过 `UefiBootManagerLib` 启动一个 boot 项,要么通过 + `EFI_FORM_BROWSER2_PROTOCOL.SendForm()` 进入原生 edk2 FormBrowser。 +- App **必须**把平台专属策略(CPU 频率/电压、内存时序/profile/RAS、芯片组/SoC + strap、风扇曲线、PCIe 资源策略、BMC 网络、密钥/TPM 管理)仅作为*摘要*和/或 + 原生*入口*呈现,这些仍归原生所有。 +- App 显示的信息**必须**来自只读的 `ModernUi*DataLib` provider(见功能矩阵的 + Provider Roadmap),绝不依赖写死的板级假设。 + +此边界与 smoke 强制的边界一致,本文档不放宽它。 + +## 2. 平台类别 + +App 围绕五个平台类别做标准化。类别在运行时由 SMBIOS form factor 与管理能力 +provider 推导,仅作*呈现*提示,绝不用于决定安全或策略。 + +| 类别 | 代码意图 | 典型示例 | +| --- | --- | --- | +| `Client-Desktop` | 台式/工作站/AIO/NUC/迷你机。 | OVMF X64 台式、ARM/LoongArch 台式。 | +| `Client-Mobile` | 笔记本/二合一/带电池平板。 | 笔记本类产品。 | +| `Server` | 带管理的机架/刀片/服务器主板。 | x86/Arm/LoongArch 服务器、RISC-V 服务器原型。 | +| `Embedded` | 工业/专用设备主板。 | ARM/RISC-V/LoongArch 板卡。 | +| `Unknown` | 未上报 form factor(虚拟机常见)。 | 无 SMBIOS chassis 数据的 QEMU/OVMF。 | + +`Unknown` **必须**表现为仍然安全可显示的最宽容超集 —— 即遵循 `Client-Desktop` +卡片集,外加任何其 provider 上报了实时数据的卡片。App 绝不*因为*类别未知而隐藏 +卡片;它只隐藏那些既不适用于当前类别**又**没有可用 provider 的卡片。 + +## 3. 规范页面集 + +App 的分类页面就是 `SETUP_PAGE` 枚举,且**必须**保持此顺序。新增页面属于附加式 +API 变更(追加在 `PageMax` 之前)。 + +| 页面 | 用途 | App 显示 | 原生所有者 | +| --- | --- | --- | --- | +| `PageDashboard` | 一眼概览平台状态。 | 系统信息 + 平台健康面板、快捷分类网格。 | — | +| `PageBoot` | 启动清单 + 启动。 | `Boot####` 激活/隐藏/类别/路径;回车启动所选项。 | Boot Maintenance HII。 | +| `PageDevices` | 设备/HII 入口清单。 | HII formset、设备路径行、Driver Health。 | 各驱动 formset。 | +| `PageSecurity` | 安全态势。 | Secure Boot、Setup Mode、PK/KEK/db/dbx、TPM/TCG/TCM 存在性。 | SecurityPkg/平台 HII。 | +| `PageFirmware` | 固件生命周期。 | Capsule 支持、人性化固件版本、恢复/更新入口。 | Capsule/更新 HII 或 app。 | +| `PageDiagnostics` | 引导/服务可见性。 | ACPI/SMBIOS 存在性、内存映射/句柄/表计数、provider 健康。 | 平台诊断 HII。 | +| `PageManagement` | 服务器/远程管理。 | BMC/IPMI/Redfish 存在性、host interface。 | BMC/Redfish HII。 | +| `PagePower` | 电源/散热可见性。 | ACPI 状态、机箱热状态、电源记录存在性、演示健康趋势。 | 平台电源/散热 HII。 | +| `PagePerformance` | CPU/内存 + 调优入口。 | 处理器/内存清单、CPU I/O 协议、虚拟化/RAS 入口提示。 | 平台调优/RAS/PCIe HII。 | +| `PageServerInventory` | 服务器资产/管理汇总 + PCIe 策略提示。 | 管理 + PCIe 能力摘要;ReBAR/4G/SR-IOV 入口提示。 | 平台管理/PCIe HII。 | +| `PagePreferences` | App 本地 UX 偏好。 | 主题、密度、语言、OEM 水印开关。 | —(App 自有,无平台状态)。 | +| `PageExit` | 会话/shell 控制。 | 继续、重置、原生 UiApp 回退、语言。 | 原生 FormBrowser 保存/放弃。 | + +PCIe 策略通过 `PageServerInventory`/`PagePerformance` 的入口提示呈现;它在 App +里**不**单独成为顶级页面,且 App **禁止**暴露可写的 PCIe 控制。 + +## 4. 仪表盘结构 + +仪表盘**必须**自上而下分三个区: + +1. **系统信息面板** —— 只读身份/清单:固件厂商、人性化固件版本 + (`主.次 (0x十六进制)`)、平台、form factor、boot mode、内存、显示模式。 + 解析为 `N/A`/`Unknown`/`Limited data` 的行**应当**折叠(行上浮),而不是 + 显示成一条死占位。 +2. **平台健康面板** —— 架构、provider 健康摘要、覆盖度、首个问题。横向空间足够 + 时显示;否则系统面板占满整宽。 +3. **快捷分类网格** —— §5 的标准化导航卡片。 + +已经出现在面板 1–2 里的状态**禁止**成为某个快捷卡片的*唯一*目的:每个快捷卡片 +首先是导航入口(回车跳到对应页面),其次才是一行状态。 + +## 5. 标准化快捷分类卡片 + +快捷网格是一个有序目录。每个卡片是导航入口:`Title` 是分类,`Value`/`Detail` +是一行实时状态,回车路由到映射的页面/焦点。规范目录: + +| # | 卡片 | 路由到 | 分组 | 一行状态 | +| --- | --- | --- | --- | --- | +| 0 | 继续启动 | `PageExit` / content | Exit | “等同原生 Continue”。 | +| 1 | 启动选项 | `PageBoot` / content | Boot & Devices | 启动项数 + 模式/安全提示。 | +| 2 | 设备 | `PageDevices` / content | Boot & Devices | HII 句柄/表计数。 | +| 3 | Provider 状态 | `PageDiagnostics` / nav | Platform Health | provider 健康 + 覆盖度。 | +| 4 | 固件 | `PageFirmware` / nav | Platform Health | 厂商 + 人性化版本;capsule 存在性。 | +| 5 | 电源/散热 | `PagePower` / nav | Power & Performance | 机箱热/传感器或 ACPI+SMBIOS 存在性。 | +| 6 | 性能 | `PagePerformance` / nav | Power & Performance | CPU/内存/PCIe 就绪度。 | +| 7 | 服务器清单 | `PageServerInventory` / nav | Management | 管理存在性 + PCIe root 数。 | + +### 5.1 按平台类别的适用性 + +每个卡片要么 `Always`(所有类别都显示),要么按类别限定。被类别限定的卡片,当其 +类别匹配**或**其后端 provider 上报实时数据时显示;否则隐藏,网格回流。 + +| 卡片 | Client-Desktop | Client-Mobile | Server | Embedded | Driver | +| --- | --- | --- | --- | --- | --- | +| 继续启动 | Always | Always | Always | Always | — | +| 启动选项 | Always | Always | Always | Always | `ModernUiBootDataLib` | +| 设备 | Always | Always | Always | Always | `ModernUiDeviceDataLib` | +| Provider 状态 | Always | Always | Always | Always | 诊断汇总 | +| 固件 | Always | Always | Always | Always | `ModernUiFirmwareDataLib` | +| 电源/散热 | Always | Always(强调电池) | Always | provider 有数据则显示 | `ModernUiPowerDataLib` | +| 性能 | Always | Always | Always | provider 有数据则显示 | `ModernUiPerformanceDataLib` | +| **服务器清单** | **隐藏** | **隐藏** | **Always** | 管理/PCIe 有数据则显示 | `ModernUiManagementDataLib` / `ModernUiPcieDataLib` | + +当前唯一硬性按类别限定的卡片是**服务器清单**:它是服务器类内容(BMC/IPMI/Redfish ++ PCIe root 策略),在 `Client-Desktop`/`Client-Mobile` 上**必须**隐藏,**除非** +有管理或 PCIe provider 上报实时数据(这样带管理的工作站、或能发现 PCIe 策略的 +台式机仍会显示它)。在 `Unknown` 上遵循 live-provider 规则。 + +未来按类别新增(如 `Client-Mobile` 的电池卡、`Embedded` 的恢复卡)**应当**扩展 +本表,而不是在绘制代码里临时分支。 + +### 5.2 已知缺口(非阻塞,在此追踪) + +- **Security 没有快捷卡片。** 安全态势可经导航栏(`PageSecurity`)到达,并在仪表 + 盘里有摘要,但一个一等的 Security 快捷卡片是推荐的未来新增(在调研里它是 P0 + 面)。新增它属于对本目录的附加式变更。 +- **电池/恢复卡片**尚未为 `Client-Mobile`/`Embedded` 实现;适用性表为它们预留了 + 位置。 + +## 6. 合规与强制 + +- 可见快捷卡片数按平台类别**可变**。smoke **必须**断言*目录*数(数组长度)与 + *路由表*长度一致、且每个目录卡片都映射到合法的 `SETUP_PAGE`。smoke **禁止** + 断言固定的*可见*数量,因为它现在依类别而定。 +- 卡片隐藏**必须**由数据/类别驱动(单一适用性谓词),而不是散落在 + `ModernSetupDrawDashboard` 里的逐卡 `if`。 +- 每个卡片路由**必须**解析到真实页面;隐藏的卡片**禁止**可聚焦或可回车激活 + (键盘导航跳过隐藏卡片)。 +- 本地化卡片文本**必须**只用内嵌 Noto Sans CJK SC 子集 + (`Library/ModernUiRendererLib/ModernUiGlyphs.c`)里有的字形;当某简体中文词 + 未被覆盖,英文词作为优雅回退(见 + [LvglProductizationPlan.md](LvglProductizationPlan.md) 的 CJK 策略)。 + +## 7. XArch(按架构)说明 + +卡片*目录*与*适用性*是架构中立的 —— 同一 App 构建运行于 X64、AARCH64、 +LOONGARCH64、RISCV64。架构只影响哪些 provider 上报实时数据: + +- `服务器清单`通常在 x86/Arm 服务器显示;在 LoongArch/RISC-V 服务器原型上由 + provider 决定,在所有客户端/VM 目标上除非有 provider 实时数据否则隐藏。 +- `电源/散热`与`性能`在 ACPI/SMBIOS/清单 provider 较薄的目标上退化为存在性/`N/A` + (RISC-V/LoongArch VM 常见)。 +- 没有卡片以写死的 `ARCH` 值门控;门控仅依 provider 实时性与平台类别。 + +## 8. 变更控制 + +对规范页面集(§3)或卡片目录(§5)的变更是用户可见的,**必须**记入 +`CHANGELOG.md`,并在同一 PR 内同时反映到本规范与 smoke 守卫。中文镜像 +(本文件)**必须**随英文源同步更新。 diff --git a/Docs/README.md b/Docs/README.md index ac7e89c..c2a145d 100644 --- a/Docs/README.md +++ b/Docs/README.md @@ -17,6 +17,7 @@ Simplified Chinese counterparts for the core project docs. | Topic | English | 简体中文 | | --- | --- | --- | | XArch architecture model | [XArch.md](XArch.md) | [XArch.zh-CN.md](XArch.zh-CN.md) | +| App feature standard (normative) | [AppFeatureStandard.md](AppFeatureStandard.md) | [AppFeatureStandard.zh-CN.md](AppFeatureStandard.zh-CN.md) | | Productization feature matrix | [ProductizationFeatureMatrix.md](ProductizationFeatureMatrix.md) | [ProductizationFeatureMatrix.zh-CN.md](ProductizationFeatureMatrix.zh-CN.md) | | Productization validation matrix | [ProductizationValidationMatrix.md](ProductizationValidationMatrix.md) | [ProductizationValidationMatrix.zh-CN.md](ProductizationValidationMatrix.zh-CN.md) | | Module boundaries | [MODULE_BOUNDARIES.md](MODULE_BOUNDARIES.md) | [MODULE_BOUNDARIES.zh-CN.md](MODULE_BOUNDARIES.zh-CN.md) | From e570310b5e28cb69bb9efee3480cecd7af43261b Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Mon, 8 Jun 2026 23:39:47 +0800 Subject: [PATCH 07/16] feat(app): make dashboard quick cards platform-class adaptive Implement the per-platform standardization from Docs/AppFeatureStandard.md. The quick-card catalog stays fixed at 8 (Continue, Boot, Devices, Provider status, Firmware, Power, Performance, Server inventory), but the trailing server-inventory card is now class-scoped: it is hidden on client/unknown platforms unless the chassis form factor is "Server" or a management provider (IPMI / Redfish / SMBIOS management interface) reports live data. - Add a single data-driven applicability predicate ModernSetupDashboardQuickCardApplicable() and a visible-count helper ModernSetupDashboardVisibleQuickCardCount() (Actions.c, declared in Internal.h). MODERN_SETUP_DASHBOARD_SERVER_CARD names the trailing slot; the invariant that only trailing cards may be hidden keeps visible index == catalog index, so no mid-array remapping is needed. - Grid layout, the dashboard drawing loop, the dashboard-page selectable count, and all four App.c keyboard-nav bounds now derive from the visible count, so a hidden card reflows the grid and is skipped by navigation. Route resolution rejects an inapplicable card, so a hidden card is never Enter-activatable. - Smoke keeps asserting the fixed catalog (>= 8) but now also requires the data-driven helpers in Actions/Dashboard/App, instead of pinning a fixed visible count. On OVMF/LoongArch VMs (no BMC, non-server chassis) the grid reflows to seven cards; a managed/server platform shows all eight. Verified: AARCH64 app build (-Werror clean) and smoke (all overlay dry runs + dashboard guards) PASS. Co-Authored-By: Claude Opus 4.8 --- Application/ModernSetupApp/ModernSetupApp.c | 8 +- .../ModernSetupApp/ModernSetupAppActions.c | 105 +++++++++++++++++- .../ModernSetupApp/ModernSetupAppDashboard.c | 2 +- .../ModernSetupApp/ModernSetupAppInternal.h | 49 ++++++++ CHANGELOG.md | 16 +++ Tests/Smoke/smoke_validate.py | 20 ++++ 6 files changed, 190 insertions(+), 10 deletions(-) diff --git a/Application/ModernSetupApp/ModernSetupApp.c b/Application/ModernSetupApp/ModernSetupApp.c index 432a93e..3cd62d7 100644 --- a/Application/ModernSetupApp/ModernSetupApp.c +++ b/Application/ModernSetupApp/ModernSetupApp.c @@ -307,7 +307,7 @@ UefiMain ( } } else if (Page == PageDashboard) { if (ModernSetupGetDashboardQuickGrid (&Ui, mModernSetupPreferences.DashboardDensity, &DashboardGrid) && - ((DashboardSelection + DashboardGrid.CardsPerRow) < DASHBOARD_QUICK_CARD_COUNT)) + ((DashboardSelection + DashboardGrid.CardsPerRow) < ModernSetupDashboardVisibleQuickCardCount ())) { DashboardSelection += DashboardGrid.CardsPerRow; } @@ -339,7 +339,7 @@ UefiMain ( { DashboardSelection--; } else if (!DashboardGrid.Visible) { - DashboardSelection = (DashboardSelection == 0) ? (DASHBOARD_QUICK_CARD_COUNT - 1) : (DashboardSelection - 1); + DashboardSelection = (DashboardSelection == 0) ? (ModernSetupDashboardVisibleQuickCardCount () - 1) : (DashboardSelection - 1); } } else if (Focus == SetupFocusNav) { Page = (Page == 0) ? (PageMax - 1) : (Page - 1); @@ -359,11 +359,11 @@ UefiMain ( ModernSetupCancelPreferencePopup (); } else if (Page == PageDashboard) { if (ModernSetupGetDashboardQuickGrid (&Ui, mModernSetupPreferences.DashboardDensity, &DashboardGrid)) { - if ((((DashboardSelection % DashboardGrid.CardsPerRow) + 1) < DashboardGrid.CardsPerRow) && ((DashboardSelection + 1) < DASHBOARD_QUICK_CARD_COUNT)) { + if ((((DashboardSelection % DashboardGrid.CardsPerRow) + 1) < DashboardGrid.CardsPerRow) && ((DashboardSelection + 1) < ModernSetupDashboardVisibleQuickCardCount ())) { DashboardSelection++; } } else { - DashboardSelection = (DashboardSelection + 1) % DASHBOARD_QUICK_CARD_COUNT; + DashboardSelection = (DashboardSelection + 1) % ModernSetupDashboardVisibleQuickCardCount (); } StatusMessage[0] = L'\0'; } else { diff --git a/Application/ModernSetupApp/ModernSetupAppActions.c b/Application/ModernSetupApp/ModernSetupAppActions.c index c6b5853..b94ce04 100644 --- a/Application/ModernSetupApp/ModernSetupAppActions.c +++ b/Application/ModernSetupApp/ModernSetupAppActions.c @@ -34,6 +34,85 @@ STATIC CONST MODERN_SETUP_DASHBOARD_ROUTE mDashboardCategoryRoutes[DASHBOARD_QU { PageServerInventory, SetupFocusNav } }; +/** + Decide whether a standardized dashboard quick-card is applicable on the + current platform. See the contract in ModernSetupAppInternal.h. + + @param[in] CardIndex Catalog card index in [0, DASHBOARD_QUICK_CARD_COUNT). + + @retval TRUE The card should be shown on this platform. + @retval FALSE The card is hidden (or CardIndex is out of range). +**/ +BOOLEAN +ModernSetupDashboardQuickCardApplicable ( + IN UINTN CardIndex + ) +{ + MODERN_SETUP_PROVIDER_SNAPSHOT Providers; + + if (CardIndex >= DASHBOARD_QUICK_CARD_COUNT) { + return FALSE; + } + + // + // Every catalog card is universally applicable except the trailing + // server-inventory card, which is server-class content. + // + if (CardIndex != MODERN_SETUP_DASHBOARD_SERVER_CARD) { + return TRUE; + } + + ModernSetupGetCachedProviderSnapshot (&Providers); + + // + // Show the server-inventory card when the chassis reports a server form + // factor, or when a management provider (IPMI / Redfish / SMBIOS management + // interface) is live -- so a managed workstation still surfaces it while a + // plain client desktop or VM does not. + // + if (StrCmp (Providers.Platform.FormFactor, L"Server") == 0) { + return TRUE; + } + + if (!EFI_ERROR (Providers.ManagementStatus) && + (Providers.Management.IpmiProtocolPresent || + Providers.Management.RedfishDiscoverPresent || + Providers.Management.SmbiosManagementInterfacePresent)) + { + return TRUE; + } + + return FALSE; +} + +/** + Return the number of dashboard quick-cards visible on the current platform. + See the contract in ModernSetupAppInternal.h. + + @return Visible quick-card count in [1, DASHBOARD_QUICK_CARD_COUNT]. +**/ +UINTN +ModernSetupDashboardVisibleQuickCardCount ( + VOID + ) +{ + UINTN Index; + UINTN Count; + + Count = 0; + for (Index = 0; Index < DASHBOARD_QUICK_CARD_COUNT; Index++) { + if (ModernSetupDashboardQuickCardApplicable (Index)) { + Count++; + } + } + + // + // The Continue/Boot/Devices core cards are always applicable, so the count is + // never zero; defend against a future predicate change regardless. + // + return MAX (Count, (UINTN)1); +} + BOOLEAN mModernSetupLanguageDropdownOpen; UINTN mModernSetupLanguageDropdownSelection; BOOLEAN mModernSetupPreferencePopupOpen; @@ -88,12 +167,20 @@ ModernSetupGetDashboardQuickGrid ( UINTN CardAreaWidth; UINTN MaxRows; UINTN ValueMinHeight; + UINTN CardCount; BOOLEAN Compact; if ((Ui == NULL) || (Grid == NULL)) { return FALSE; } + // + // Lay the grid out for the cards actually visible on this platform (the + // server-inventory card may be hidden), so the columns/rows reflow instead of + // leaving a gap. See Docs/AppFeatureStandard.md. + // + CardCount = ModernSetupDashboardVisibleQuickCardCount (); + ZeroMem (Grid, sizeof (*Grid)); Compact = (BOOLEAN)(DashboardDensity == ModernUiDashboardDensityCompact); Content = ModernSetupContentRect (Ui); @@ -115,16 +202,16 @@ ModernSetupGetDashboardQuickGrid ( MaxRows = (Grid->Panel.Height > (Grid->CardTop + ValueMinHeight + DASHBOARD_QUICK_CARD_BOTTOM)) ? ((Grid->Panel.Height - Grid->CardTop - DASHBOARD_QUICK_CARD_BOTTOM + Grid->CardGap) / (ValueMinHeight + Grid->CardGap)) : 1; - MaxRows = MAX (1, MIN (DASHBOARD_QUICK_CARD_COUNT, MaxRows)); - Grid->CardsPerRow = (DASHBOARD_QUICK_CARD_COUNT + MaxRows - 1) / MaxRows; + MaxRows = MAX (1, MIN (CardCount, MaxRows)); + Grid->CardsPerRow = (CardCount + MaxRows - 1) / MaxRows; if ((Grid->Panel.Width >= 760) && (Grid->CardsPerRow < 3)) { Grid->CardsPerRow = 3; } else if ((Grid->Panel.Width >= 500) && (Grid->CardsPerRow < 2)) { Grid->CardsPerRow = 2; } - Grid->CardsPerRow = MIN (DASHBOARD_QUICK_CARD_COUNT, Grid->CardsPerRow); - Grid->Rows = (DASHBOARD_QUICK_CARD_COUNT + Grid->CardsPerRow - 1) / Grid->CardsPerRow; + Grid->CardsPerRow = MIN (CardCount, Grid->CardsPerRow); + Grid->Rows = (CardCount + Grid->CardsPerRow - 1) / Grid->CardsPerRow; Grid->CardWidth = (CardAreaWidth > (Grid->CardGap * (Grid->CardsPerRow - 1))) ? ((CardAreaWidth - (Grid->CardGap * (Grid->CardsPerRow - 1))) / Grid->CardsPerRow) : MAX (1, CardAreaWidth / Grid->CardsPerRow); @@ -250,6 +337,14 @@ ModernSetupGetDashboardCategoryRoute ( return FALSE; } + // + // A card hidden on this platform (e.g. server-inventory on a client) MUST NOT + // be Enter-activatable even if a stale selection index points at it. + // + if (!ModernSetupDashboardQuickCardApplicable (Selection)) { + return FALSE; + } + *Route = mDashboardCategoryRoutes[Selection]; return TRUE; } @@ -604,7 +699,7 @@ ModernSetupGetPageSelectableCount ( MODERN_SETUP_DASHBOARD_QUICK_GRID Grid; return ModernSetupGetDashboardQuickGrid (Ui, mModernSetupPreferences.DashboardDensity, &Grid) ? - DASHBOARD_QUICK_CARD_COUNT : 0; + ModernSetupDashboardVisibleQuickCardCount () : 0; } case PageBoot: { diff --git a/Application/ModernSetupApp/ModernSetupAppDashboard.c b/Application/ModernSetupApp/ModernSetupAppDashboard.c index 0170fb0..ff2fc9e 100644 --- a/Application/ModernSetupApp/ModernSetupAppDashboard.c +++ b/Application/ModernSetupApp/ModernSetupAppDashboard.c @@ -543,7 +543,7 @@ ModernSetupDrawDashboard ( if (Grid.Visible) { DrawDashboardSection (Ui, Theme, QuickPanel, ModernUiGetString (ModernUiStringSetupCategories), FALSE); - for (CardIndex = 0; CardIndex < DASHBOARD_QUICK_CARD_COUNT; CardIndex++) { + for (CardIndex = 0; CardIndex < ModernSetupDashboardVisibleQuickCardCount (); CardIndex++) { CardX = QuickPanel.X + 20 + ((CardIndex % Grid.CardsPerRow) * (Grid.CardWidth + Grid.CardGap)); CardY = QuickPanel.Y + Grid.CardTop + ((CardIndex / Grid.CardsPerRow) * (Grid.CardHeight + Grid.CardGap)); QuickCard = (MODERN_UI_RECT){ CardX, CardY, Grid.CardWidth, Grid.CardHeight }; diff --git a/Application/ModernSetupApp/ModernSetupAppInternal.h b/Application/ModernSetupApp/ModernSetupAppInternal.h index 249ab48..103ad9b 100644 --- a/Application/ModernSetupApp/ModernSetupAppInternal.h +++ b/Application/ModernSetupApp/ModernSetupAppInternal.h @@ -51,6 +51,16 @@ #define MAX_DEVICE_ROWS 9 #define DASHBOARD_QUICK_CARD_COUNT 8 #define MODERN_SETUP_DASHBOARD_CONTINUE_CARD 0 +// +// The server-inventory card is the last entry in the standardized quick-card +// catalog (see Docs/AppFeatureStandard.md). It is the only class-scoped card: +// it is hidden on client/unknown platforms unless a management provider reports +// live data. Because it is the trailing entry, the visible card count simply +// shrinks from the tail and the visible index still equals the catalog index -- +// no mid-array remapping is needed. Any future class-scoped card MUST also be +// kept at the tail to preserve that invariant. +// +#define MODERN_SETUP_DASHBOARD_SERVER_CARD (DASHBOARD_QUICK_CARD_COUNT - 1) #define DASHBOARD_SECTION_TITLE_TOP 12 #define DASHBOARD_QUICK_CARD_TOP 64 #define DASHBOARD_QUICK_CARD_GAP 40 @@ -353,6 +363,45 @@ ModernSetupDashboardSelectionRequestsContinue ( IN UINTN Selection ); +/** + Decide whether a standardized dashboard quick-card is applicable on the + current platform. + + This is the single, data-driven applicability predicate required by + Docs/AppFeatureStandard.md. All catalog cards are applicable except the + trailing server-inventory card (MODERN_SETUP_DASHBOARD_SERVER_CARD), which is + applicable only when the platform is server-class or a management provider + (IPMI / Redfish / SMBIOS management interface) reports live data. The cached + provider snapshot is consulted; no providers are re-probed here. + + @param[in] CardIndex Catalog card index in [0, DASHBOARD_QUICK_CARD_COUNT). + + @retval TRUE The card should be shown, navigable, and route-activatable. + @retval FALSE The card is hidden on this platform (CardIndex out of range + also returns FALSE). +**/ +BOOLEAN +ModernSetupDashboardQuickCardApplicable ( + IN UINTN CardIndex + ); + +/** + Return the number of dashboard quick-cards visible on the current platform. + + Counts the applicable catalog cards (see + ModernSetupDashboardQuickCardApplicable). Because the only class-scoped card + is the trailing entry, the result is a contiguous prefix length in + [1, DASHBOARD_QUICK_CARD_COUNT]: the visible card index equals the catalog + index, so grid layout, keyboard navigation, and route resolution can all use + this count directly without remapping. + + @return Visible quick-card count for the current platform snapshot. +**/ +UINTN +ModernSetupDashboardVisibleQuickCardCount ( + VOID + ); + EFI_STATUS ModernSetupGetCachedBootOptions ( OUT CONST MODERN_UI_BOOT_OPTION **Options, diff --git a/CHANGELOG.md b/CHANGELOG.md index ffc2390..14f2805 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,22 @@ this file as both a release log and a lightweight development progress record. ### Changed +- The front-page dashboard quick-category cards are now **platform-class + adaptive** per the new normative App feature standard + (`Docs/AppFeatureStandard.md`). The quick-card *catalog* is unchanged (8 + entries: Continue, Boot, Devices, Provider status, Firmware, Power, + Performance, Server inventory), but the trailing **Server inventory** card is + now hidden on client/unknown platforms unless the chassis reports a server + form factor or a management provider (IPMI / Redfish / SMBIOS management + interface) is live. On a client desktop or a VM the grid reflows to seven + cards; on a managed/server platform all eight show. Card hiding is driven by a + single applicability predicate (`ModernSetupDashboardQuickCardApplicable`); the + grid layout, keyboard navigation, and route resolution all bound on the + resulting visible count, and a hidden card is neither focusable nor + Enter-activatable. Smoke now asserts the catalog stays fixed while requiring + the data-driven visible-count helpers, instead of pinning a fixed visible + count. + - The firmware revision shown on the front-page dashboard System Information card and the Firmware/Platform provider summaries is now humanized. `gST->FirmwareRevision` (conventionally `(major << 16) | minor`) renders as `. (0x........)` diff --git a/Tests/Smoke/smoke_validate.py b/Tests/Smoke/smoke_validate.py index 577f696..1aa05c7 100755 --- a/Tests/Smoke/smoke_validate.py +++ b/Tests/Smoke/smoke_validate.py @@ -1276,6 +1276,26 @@ def check_modern_setup_app_module_boundaries(root: Path) -> list[str]: raise SmokeFailure("Dashboard quick-card expansion must expose native Continue plus setup category cards") if "DASHBOARD_QUICK_CARD_COUNT" not in dashboard_body: raise SmokeFailure("ModernSetupAppDashboard.c must layout cards from DASHBOARD_QUICK_CARD_COUNT") + # + # Per Docs/AppFeatureStandard.md the quick-card *catalog* is fixed (asserted + # above) but the *visible* count is platform-class variable, gated by a + # single data-driven applicability predicate. Lock that in: the predicate and + # the visible-count helper must exist, and the drawing + navigation paths must + # bound on the visible count rather than on the fixed catalog constant. + # + for helper in ("ModernSetupDashboardQuickCardApplicable", "ModernSetupDashboardVisibleQuickCardCount"): + if helper not in actions_body: + raise SmokeFailure(f"ModernSetupAppActions.c must define the platform-class card helper: {helper}") + if "ModernSetupDashboardVisibleQuickCardCount" not in dashboard_body: + raise SmokeFailure( + "ModernSetupAppDashboard.c must draw quick cards from the platform-visible count " + "(ModernSetupDashboardVisibleQuickCardCount), not a fixed catalog count" + ) + if "ModernSetupDashboardVisibleQuickCardCount" not in app_body: + raise SmokeFailure( + "ModernSetupApp.c dashboard navigation must bound on the platform-visible card count " + "(ModernSetupDashboardVisibleQuickCardCount)" + ) if "DASHBOARD_QUICK_VALUE_MIN_HEIGHT" not in dashboard_body: raise SmokeFailure("ModernSetupAppDashboard.c must keep Dashboard card values visible in compact layouts") layout_defines = { From 4f73449bbabc1df905359d7086afd58c63953c0a Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Tue, 9 Jun 2026 17:15:16 +0800 Subject: [PATCH 08/16] fix(displayengine): degrade gracefully on absent/degenerate GOP mode LVGL productization Gate 4 (resolution & robustness). Three related fixes so the modern engine never blanks the screen on an unusable graphics mode: - Text-console fallback: ModernUiCustomizedDisplayLib PrintInternal previously emitted nothing when the renderer was unavailable -- neither GOP graphics nor console text -- so an in-setup form rendered blank (the modern engine had replaced the native text DisplayEngine). It now falls back to OutputString (padded to the field width) so the form stays readable. - Minimum-usable-size guard: both the GOP and LVGL ModernUiRendererInit now return EFI_NOT_FOUND when the active mode is below MODERN_UI_MIN_RENDER_WIDTH x MODERN_UI_MIN_RENDER_HEIGHT (640x480), so callers degrade to text (in-setup) or exit to the native shell (front-page app) instead of painting broken chrome. Normal targets (>= 800x600) are unaffected. - LVGL mode-change re-init: update lv_display_set_resolution to match the reallocated canvas, and create the canvas object once then rebind its buffer rather than re-creating it each re-init (which orphaned the previous canvas and left it pointing at the just-freed buffer). Fixes the first post-mode-change frame and a per-mode-change object leak. Verified: OVMF X64 builds clean for both modern (GOP) and lvgl backends, smoke PASS. QEMU sub-640x480 / live mode-switch capture not run (OVMF defaults are >= 800x600; the guard is defensive) -- logic-reviewed. Co-Authored-By: Claude Opus 4.8 --- CHANGELOG.md | 24 +++++++++++ Include/ModernUi/ModernUiRenderer.h | 11 +++++ .../CustomizedDisplayLibInternal.c | 16 +++++++ .../ModernUiRendererLib.c | 43 ++++++++++++++++--- .../ModernUiRendererLib/ModernUiRendererLib.c | 17 ++++++++ 5 files changed, 105 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14f2805..114626d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,8 +12,32 @@ this file as both a release log and a lightweight development progress record. ## Unreleased +### Fixed + +- The modern in-setup display engine no longer blanks the screen when the + graphics renderer is unavailable. Previously, when GOP was absent the + text-print path (`PrintInternal`) emitted neither GOP graphics nor console + text, so a form rendered as a blank screen (the modern engine had replaced the + native text DisplayEngine). It now falls back to plain text-console output + (`OutputString`, padded to the field width) so the form stays readable. This is + the graceful-degradation path required for GOP-absent and degenerate-mode + robustness (LVGL productization Gate 4). + ### Changed +- The modern renderer now refuses GOP modes below a usable minimum + (`MODERN_UI_MIN_RENDER_WIDTH` x `MODERN_UI_MIN_RENDER_HEIGHT` = 640x480) in both + the GOP and LVGL `ModernUiRendererInit`. Below that, init returns + `EFI_NOT_FOUND` so the in-setup display engine degrades to text rendering and + the front-page app exits to the native shell, instead of painting broken + chrome. Normal targets (>= 800x600) are unaffected. +- The LVGL renderer's GOP mode-change re-init path is corrected: the LVGL display + resolution is now updated (`lv_display_set_resolution`) to match the + reallocated canvas, and the canvas object is created once and rebound rather + than re-created each time (which orphaned the previous canvas and its freed + buffer). Fixes the first post-mode-change frame and a per-mode-change object + leak. + - The front-page dashboard quick-category cards are now **platform-class adaptive** per the new normative App feature standard (`Docs/AppFeatureStandard.md`). The quick-card *catalog* is unchanged (8 diff --git a/Include/ModernUi/ModernUiRenderer.h b/Include/ModernUi/ModernUiRenderer.h index 4e278ad..0c18c20 100644 --- a/Include/ModernUi/ModernUiRenderer.h +++ b/Include/ModernUi/ModernUiRenderer.h @@ -17,6 +17,17 @@ #include +// +// Minimum GOP mode the modern renderer treats as usable. The modern chrome +// (header, tab rail, right help rail, popups) cannot lay out below roughly VGA; +// when the active mode is smaller (or GOP is absent), ModernUiRendererInit +// fails so callers degrade gracefully -- the in-setup display engine falls back +// to plain text-console output and the front-page app exits to the native shell +// -- instead of painting broken or blank chrome. +// +#define MODERN_UI_MIN_RENDER_WIDTH 640 +#define MODERN_UI_MIN_RENDER_HEIGHT 480 + typedef struct { UINTN X; UINTN Y; diff --git a/Library/ModernUiCustomizedDisplayLib/CustomizedDisplayLibInternal.c b/Library/ModernUiCustomizedDisplayLib/CustomizedDisplayLibInternal.c index 9c094ec..926cd27 100644 --- a/Library/ModernUiCustomizedDisplayLib/CustomizedDisplayLibInternal.c +++ b/Library/ModernUiCustomizedDisplayLib/CustomizedDisplayLibInternal.c @@ -2410,6 +2410,7 @@ PrintInternal ( UINTN TextMaxWidth; UINTN TextInset; UINTN MeasuredWidth; + UINTN Emitted; CHAR16 *Printable; EFI_GRAPHICS_OUTPUT_BLT_PIXEL Foreground; EFI_GRAPHICS_OUTPUT_BLT_PIXEL Background; @@ -2529,6 +2530,21 @@ PrintInternal ( mModernCursorColumn = DrawColumn + TotalCount; mModernCursorRow = DrawRow; + } else { + // + // Renderer unavailable (GOP absent, or a mode below the usable minimum): + // fall back to plain text-console output so the form stays readable instead + // of blanking. SetCursorPosition/SetAttribute above already positioned and + // themed the cell; pad to the caller's field width so a previously longer + // string at this position is overwritten, matching the native text grid. + // + Out->OutputString (Out, Buffer); + for (Emitted = TotalCount; Emitted < Width; Emitted++) { + Out->OutputString (Out, L" "); + } + + mModernCursorColumn = ((Column == (UINTN)-1) ? mModernCursorColumn : Column) + MAX (TotalCount, Width); + mModernCursorRow = (Row == (UINTN)-1) ? mModernCursorRow : Row; } FreePool (Buffer); diff --git a/Library/ModernUiLvglRendererLib/ModernUiRendererLib.c b/Library/ModernUiLvglRendererLib/ModernUiRendererLib.c index b72320c..9b135ca 100644 --- a/Library/ModernUiLvglRendererLib/ModernUiRendererLib.c +++ b/Library/ModernUiLvglRendererLib/ModernUiRendererLib.c @@ -213,6 +213,23 @@ ModernUiRendererInit ( Context->Width = Context->Gop->Mode->Info->HorizontalResolution; Context->Height = Context->Gop->Mode->Info->VerticalResolution; + // + // Refuse a mode too small for the modern chrome so callers fall back to plain + // text rendering instead of painting broken layout. See MODERN_UI_MIN_RENDER_*. + // + if ((Context->Width < MODERN_UI_MIN_RENDER_WIDTH) || (Context->Height < MODERN_UI_MIN_RENDER_HEIGHT)) { + DEBUG (( + DEBUG_WARN, + "%a: GOP mode %ux%u below modern minimum %ux%u; falling back\n", + __func__, + Context->Width, + Context->Height, + MODERN_UI_MIN_RENDER_WIDTH, + MODERN_UI_MIN_RENDER_HEIGHT + )); + return EFI_NOT_FOUND; + } + Status = gBS->LocateProtocol ( &gEfiHiiFontProtocolGuid, NULL, @@ -275,6 +292,13 @@ ModernUiRendererInit ( } lv_display_set_flush_cb (mDisplay, LvglBridgeFlush); + } else { + // + // Mode change: keep the LVGL display resolution in sync with the newly + // sized canvas so the screen object and flush geometry match the active + // GOP mode on the first post-change frame. + // + lv_display_set_resolution (mDisplay, (int32_t)Context->Width, (int32_t)Context->Height); } lv_display_set_buffers ( @@ -285,13 +309,20 @@ ModernUiRendererInit ( LV_DISPLAY_RENDER_MODE_PARTIAL ); - mCanvas = lv_canvas_create (lv_display_get_screen_active (mDisplay)); + // + // Create the canvas object once and rebind its buffer on every (re)build. + // Re-creating it each time would orphan the previous canvas (and leave it + // pointing at the buffer just freed above) on a mode change. + // if (mCanvas == NULL) { - FreePool (mCanvasBuf); - FreePool (mDispBuf); - mCanvasBuf = NULL; - mDispBuf = NULL; - return EFI_OUT_OF_RESOURCES; + mCanvas = lv_canvas_create (lv_display_get_screen_active (mDisplay)); + if (mCanvas == NULL) { + FreePool (mCanvasBuf); + FreePool (mDispBuf); + mCanvasBuf = NULL; + mDispBuf = NULL; + return EFI_OUT_OF_RESOURCES; + } } lv_canvas_set_buffer ( diff --git a/Library/ModernUiRendererLib/ModernUiRendererLib.c b/Library/ModernUiRendererLib/ModernUiRendererLib.c index 6fbce28..0fa171a 100644 --- a/Library/ModernUiRendererLib/ModernUiRendererLib.c +++ b/Library/ModernUiRendererLib/ModernUiRendererLib.c @@ -73,6 +73,23 @@ ModernUiRendererInit ( Context->Width = Context->Gop->Mode->Info->HorizontalResolution; Context->Height = Context->Gop->Mode->Info->VerticalResolution; + // + // Refuse a mode too small for the modern chrome so callers fall back to plain + // text rendering instead of painting broken layout. See MODERN_UI_MIN_RENDER_*. + // + if ((Context->Width < MODERN_UI_MIN_RENDER_WIDTH) || (Context->Height < MODERN_UI_MIN_RENDER_HEIGHT)) { + DEBUG (( + DEBUG_WARN, + "%a: GOP mode %ux%u below modern minimum %ux%u; falling back\n", + __func__, + Context->Width, + Context->Height, + MODERN_UI_MIN_RENDER_WIDTH, + MODERN_UI_MIN_RENDER_HEIGHT + )); + return EFI_NOT_FOUND; + } + Status = gBS->LocateProtocol ( &gEfiHiiFontProtocolGuid, NULL, From d481843cbcd96f9313fca1db7aceb9fba7766492 Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Tue, 9 Jun 2026 17:17:01 +0800 Subject: [PATCH 09/16] docs: mark Gate 4 graceful-degradation + mode-change items done Sync LvglProductizationPlan.md Gate 4 with the robustness fixes: GOP-absent / degenerate-mode fallback and mode-change re-init are now done; the resolution matrix (per-resolution OVMF build + capture) remains the open Gate 4 item. Co-Authored-By: Claude Opus 4.8 --- Docs/LvglProductizationPlan.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Docs/LvglProductizationPlan.md b/Docs/LvglProductizationPlan.md index 689e0a9..7ac4646 100644 --- a/Docs/LvglProductizationPlan.md +++ b/Docs/LvglProductizationPlan.md @@ -135,17 +135,18 @@ failures or leaks under sustained navigation. ## Gate 4 — Resolution & robustness **Current:** canvas sizes to the active GOP mode and re-inits on change; guards -skip draws when a region is too small. No mode-matrix validation, no defined -GOP-absent path. +skip draws when a region is too small. Graceful degradation (GOP-absent + +degenerate-mode) and mode-change re-init are now defined and fixed; mode-matrix +visual validation is the remaining open item. | ✓ | Step | Effort | Note | | --- | --- | --- | --- | -| [ ] | Resolution matrix | M | Validate 1024×768, 1280×800, 1920×1080, and a small mode (e.g. 800×600). Confirm chrome/rows/right-rail/popups/watermark scale and the size guards behave. | -| [ ] | Re-init correctness on mode change | S | Verify the `mCanvasW != Context->Width` re-init path frees+reallocates cleanly and the first post-change frame is correct. | -| [ ] | GOP-absent / degenerate fallback | M | Define behavior when GOP is unavailable or the mode is below the minimum usable size: the engine should degrade gracefully (skip modern draw, let native text render) rather than blank the screen. | +| [ ] | Resolution matrix | M | Validate 1024×768, 1280×800, 1920×1080, and a small mode (e.g. 800×600). Confirm chrome/rows/right-rail/popups/watermark scale and the size guards behave. Needs a per-resolution OVMF build (resolution PCDs) + capture loop. | +| [x] | Re-init correctness on mode change | S | LVGL re-init now syncs `lv_display_set_resolution` to the reallocated canvas and creates the canvas object once (rebinding its buffer) instead of re-creating it each change (which orphaned the prior canvas + its freed buffer). Commit `fix(displayengine): degrade gracefully on absent/degenerate GOP mode`. | +| [x] | GOP-absent / degenerate fallback | M | Both `ModernUiRendererInit` backends refuse modes below `MODERN_UI_MIN_RENDER_WIDTH`×`_HEIGHT` (640×480); the in-setup display engine's `PrintInternal` now falls back to text-console `OutputString` (padded) when the renderer is unavailable instead of emitting nothing (blank screen), and the front-page app exits to the native shell. | -**Acceptance:** correct rendering across the matrix; graceful degradation with no -GOP or an unusably small mode. +**Acceptance:** correct rendering across the matrix (open); graceful degradation +with no GOP or an unusably small mode (done). ## Gate 5 — Interaction completeness & polish From 275cd9268e06e3a9d5743355851d132ab98031fe Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Tue, 9 Jun 2026 17:56:05 +0800 Subject: [PATCH 10/16] feat(app): show real SMBIOS Type 1 system identity on the dashboard Replace the hardcoded "UEFI platform" placeholder with the real platform/product identity read from SMBIOS Type 1 (System Information): " " (e.g. "QEMU Standard PC (Q35 + ICH9, 2009)" on OVMF). - Add a small read-only SMBIOS string-set reader (GetSmbiosString) plus a Type 1 identity reader (GetSmbiosSystemName) to ModernUiPlatformDataLib, mirroring the existing Type 3 form-factor reader. - Filter well-known meaningless OEM placeholder strings ("To Be Filled By O.E.M.", "Not Specified", "System Product Name", ...) so the generic fallback reads better than vendor junk. - Fall back to "UEFI platform" only when SMBIOS Type 1 is absent or reports no usable identity. Cross-architecture, read-only, no policy. - Declare BaseLib in the INF (now uses AsciiStrCmp directly). Verified: AARCH64 app build (-Werror clean), smoke PASS. Co-Authored-By: Claude Opus 4.8 --- CHANGELOG.md | 11 ++ .../ModernUiPlatformDataLib.c | 173 +++++++++++++++++- .../ModernUiPlatformDataLib.inf | 1 + 3 files changed, 184 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 114626d..4ed7358 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,17 @@ this file as both a release log and a lightweight development progress record. ## Unreleased +### Added + +- The dashboard "Platform" value now shows the real system identity read from + SMBIOS Type 1 (System Information) -- " ", e.g. + "QEMU Standard PC (Q35 + ICH9, 2009)" -- instead of the hardcoded generic + "UEFI platform" string. Well-known meaningless OEM placeholder strings + ("To Be Filled By O.E.M.", "Not Specified", "System Product Name", etc.) are + filtered out, and the generic label remains as the fallback when SMBIOS Type 1 + is absent or reports no usable identity. `ModernUiPlatformDataLib` gains a small + SMBIOS string-set reader for this; it stays read-only and cross-architecture. + ### Fixed - The modern in-setup display engine no longer blanks the screen when the diff --git a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c index e63f6f9..90242fa 100644 --- a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c +++ b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -164,6 +165,168 @@ GetFormFactorName ( } } +/** + Return a pointer to the Nth (1-based) string in an SMBIOS record's string set. + + SMBIOS strings follow the formatted area (Record->Length bytes from the record + start) as a sequence of NUL-terminated ASCII strings ending in a double NUL. + String number 0 means "no string". + + @param[in] Record SMBIOS record header. May be NULL. + @param[in] StringNumber 1-based SMBIOS string reference; 0 means none. + + @retval NULL Record is NULL, StringNumber is 0, or the string is absent. + @retval others Pointer to the requested NUL-terminated ASCII string (read-only + into the live SMBIOS record; do not free). +**/ +STATIC +CHAR8 * +GetSmbiosString ( + IN EFI_SMBIOS_TABLE_HEADER *Record, + IN UINT8 StringNumber + ) +{ + CHAR8 *String; + UINT8 Index; + + if ((Record == NULL) || (StringNumber == 0)) { + return NULL; + } + + String = (CHAR8 *)Record + Record->Length; + for (Index = 1; Index < StringNumber; Index++) { + if (*String == 0) { + // + // The string set ended before reaching StringNumber. + // + return NULL; + } + + while (*String != 0) { + String++; + } + + String++; + } + + return (*String != 0) ? String : NULL; +} + +/** + Return TRUE when an SMBIOS identity string carries no meaningful value. + + Many boards ship well-known placeholder strings (e.g. "To Be Filled By O.E.M.") + that read worse than the generic fallback. Treat those, and empty strings, as + absent so the caller can fall back cleanly. + + @param[in] String ASCII string to test. May be NULL. + + @retval TRUE String is NULL, empty, or a known placeholder. + @retval FALSE String carries a usable value. +**/ +STATIC +BOOLEAN +IsSmbiosPlaceholder ( + IN CHAR8 *String + ) +{ + STATIC CONST CHAR8 *Placeholders[] = { + "To Be Filled By O.E.M.", + "Not Specified", + "Not Applicable", + "System manufacturer", + "System Product Name", + "Default string", + "Default String", + "None", + "OEM", + "O.E.M." + }; + UINTN Index; + + if ((String == NULL) || (String[0] == '\0')) { + return TRUE; + } + + for (Index = 0; Index < ARRAY_SIZE (Placeholders); Index++) { + if (AsciiStrCmp (String, Placeholders[Index]) == 0) { + return TRUE; + } + } + + return FALSE; +} + +/** + Read the platform/product identity from SMBIOS Type 1 when available. + + Composes "Manufacturer ProductName" (or whichever single field is present) so + the dashboard shows the real system name instead of a generic placeholder. The + buffer is left empty when SMBIOS Type 1 is absent or reports no identity + strings, so the caller can apply its own fallback. + + @param[out] Buffer Destination buffer. Must not be NULL. + @param[in] Count Number of CHAR16 entries in Buffer. +**/ +STATIC +VOID +GetSmbiosSystemName ( + OUT CHAR16 *Buffer, + IN UINTN Count + ) +{ + EFI_STATUS Status; + EFI_SMBIOS_PROTOCOL *Smbios; + EFI_SMBIOS_HANDLE Handle; + EFI_SMBIOS_TABLE_HEADER *Record; + EFI_SMBIOS_TYPE Type; + SMBIOS_TABLE_TYPE1 *Type1; + CHAR8 *Manufacturer; + CHAR8 *ProductName; + + if ((Buffer == NULL) || (Count == 0)) { + return; + } + + Buffer[0] = L'\0'; + Smbios = NULL; + Status = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL, (VOID **)&Smbios); + if (EFI_ERROR (Status) || (Smbios == NULL)) { + return; + } + + Handle = SMBIOS_HANDLE_PI_RESERVED; + Type = SMBIOS_TYPE_SYSTEM_INFORMATION; + Record = NULL; + Status = Smbios->GetNext (Smbios, &Handle, &Type, &Record, NULL); + if (EFI_ERROR (Status) || (Record == NULL)) { + return; + } + + Type1 = (SMBIOS_TABLE_TYPE1 *)Record; + Manufacturer = GetSmbiosString (Record, Type1->Manufacturer); + ProductName = GetSmbiosString (Record, Type1->ProductName); + if (IsSmbiosPlaceholder (Manufacturer)) { + Manufacturer = NULL; + } + + if (IsSmbiosPlaceholder (ProductName)) { + ProductName = NULL; + } + + // + // SMBIOS strings are ASCII; widen with %a. Prefer "Manufacturer ProductName" + // when both are present, otherwise whichever single field is reported. + // + if ((Manufacturer != NULL) && (ProductName != NULL)) { + UnicodeSPrint (Buffer, Count * sizeof (CHAR16), L"%a %a", Manufacturer, ProductName); + } else if (ProductName != NULL) { + UnicodeSPrint (Buffer, Count * sizeof (CHAR16), L"%a", ProductName); + } else if (Manufacturer != NULL) { + UnicodeSPrint (Buffer, Count * sizeof (CHAR16), L"%a", Manufacturer); + } +} + /** Read the platform form factor from SMBIOS Type 3 when available. @@ -266,7 +429,15 @@ ModernUiPlatformDataGetSummary ( gST->FirmwareRevision ); UnicodeSPrint (Summary->Architecture, sizeof (Summary->Architecture), L"%s", GetArchitectureName ()); - UnicodeSPrint (Summary->Platform, sizeof (Summary->Platform), L"UEFI platform"); + // + // Prefer the real SMBIOS Type 1 system identity; fall back to the generic + // label only when SMBIOS reports no product/manufacturer strings. + // + GetSmbiosSystemName (Summary->Platform, ARRAY_SIZE (Summary->Platform)); + if (Summary->Platform[0] == L'\0') { + UnicodeSPrint (Summary->Platform, sizeof (Summary->Platform), L"UEFI platform"); + } + GetSmbiosFormFactor (Summary->FormFactor, ARRAY_SIZE (Summary->FormFactor)); GetBootModeName (Summary->BootMode, ARRAY_SIZE (Summary->BootMode)); diff --git a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.inf b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.inf index 7fa2c9c..7cc4974 100644 --- a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.inf +++ b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.inf @@ -24,6 +24,7 @@ ModernSetupPkg/ModernSetupPkg.dec [LibraryClasses] + BaseLib BaseMemoryLib MemoryAllocationLib PrintLib From 39d6dc2d87786561341a4b030a43306fdf943fcb Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Tue, 9 Jun 2026 18:00:40 +0800 Subject: [PATCH 11/16] feat(app): show real CPU identity from SMBIOS Type 4 on the dashboard Add a real "CPU" row to the dashboard System Information panel, read from SMBIOS Type 4 (Processor Information): " (C/T)", e.g. "QEMU Virtual CPU version 2.5+ (4C/8T)". - GetSmbiosProcessor reader in ModernUiPlatformDataLib reuses the Type 1 string helper + placeholder filter; honors the SMBIOS 0xFF CoreCount2/ThreadCount2 escape for >255 core/thread counts, and degrades cleanly (version-only, cores-only, or empty) by what the record reports. - MODERN_UI_PLATFORM_SUMMARY gains an appended `Processor` field (additive, end-of-struct per Docs/API_COMPATIBILITY.md); the app snapshot seeds it with the localized Unknown text so it shows "Unknown" when Type 4 is absent. - Dashboard draws the CPU row (ASCII "CPU" label -- the zh glyphs for a translated label are outside the embedded subset) right after Platform. Verified: AARCH64 app build (-Werror clean), smoke PASS. Co-Authored-By: Claude Opus 4.8 --- .../ModernSetupApp/ModernSetupAppDashboard.c | 1 + .../ModernSetupApp/ModernSetupAppProvider.c | 1 + CHANGELOG.md | 7 ++ Include/ModernUi/ModernUiPlatformData.h | 5 ++ .../ModernUiPlatformDataLib.c | 78 +++++++++++++++++++ 5 files changed, 92 insertions(+) diff --git a/Application/ModernSetupApp/ModernSetupAppDashboard.c b/Application/ModernSetupApp/ModernSetupAppDashboard.c index ff2fc9e..6444896 100644 --- a/Application/ModernSetupApp/ModernSetupAppDashboard.c +++ b/Application/ModernSetupApp/ModernSetupAppDashboard.c @@ -516,6 +516,7 @@ ModernSetupDrawDashboard ( RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringFirmwareVendor), Providers.Platform.FirmwareVendor); RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringFirmwareRevision), Providers.Platform.FirmwareRevision); RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, Zh ? L"平台" : L"Platform", Providers.Platform.Platform); + RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, L"CPU", Providers.Platform.Processor); RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringFormFactor), Providers.Platform.FormFactor); RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, ModernUiGetString (ModernUiStringBootMode), Providers.Platform.BootMode); RowY = DrawDashboardInfoRow (Ui, Theme, SystemPanel.X + 22, RowY, SystemPanel.Width - 44, Zh ? L"内存" : L"Memory", MemoryText); diff --git a/Application/ModernSetupApp/ModernSetupAppProvider.c b/Application/ModernSetupApp/ModernSetupAppProvider.c index 6f43d74..bbd89a4 100644 --- a/Application/ModernSetupApp/ModernSetupAppProvider.c +++ b/Application/ModernSetupApp/ModernSetupAppProvider.c @@ -65,6 +65,7 @@ InitializeProviderSnapshotDefaults ( SetUnknownText (Snapshot->Platform.FirmwareRevision, ARRAY_SIZE (Snapshot->Platform.FirmwareRevision)); SetUnknownText (Snapshot->Platform.Architecture, ARRAY_SIZE (Snapshot->Platform.Architecture)); SetUnknownText (Snapshot->Platform.Platform, ARRAY_SIZE (Snapshot->Platform.Platform)); + SetUnknownText (Snapshot->Platform.Processor, ARRAY_SIZE (Snapshot->Platform.Processor)); SetUnknownText (Snapshot->Platform.FormFactor, ARRAY_SIZE (Snapshot->Platform.FormFactor)); SetUnknownText (Snapshot->Platform.BootMode, ARRAY_SIZE (Snapshot->Platform.BootMode)); SetUnknownText (Snapshot->Firmware.Vendor, ARRAY_SIZE (Snapshot->Firmware.Vendor)); diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ed7358..ecc2c4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,13 @@ this file as both a release log and a lightweight development progress record. ### Added +- The dashboard System Information panel now shows a real **CPU** row read from + SMBIOS Type 4 (Processor Information): " (C/T)" + -- e.g. "QEMU Virtual CPU version 2.5+ (4C/8T)" -- honoring the SMBIOS 0xFF + CoreCount2/ThreadCount2 escape for high core counts and filtering placeholder + version strings. `MODERN_UI_PLATFORM_SUMMARY` gains an appended (additive, + end-of-struct) `Processor` field per `Docs/API_COMPATIBILITY.md`; it degrades to + the localized Unknown text when SMBIOS Type 4 is absent. - The dashboard "Platform" value now shows the real system identity read from SMBIOS Type 1 (System Information) -- " ", e.g. "QEMU Standard PC (Q35 + ICH9, 2009)" -- instead of the hardcoded generic diff --git a/Include/ModernUi/ModernUiPlatformData.h b/Include/ModernUi/ModernUiPlatformData.h index dcaa83c..67e93e2 100644 --- a/Include/ModernUi/ModernUiPlatformData.h +++ b/Include/ModernUi/ModernUiPlatformData.h @@ -23,6 +23,11 @@ typedef struct { CHAR16 FormFactor[MODERN_UI_PLATFORM_TEXT_MAX]; CHAR16 BootMode[MODERN_UI_PLATFORM_TEXT_MAX]; UINT64 MemorySizeMb; + // + // Appended (additive): processor identity from SMBIOS Type 4, e.g. + // "QEMU Virtual CPU version 2.5+ (4C/8T)". Empty/Unknown when Type 4 is absent. + // + CHAR16 Processor[MODERN_UI_PLATFORM_TEXT_MAX]; } MODERN_UI_PLATFORM_SUMMARY; /** diff --git a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c index 90242fa..ebe7976 100644 --- a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c +++ b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c @@ -327,6 +327,83 @@ GetSmbiosSystemName ( } } +/** + Read the processor identity from SMBIOS Type 4 when available. + + Composes " (C/T)" -- e.g. + "Intel(R) Xeon(R) ... (8C/16T)" -- so the dashboard shows a real CPU instead of + a placeholder. Honors the SMBIOS 0xFF "see CoreCount2/ThreadCount2" escape for + high core counts. Leaves the buffer empty when Type 4 is absent or reports + neither a usable version string nor a core count, so the caller can fall back. + + @param[out] Buffer Destination buffer. Must not be NULL. + @param[in] Count Number of CHAR16 entries in Buffer. +**/ +STATIC +VOID +GetSmbiosProcessor ( + OUT CHAR16 *Buffer, + IN UINTN Count + ) +{ + EFI_STATUS Status; + EFI_SMBIOS_PROTOCOL *Smbios; + EFI_SMBIOS_HANDLE Handle; + EFI_SMBIOS_TABLE_HEADER *Record; + EFI_SMBIOS_TYPE Type; + SMBIOS_TABLE_TYPE4 *Type4; + CHAR8 *Version; + UINT32 Cores; + UINT32 Threads; + + if ((Buffer == NULL) || (Count == 0)) { + return; + } + + Buffer[0] = L'\0'; + Smbios = NULL; + Status = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL, (VOID **)&Smbios); + if (EFI_ERROR (Status) || (Smbios == NULL)) { + return; + } + + Handle = SMBIOS_HANDLE_PI_RESERVED; + Type = SMBIOS_TYPE_PROCESSOR_INFORMATION; + Record = NULL; + Status = Smbios->GetNext (Smbios, &Handle, &Type, &Record, NULL); + if (EFI_ERROR (Status) || (Record == NULL)) { + return; + } + + Type4 = (SMBIOS_TABLE_TYPE4 *)Record; + Version = GetSmbiosString (Record, Type4->ProcessorVersion); + if (IsSmbiosPlaceholder (Version)) { + Version = NULL; + } + + // + // CoreCount/ThreadCount are UINT8; 0xFF means the real value is in the UINT16 + // CoreCount2/ThreadCount2 fields (present when the record is long enough). + // + Cores = Type4->CoreCount; + Threads = Type4->ThreadCount; + if ((Cores == 0xFF) && (Record->Length >= OFFSET_OF (SMBIOS_TABLE_TYPE4, CoreCount2) + sizeof (Type4->CoreCount2))) { + Cores = Type4->CoreCount2; + } + + if ((Threads == 0xFF) && (Record->Length >= OFFSET_OF (SMBIOS_TABLE_TYPE4, ThreadCount2) + sizeof (Type4->ThreadCount2))) { + Threads = Type4->ThreadCount2; + } + + if ((Version != NULL) && (Cores > 0)) { + UnicodeSPrint (Buffer, Count * sizeof (CHAR16), L"%a (%uC/%uT)", Version, Cores, Threads); + } else if (Version != NULL) { + UnicodeSPrint (Buffer, Count * sizeof (CHAR16), L"%a", Version); + } else if (Cores > 0) { + UnicodeSPrint (Buffer, Count * sizeof (CHAR16), L"%u cores / %u threads", Cores, Threads); + } +} + /** Read the platform form factor from SMBIOS Type 3 when available. @@ -438,6 +515,7 @@ ModernUiPlatformDataGetSummary ( UnicodeSPrint (Summary->Platform, sizeof (Summary->Platform), L"UEFI platform"); } + GetSmbiosProcessor (Summary->Processor, ARRAY_SIZE (Summary->Processor)); GetSmbiosFormFactor (Summary->FormFactor, ARRAY_SIZE (Summary->FormFactor)); GetBootModeName (Summary->BootMode, ARRAY_SIZE (Summary->BootMode)); From 07ee592107a7a2cd95906d0e472a4c547578ba95 Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Tue, 9 Jun 2026 18:35:47 +0800 Subject: [PATCH 12/16] feat(app): show real memory type/speed from SMBIOS Type 17 Enhance the dashboard Memory row from a bare total ("8192 MB") to include real module detail from SMBIOS Type 17 (Memory Device): "8192 MB (DDR4-3200, 2 DIMMs)". - GetSmbiosMemoryDetail walks all Type 17 records, counts populated modules (Size != 0/0xFFFF), and takes type + speed from the first populated module; MemoryTypeToString maps the MemoryType enum to DDR3/DDR4/DDR5/LPDDR4/... The configured clock speed is preferred over the rated speed; type prefix and speed are each omitted when unreported. - MODERN_UI_PLATFORM_SUMMARY gains an appended (additive) MemoryDetail field; the total size still comes from the UEFI memory map. Empty when Type 17 is absent, in which case the row shows the bare total. Verified: AARCH64 app build (-Werror clean), smoke PASS. Co-Authored-By: Claude Opus 4.8 --- .../ModernSetupApp/ModernSetupAppDashboard.c | 8 +- CHANGELOG.md | 7 + Include/ModernUi/ModernUiPlatformData.h | 6 + .../ModernUiPlatformDataLib.c | 121 ++++++++++++++++++ 4 files changed, 140 insertions(+), 2 deletions(-) diff --git a/Application/ModernSetupApp/ModernSetupAppDashboard.c b/Application/ModernSetupApp/ModernSetupAppDashboard.c index 6444896..1f36034 100644 --- a/Application/ModernSetupApp/ModernSetupAppDashboard.c +++ b/Application/ModernSetupApp/ModernSetupAppDashboard.c @@ -351,7 +351,7 @@ ModernSetupDrawDashboard ( CHAR16 Resolution[48]; CHAR16 BootCount[48]; CHAR16 DeviceCount[48]; - CHAR16 MemoryText[48]; + CHAR16 MemoryText[96]; CHAR16 SecurityText[48]; CHAR16 ArchitectureText[96]; CHAR16 ProviderCountText[48]; @@ -393,7 +393,11 @@ ModernSetupDrawDashboard ( ModernSetupGetCachedProviderSnapshot (&Providers); ModernSetupGetProviderHealthSummary (&Providers, &ProviderHealth); - UnicodeSPrint (MemoryText, sizeof (MemoryText), L"%lu MB", Providers.Platform.MemorySizeMb); + if (Providers.Platform.MemoryDetail[0] != L'\0') { + UnicodeSPrint (MemoryText, sizeof (MemoryText), L"%lu MB (%s)", Providers.Platform.MemorySizeMb, Providers.Platform.MemoryDetail); + } else { + UnicodeSPrint (MemoryText, sizeof (MemoryText), L"%lu MB", Providers.Platform.MemorySizeMb); + } UnicodeSPrint (ArchitectureText, sizeof (ArchitectureText), L"%s", Providers.Platform.Architecture); UnicodeSPrint ( SecurityText, diff --git a/CHANGELOG.md b/CHANGELOG.md index ecc2c4e..eeb88e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,13 @@ this file as both a release log and a lightweight development progress record. ### Added +- The dashboard Memory row now appends real module detail read from SMBIOS + Type 17 (Memory Device): " MB (-, DIMMs)" -- e.g. + "8192 MB (DDR4-3200, 2 DIMMs)". The type prefix (DDR3/DDR4/DDR5/LPDDR4/... via a + MemoryType map) and speed (configured clock preferred over rated) are each + omitted when not reported, and the row falls back to the bare total size when + Type 17 is absent. `MODERN_UI_PLATFORM_SUMMARY` gains an appended (additive) + `MemoryDetail` field; the total size still comes from the UEFI memory map. - The dashboard System Information panel now shows a real **CPU** row read from SMBIOS Type 4 (Processor Information): " (C/T)" -- e.g. "QEMU Virtual CPU version 2.5+ (4C/8T)" -- honoring the SMBIOS 0xFF diff --git a/Include/ModernUi/ModernUiPlatformData.h b/Include/ModernUi/ModernUiPlatformData.h index 67e93e2..32ee71e 100644 --- a/Include/ModernUi/ModernUiPlatformData.h +++ b/Include/ModernUi/ModernUiPlatformData.h @@ -28,6 +28,12 @@ typedef struct { // "QEMU Virtual CPU version 2.5+ (4C/8T)". Empty/Unknown when Type 4 is absent. // CHAR16 Processor[MODERN_UI_PLATFORM_TEXT_MAX]; + // + // Appended (additive): memory type/speed/DIMM-count detail from SMBIOS Type 17, + // e.g. "DDR4-3200, 2 DIMMs". Empty when Type 17 is absent; the total size is in + // MemorySizeMb above. + // + CHAR16 MemoryDetail[MODERN_UI_PLATFORM_TEXT_MAX]; } MODERN_UI_PLATFORM_SUMMARY; /** diff --git a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c index ebe7976..1c19bbb 100644 --- a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c +++ b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c @@ -404,6 +404,126 @@ GetSmbiosProcessor ( } } +/** + Map an SMBIOS Type 17 MemoryType enumeration to a short display string. + + @param[in] MemoryType SMBIOS MEMORY_DEVICE_TYPE value. + + @retval NULL The type is unknown/unmapped (caller omits the type prefix). + @retval others Static short label, e.g. L"DDR4". +**/ +STATIC +CONST CHAR16 * +MemoryTypeToString ( + IN UINT8 MemoryType + ) +{ + switch (MemoryType) { + case MemoryTypeSdram: + return L"SDRAM"; + case MemoryTypeDdr: + return L"DDR"; + case MemoryTypeDdr2: + case MemoryTypeDdr2FbDimm: + return L"DDR2"; + case MemoryTypeDdr3: + return L"DDR3"; + case MemoryTypeDdr4: + return L"DDR4"; + case MemoryTypeDdr5: + return L"DDR5"; + case MemoryTypeLpddr: + return L"LPDDR"; + case MemoryTypeLpddr2: + return L"LPDDR2"; + case MemoryTypeLpddr3: + return L"LPDDR3"; + case MemoryTypeLpddr4: + return L"LPDDR4"; + case MemoryTypeLpddr5: + return L"LPDDR5"; + default: + return NULL; + } +} + +/** + Read the memory type/speed/DIMM-count detail from SMBIOS Type 17 when available. + + Walks every Type 17 (Memory Device) record, counts the populated modules, and + takes the type and speed from the first populated module to compose a detail + string such as "DDR4-3200, 2 DIMMs". The configured clock speed is preferred + over the rated speed; the type prefix and speed are each omitted when not + reported. Leaves the buffer empty when SMBIOS Type 17 is absent or no module is + populated, so the caller can show the bare total size. + + @param[out] Buffer Destination buffer. Must not be NULL. + @param[in] Count Number of CHAR16 entries in Buffer. +**/ +STATIC +VOID +GetSmbiosMemoryDetail ( + OUT CHAR16 *Buffer, + IN UINTN Count + ) +{ + EFI_STATUS Status; + EFI_SMBIOS_PROTOCOL *Smbios; + EFI_SMBIOS_HANDLE Handle; + EFI_SMBIOS_TABLE_HEADER *Record; + EFI_SMBIOS_TYPE Type; + SMBIOS_TABLE_TYPE17 *Type17; + CONST CHAR16 *TypeString; + UINTN DimmCount; + UINT16 Speed; + CONST CHAR16 *Unit; + + if ((Buffer == NULL) || (Count == 0)) { + return; + } + + Buffer[0] = L'\0'; + Smbios = NULL; + Status = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL, (VOID **)&Smbios); + if (EFI_ERROR (Status) || (Smbios == NULL)) { + return; + } + + TypeString = NULL; + DimmCount = 0; + Speed = 0; + Handle = SMBIOS_HANDLE_PI_RESERVED; + Type = SMBIOS_TYPE_MEMORY_DEVICE; + while (!EFI_ERROR (Smbios->GetNext (Smbios, &Handle, &Type, &Record, NULL)) && (Record != NULL)) { + Type17 = (SMBIOS_TABLE_TYPE17 *)Record; + // + // Size 0 = slot empty; 0xFFFF = unknown. Count only populated modules. + // + if ((Type17->Size == 0) || (Type17->Size == 0xFFFF)) { + continue; + } + + DimmCount++; + if (TypeString == NULL) { + TypeString = MemoryTypeToString (Type17->MemoryType); + Speed = (Type17->ConfiguredMemoryClockSpeed != 0) ? Type17->ConfiguredMemoryClockSpeed : Type17->Speed; + } + } + + if (DimmCount == 0) { + return; + } + + Unit = (DimmCount == 1) ? L"DIMM" : L"DIMMs"; + if ((TypeString != NULL) && (Speed > 0)) { + UnicodeSPrint (Buffer, Count * sizeof (CHAR16), L"%s-%u, %u %s", TypeString, Speed, DimmCount, Unit); + } else if (TypeString != NULL) { + UnicodeSPrint (Buffer, Count * sizeof (CHAR16), L"%s, %u %s", TypeString, DimmCount, Unit); + } else { + UnicodeSPrint (Buffer, Count * sizeof (CHAR16), L"%u %s", DimmCount, Unit); + } +} + /** Read the platform form factor from SMBIOS Type 3 when available. @@ -516,6 +636,7 @@ ModernUiPlatformDataGetSummary ( } GetSmbiosProcessor (Summary->Processor, ARRAY_SIZE (Summary->Processor)); + GetSmbiosMemoryDetail (Summary->MemoryDetail, ARRAY_SIZE (Summary->MemoryDetail)); GetSmbiosFormFactor (Summary->FormFactor, ARRAY_SIZE (Summary->FormFactor)); GetBootModeName (Summary->BootMode, ARRAY_SIZE (Summary->BootMode)); From 0be11f28cb3112cfd82d47347bd0c88c693ac03c Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Tue, 9 Jun 2026 18:47:24 +0800 Subject: [PATCH 13/16] feat(app): add dedicated System Information detail page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a read-only "System Information" page (PageSystemInfo) as the second nav tab, a deeper companion to the dashboard System Information panel. It shows the real SMBIOS-sourced identity in grouped rows: platform (Type 1), CPU (Type 4), memory type/speed (Type 17), architecture, form factor, boot mode, and firmware vendor/revision -- all from the cached provider snapshot, no IFR parsing, no writes. - SETUP_PAGE gains PageSystemInfo (inserted after PageDashboard); mPages and both compact tab-label arrays are kept ordinally aligned with the enum (mPages[Page] indexing). Tab label "System"/"系统", title "System Information"/"系统规格" (glyph-subset-safe zh). - Add ModernUiStringPageSystemInfo/...Hint (EN + Simplified Chinese) appended to the string enum and both string tables. - DrawSystemInfo reuses DrawProviderSummaryPage; registered in the page dispatch and the smoke NOINLINE-helper contract. Read-only page => default selectable count 0 (focus stays on nav), like the other summary pages. - Update the normative page set in Docs/AppFeatureStandard.md (+ zh mirror). Verified: AARCH64 app build (-Werror clean), smoke PASS. Co-Authored-By: Claude Opus 4.8 --- .../ModernSetupApp/ModernSetupAppChrome.c | 3 + .../ModernSetupApp/ModernSetupAppInternal.h | 1 + .../ModernSetupApp/ModernSetupAppPages.c | 81 +++++++++++++++++++ CHANGELOG.md | 9 +++ Docs/AppFeatureStandard.md | 1 + Docs/AppFeatureStandard.zh-CN.md | 1 + Include/ModernUi/ModernUiString.h | 2 + Library/ModernUiStringLib/ModernUiStringLib.c | 8 +- Tests/Smoke/smoke_validate.py | 1 + 9 files changed, 105 insertions(+), 2 deletions(-) diff --git a/Application/ModernSetupApp/ModernSetupAppChrome.c b/Application/ModernSetupApp/ModernSetupAppChrome.c index f9b9575..b2629b1 100644 --- a/Application/ModernSetupApp/ModernSetupAppChrome.c +++ b/Application/ModernSetupApp/ModernSetupAppChrome.c @@ -12,6 +12,7 @@ STATIC CONST PAGE_DESCRIPTOR mPages[] = { { PageDashboard, ModernUiStringPageDashboard, ModernUiStringPageDashboardHint }, + { PageSystemInfo, ModernUiStringPageSystemInfo, ModernUiStringPageSystemInfoHint }, { PageBoot, ModernUiStringPageBoot, ModernUiStringPageBootHint }, { PageDevices, ModernUiStringPageDevices, ModernUiStringPageDevicesHint }, { PageSecurity, ModernUiStringPageSecurity, ModernUiStringPageSecurityHint }, @@ -27,6 +28,7 @@ STATIC CONST PAGE_DESCRIPTOR mPages[] = { STATIC CONST CHAR16 *mEnglishCompactTabLabels[] = { L"Main", + L"System", L"Boot", L"Devices", L"Security", @@ -42,6 +44,7 @@ STATIC CONST CHAR16 *mEnglishCompactTabLabels[] = { STATIC CONST CHAR16 *mChineseCompactTabLabels[] = { L"主页", + L"系统", L"启动", L"设备", L"安全", diff --git a/Application/ModernSetupApp/ModernSetupAppInternal.h b/Application/ModernSetupApp/ModernSetupAppInternal.h index 103ad9b..6410c7a 100644 --- a/Application/ModernSetupApp/ModernSetupAppInternal.h +++ b/Application/ModernSetupApp/ModernSetupAppInternal.h @@ -70,6 +70,7 @@ typedef enum { PageDashboard = 0, + PageSystemInfo, PageBoot, PageDevices, PageSecurity, diff --git a/Application/ModernSetupApp/ModernSetupAppPages.c b/Application/ModernSetupApp/ModernSetupAppPages.c index f174ffa..7fec9bc 100644 --- a/Application/ModernSetupApp/ModernSetupAppPages.c +++ b/Application/ModernSetupApp/ModernSetupAppPages.c @@ -1042,6 +1042,84 @@ DrawFirmware ( ); } +/** + Draw the System Information page: a read-only detail view of the real platform, + processor, memory, and firmware identity collected by the platform provider. + + All values come from the cached provider snapshot (no re-probe). The page parses + no IFR and writes nothing; it is a deeper read-only companion to the dashboard + System Information panel. + + @param[in] Ui Initialized render context. Must not be NULL. + @param[in] Theme Theme token table. Must not be NULL. + @param[in] Focus Current focus area. +**/ +STATIC +VOID +MODERN_SETUP_NOINLINE +DrawSystemInfo ( + IN MODERN_UI_RENDER_CONTEXT *Ui, + IN CONST MODERN_UI_THEME *Theme, + IN SETUP_FOCUS Focus + ) +{ + MODERN_SETUP_PROVIDER_SNAPSHOT Providers; + MODERN_UI_PLATFORM_SUMMARY *Summary; + CONST CHAR8 *Language; + BOOLEAN Zh; + CHAR16 MemoryText[96]; + CONST CHAR16 *Labels[8]; + CONST CHAR16 *Values[8]; + CONST CHAR16 *Groups[8]; + + ModernSetupGetCachedProviderSnapshot (&Providers); + Summary = &Providers.Platform; + Language = ModernUiGetLanguage (); + Zh = (BOOLEAN)((Language[0] == 'z') && (Language[1] == 'h')); + + if (Summary->MemoryDetail[0] != L'\0') { + UnicodeSPrint (MemoryText, sizeof (MemoryText), L"%lu MB (%s)", Summary->MemorySizeMb, Summary->MemoryDetail); + } else { + UnicodeSPrint (MemoryText, sizeof (MemoryText), L"%lu MB", Summary->MemorySizeMb); + } + + Groups[0] = Zh ? L"系统" : L"System"; + Labels[0] = Zh ? L"平台" : L"Platform"; + Values[0] = Summary->Platform; + Groups[1] = NULL; + Labels[1] = L"CPU"; + Values[1] = Summary->Processor; + Groups[2] = NULL; + Labels[2] = Zh ? L"内存" : L"Memory"; + Values[2] = MemoryText; + Groups[3] = NULL; + Labels[3] = Zh ? L"Arch" : L"Architecture"; + Values[3] = Summary->Architecture; + Groups[4] = NULL; + Labels[4] = ModernUiGetString (ModernUiStringFormFactor); + Values[4] = Summary->FormFactor; + Groups[5] = NULL; + Labels[5] = ModernUiGetString (ModernUiStringBootMode); + Values[5] = Summary->BootMode; + Groups[6] = ModernUiGetString (ModernUiStringGroupFirmware); + Labels[6] = ModernUiGetString (ModernUiStringFirmwareVendor); + Values[6] = Summary->FirmwareVendor; + Groups[7] = NULL; + Labels[7] = ModernUiGetString (ModernUiStringFirmwareRevision); + Values[7] = Summary->FirmwareRevision; + + DrawProviderSummaryPage ( + Ui, + Theme, + Focus, + ModernUiGetString (ModernUiStringPageSystemInfo), + Labels, + Values, + Groups, + ARRAY_SIZE (Labels) + ); +} + /** Draw the Diagnostics page with read-only bring-up and table state. @@ -1942,6 +2020,9 @@ ModernSetupDrawCurrentPage ( case PageDashboard: ModernSetupDrawDashboard (Ui, Theme, Focus, DashboardSelection); break; + case PageSystemInfo: + DrawSystemInfo (Ui, Theme, Focus); + break; case PageBoot: DrawBoot (Ui, Theme, Focus, BootSelection); break; diff --git a/CHANGELOG.md b/CHANGELOG.md index eeb88e1..8058be5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,15 @@ this file as both a release log and a lightweight development progress record. ### Added +- New **System Information** page (`PageSystemInfo`), a dedicated read-only detail + view reachable as the second navigation tab (after the dashboard). It shows the + real platform identity (SMBIOS Type 1), CPU (Type 4), memory type/speed + (Type 17), architecture, form factor, boot mode, and firmware vendor/revision in + grouped rows -- a deeper companion to the dashboard System Information panel. The + page parses no IFR and writes nothing; all values come from the cached provider + snapshot. Adds the `ModernUiStringPageSystemInfo`/`...Hint` strings (EN + zh: + "系统规格") and a `SETUP_PAGE` entry; the nav rail, tab labels, and the normative + page set in `Docs/AppFeatureStandard.md` are updated together. - The dashboard Memory row now appends real module detail read from SMBIOS Type 17 (Memory Device): " MB (-, DIMMs)" -- e.g. "8192 MB (DDR4-3200, 2 DIMMs)". The type prefix (DDR3/DDR4/DDR5/LPDDR4/... via a diff --git a/Docs/AppFeatureStandard.md b/Docs/AppFeatureStandard.md index fe6d887..b693f65 100644 --- a/Docs/AppFeatureStandard.md +++ b/Docs/AppFeatureStandard.md @@ -70,6 +70,7 @@ this order. Adding a page is an additive API change (append before `PageMax`). | Page | Purpose | App shows | Native owner | | --- | --- | --- | --- | | `PageDashboard` | First-glance platform state. | System Information + Platform Health panels, quick-category grid. | — | +| `PageSystemInfo` | Read-only system specification detail. | Real platform identity (SMBIOS Type 1), CPU (Type 4), memory type/speed (Type 17), architecture, form factor, boot mode, firmware vendor/revision. A deeper companion to the dashboard System Information panel. | — (SMBIOS/UEFI read-only). | | `PageBoot` | Boot inventory + launch. | `Boot####` active/hidden/category/path; Enter launches the selected entry. | Boot Maintenance HII. | | `PageDevices` | Device / HII entry inventory. | HII formsets, device-path rows, Driver Health. | Each driver formset. | | `PageSecurity` | Security posture. | Secure Boot, Setup Mode, PK/KEK/db/dbx, TPM/TCG/TCM presence. | SecurityPkg / platform HII. | diff --git a/Docs/AppFeatureStandard.zh-CN.md b/Docs/AppFeatureStandard.zh-CN.md index c54cf63..27b6cdc 100644 --- a/Docs/AppFeatureStandard.zh-CN.md +++ b/Docs/AppFeatureStandard.zh-CN.md @@ -60,6 +60,7 @@ API 变更(追加在 `PageMax` 之前)。 | 页面 | 用途 | App 显示 | 原生所有者 | | --- | --- | --- | --- | | `PageDashboard` | 一眼概览平台状态。 | 系统信息 + 平台健康面板、快捷分类网格。 | — | +| `PageSystemInfo` | 只读系统规格详情。 | 真实平台身份(SMBIOS Type 1)、CPU(Type 4)、内存类型/速度(Type 17)、架构、外形、启动模式、固件厂商/版本。是仪表盘系统信息面板的深入伴随页。 | —(SMBIOS/UEFI 只读)。 | | `PageBoot` | 启动清单 + 启动。 | `Boot####` 激活/隐藏/类别/路径;回车启动所选项。 | Boot Maintenance HII。 | | `PageDevices` | 设备/HII 入口清单。 | HII formset、设备路径行、Driver Health。 | 各驱动 formset。 | | `PageSecurity` | 安全态势。 | Secure Boot、Setup Mode、PK/KEK/db/dbx、TPM/TCG/TCM 存在性。 | SecurityPkg/平台 HII。 | diff --git a/Include/ModernUi/ModernUiString.h b/Include/ModernUi/ModernUiString.h index 81a3721..333e67b 100644 --- a/Include/ModernUi/ModernUiString.h +++ b/Include/ModernUi/ModernUiString.h @@ -143,6 +143,8 @@ typedef enum { ModernUiStringPreferenceDefaults, ModernUiStringPreferenceSavedFormat, ModernUiStringPreferenceDefaultsLoaded, + ModernUiStringPageSystemInfo, + ModernUiStringPageSystemInfoHint, ModernUiStringMax } MODERN_UI_STRING_ID; diff --git a/Library/ModernUiStringLib/ModernUiStringLib.c b/Library/ModernUiStringLib/ModernUiStringLib.c index 2ea863b..d0701c7 100644 --- a/Library/ModernUiStringLib/ModernUiStringLib.c +++ b/Library/ModernUiStringLib/ModernUiStringLib.c @@ -151,7 +151,9 @@ STATIC CONST CHAR16 *mEnglishStrings[ModernUiStringMax] = { L"Save preferences", L"Load defaults", L"Preferences saved: %r", - L"Preference defaults loaded; save to persist." + L"Preference defaults loaded; save to persist.", + L"System Information", + L"Platform, firmware and memory specifications" }; STATIC CONST CHAR16 *mSimplifiedChineseStrings[ModernUiStringMax] = { @@ -283,7 +285,9 @@ STATIC CONST CHAR16 *mSimplifiedChineseStrings[ModernUiStringMax] = { L"保存偏好", L"载入默认值", L"偏好保存结果:%r", - L"已载入默认偏好;保存后持久化。" + L"已载入默认偏好;保存后持久化。", + L"系统规格", + L"平台、固件与内存规格" }; /** diff --git a/Tests/Smoke/smoke_validate.py b/Tests/Smoke/smoke_validate.py index 1aa05c7..283a3c2 100755 --- a/Tests/Smoke/smoke_validate.py +++ b/Tests/Smoke/smoke_validate.py @@ -90,6 +90,7 @@ MODERN_SETUP_APP_INF = MODERN_SETUP_APP_DIR / "ModernSetupApp.inf" APP_NOINLINE_DRAW_HELPERS = ( "DrawProviderSummaryPage", + "DrawSystemInfo", "DrawBoot", "DrawHiiReadOnlyPreview", "DrawDevices", From a1a8b196efb9eb4b3c260dbebc9c7f4e088fe881 Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Wed, 10 Jun 2026 09:19:57 +0800 Subject: [PATCH 14/16] feat(app): deepen System Information page with baseboard/serial/UUID/BIOS Make the System Information page a genuine detail view (not a dashboard mirror) by adding the deeper SMBIOS identity that does not fit the dashboard: - Baseboard " " (SMBIOS Type 2). - Serial number and UUID (SMBIOS Type 1); the UUID renders in canonical GUID form and is suppressed for the all-zero ("not present") and all-FF ("not settable") sentinels. - BIOS version and release-date strings (SMBIOS Type 0), complementing the numeric gST->FirmwareRevision. MODERN_UI_PLATFORM_SUMMARY gains appended (additive) Serial/Uuid/Baseboard/ BiosVersion/BiosDate fields; three new read-only SMBIOS readers reuse the existing string-set extractor and placeholder filter. DrawSystemInfo builds its row list dynamically (cap 13): the 7 core rows always show, the 5 identity rows are appended only when SMBIOS reports a usable value, so thin-SMBIOS platforms collapse cleanly instead of stacking empty rows. zh labels for baseboard/serial/BIOS-date stay English (glyphs outside the embedded subset; graceful fallback). Verified: AARCH64 app build (-Werror clean), smoke PASS. Co-Authored-By: Claude Opus 4.8 --- .../ModernSetupApp/ModernSetupAppPages.c | 117 ++++++--- CHANGELOG.md | 9 + Include/ModernUi/ModernUiPlatformData.h | 14 ++ .../ModernUiPlatformDataLib.c | 225 ++++++++++++++++++ 4 files changed, 337 insertions(+), 28 deletions(-) diff --git a/Application/ModernSetupApp/ModernSetupAppPages.c b/Application/ModernSetupApp/ModernSetupAppPages.c index 7fec9bc..1159fe3 100644 --- a/Application/ModernSetupApp/ModernSetupAppPages.c +++ b/Application/ModernSetupApp/ModernSetupAppPages.c @@ -1068,9 +1068,10 @@ DrawSystemInfo ( CONST CHAR8 *Language; BOOLEAN Zh; CHAR16 MemoryText[96]; - CONST CHAR16 *Labels[8]; - CONST CHAR16 *Values[8]; - CONST CHAR16 *Groups[8]; + CONST CHAR16 *Labels[13]; + CONST CHAR16 *Values[13]; + CONST CHAR16 *Groups[13]; + UINTN Count; ModernSetupGetCachedProviderSnapshot (&Providers); Summary = &Providers.Platform; @@ -1083,30 +1084,90 @@ DrawSystemInfo ( UnicodeSPrint (MemoryText, sizeof (MemoryText), L"%lu MB", Summary->MemorySizeMb); } - Groups[0] = Zh ? L"系统" : L"System"; - Labels[0] = Zh ? L"平台" : L"Platform"; - Values[0] = Summary->Platform; - Groups[1] = NULL; - Labels[1] = L"CPU"; - Values[1] = Summary->Processor; - Groups[2] = NULL; - Labels[2] = Zh ? L"内存" : L"Memory"; - Values[2] = MemoryText; - Groups[3] = NULL; - Labels[3] = Zh ? L"Arch" : L"Architecture"; - Values[3] = Summary->Architecture; - Groups[4] = NULL; - Labels[4] = ModernUiGetString (ModernUiStringFormFactor); - Values[4] = Summary->FormFactor; - Groups[5] = NULL; - Labels[5] = ModernUiGetString (ModernUiStringBootMode); - Values[5] = Summary->BootMode; - Groups[6] = ModernUiGetString (ModernUiStringGroupFirmware); - Labels[6] = ModernUiGetString (ModernUiStringFirmwareVendor); - Values[6] = Summary->FirmwareVendor; - Groups[7] = NULL; - Labels[7] = ModernUiGetString (ModernUiStringFirmwareRevision); - Values[7] = Summary->FirmwareRevision; + Count = 0; + + Groups[Count] = Zh ? L"系统" : L"System"; + Labels[Count] = Zh ? L"平台" : L"Platform"; + Values[Count] = Summary->Platform; + Count++; + if (Summary->Baseboard[0] != L'\0') { + // + // "Baseboard" stays English in the zh UI: the zh glyphs are outside the + // embedded subset (graceful-fallback policy). + // + Groups[Count] = NULL; + Labels[Count] = L"Baseboard"; + Values[Count] = Summary->Baseboard; + Count++; + } + + Groups[Count] = NULL; + Labels[Count] = L"CPU"; + Values[Count] = Summary->Processor; + Count++; + Groups[Count] = NULL; + Labels[Count] = Zh ? L"内存" : L"Memory"; + Values[Count] = MemoryText; + Count++; + Groups[Count] = NULL; + Labels[Count] = Zh ? L"Arch" : L"Architecture"; + Values[Count] = Summary->Architecture; + Count++; + Groups[Count] = NULL; + Labels[Count] = ModernUiGetString (ModernUiStringFormFactor); + Values[Count] = Summary->FormFactor; + Count++; + Groups[Count] = NULL; + Labels[Count] = ModernUiGetString (ModernUiStringBootMode); + Values[Count] = Summary->BootMode; + Count++; + + // + // Identity rows are appended only when SMBIOS actually reports them, so the + // page collapses cleanly on platforms with thin SMBIOS instead of stacking + // empty rows (same philosophy as the dashboard N/A reflow). + // + if (Summary->Serial[0] != L'\0') { + // + // "Serial number" stays English in the zh UI (glyphs outside the subset). + // + Groups[Count] = NULL; + Labels[Count] = L"Serial number"; + Values[Count] = Summary->Serial; + Count++; + } + + if (Summary->Uuid[0] != L'\0') { + Groups[Count] = NULL; + Labels[Count] = L"UUID"; + Values[Count] = Summary->Uuid; + Count++; + } + + Groups[Count] = ModernUiGetString (ModernUiStringGroupFirmware); + Labels[Count] = ModernUiGetString (ModernUiStringFirmwareVendor); + Values[Count] = Summary->FirmwareVendor; + Count++; + Groups[Count] = NULL; + Labels[Count] = ModernUiGetString (ModernUiStringFirmwareRevision); + Values[Count] = Summary->FirmwareRevision; + Count++; + if (Summary->BiosVersion[0] != L'\0') { + Groups[Count] = NULL; + Labels[Count] = Zh ? L"BIOS 版本" : L"BIOS version"; + Values[Count] = Summary->BiosVersion; + Count++; + } + + if (Summary->BiosDate[0] != L'\0') { + // + // "BIOS date" stays English in the zh UI (日/期 outside the subset). + // + Groups[Count] = NULL; + Labels[Count] = L"BIOS date"; + Values[Count] = Summary->BiosDate; + Count++; + } DrawProviderSummaryPage ( Ui, @@ -1116,7 +1177,7 @@ DrawSystemInfo ( Labels, Values, Groups, - ARRAY_SIZE (Labels) + Count ); } diff --git a/CHANGELOG.md b/CHANGELOG.md index 8058be5..682b795 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,15 @@ this file as both a release log and a lightweight development progress record. ### Added +- The System Information page now shows the deeper SMBIOS identity that does not + fit the dashboard: **Baseboard** (" ", Type 2), + **Serial number** and **UUID** (Type 1, with the all-zero/all-FF "not + present/not settable" UUID sentinels suppressed), and the BIOS-vendor-owned + **BIOS version / BIOS date** strings (Type 0) alongside the numeric firmware + revision. Each row is appended only when SMBIOS actually reports a usable value + (placeholder strings filtered), so the page collapses cleanly on thin-SMBIOS + platforms. `MODERN_UI_PLATFORM_SUMMARY` gains appended (additive) `Serial`, + `Uuid`, `Baseboard`, `BiosVersion`, and `BiosDate` fields. - New **System Information** page (`PageSystemInfo`), a dedicated read-only detail view reachable as the second navigation tab (after the dashboard). It shows the real platform identity (SMBIOS Type 1), CPU (Type 4), memory type/speed diff --git a/Include/ModernUi/ModernUiPlatformData.h b/Include/ModernUi/ModernUiPlatformData.h index 32ee71e..79b367b 100644 --- a/Include/ModernUi/ModernUiPlatformData.h +++ b/Include/ModernUi/ModernUiPlatformData.h @@ -34,6 +34,20 @@ typedef struct { // MemorySizeMb above. // CHAR16 MemoryDetail[MODERN_UI_PLATFORM_TEXT_MAX]; + // + // Appended (additive): deeper system-detail identity for the System + // Information page. Each is empty when its SMBIOS source is absent. + // Serial - system serial number (SMBIOS Type 1). + // Uuid - system UUID, canonical string form (SMBIOS Type 1). + // Baseboard - " " (SMBIOS Type 2). + // BiosVersion - firmware version string (SMBIOS Type 0). + // BiosDate - firmware release date (SMBIOS Type 0). + // + CHAR16 Serial[MODERN_UI_PLATFORM_TEXT_MAX]; + CHAR16 Uuid[MODERN_UI_PLATFORM_TEXT_MAX]; + CHAR16 Baseboard[MODERN_UI_PLATFORM_TEXT_MAX]; + CHAR16 BiosVersion[MODERN_UI_PLATFORM_TEXT_MAX]; + CHAR16 BiosDate[MODERN_UI_PLATFORM_TEXT_MAX]; } MODERN_UI_PLATFORM_SUMMARY; /** diff --git a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c index 1c19bbb..439120f 100644 --- a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c +++ b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c @@ -404,6 +404,218 @@ GetSmbiosProcessor ( } } +/** + Read the system serial number and UUID from SMBIOS Type 1 when available. + + The serial is filtered through the placeholder list; the UUID is rendered in + canonical GUID text form and suppressed when SMBIOS reports the all-zero + ("not present") or all-FF ("not settable") sentinel values. Either buffer is + left empty when its field is absent, so the caller can hide the row. + + @param[out] Serial Destination for the serial number. Must not be NULL. + @param[in] SerialCount Number of CHAR16 entries in Serial. + @param[out] Uuid Destination for the UUID text. Must not be NULL. + @param[in] UuidCount Number of CHAR16 entries in Uuid. +**/ +STATIC +VOID +GetSmbiosSystemDetail ( + OUT CHAR16 *Serial, + IN UINTN SerialCount, + OUT CHAR16 *Uuid, + IN UINTN UuidCount + ) +{ + EFI_STATUS Status; + EFI_SMBIOS_PROTOCOL *Smbios; + EFI_SMBIOS_HANDLE Handle; + EFI_SMBIOS_TABLE_HEADER *Record; + EFI_SMBIOS_TYPE Type; + SMBIOS_TABLE_TYPE1 *Type1; + CHAR8 *SerialString; + CONST UINT8 *UuidBytes; + BOOLEAN AllZero; + BOOLEAN AllOnes; + UINTN Index; + + if ((Serial == NULL) || (SerialCount == 0) || (Uuid == NULL) || (UuidCount == 0)) { + return; + } + + Serial[0] = L'\0'; + Uuid[0] = L'\0'; + Smbios = NULL; + Status = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL, (VOID **)&Smbios); + if (EFI_ERROR (Status) || (Smbios == NULL)) { + return; + } + + Handle = SMBIOS_HANDLE_PI_RESERVED; + Type = SMBIOS_TYPE_SYSTEM_INFORMATION; + Record = NULL; + Status = Smbios->GetNext (Smbios, &Handle, &Type, &Record, NULL); + if (EFI_ERROR (Status) || (Record == NULL)) { + return; + } + + Type1 = (SMBIOS_TABLE_TYPE1 *)Record; + SerialString = GetSmbiosString (Record, Type1->SerialNumber); + if (!IsSmbiosPlaceholder (SerialString)) { + UnicodeSPrint (Serial, SerialCount * sizeof (CHAR16), L"%a", SerialString); + } + + // + // SMBIOS defines all-zero as "UUID not present" and all-FF as "present but + // not settable"; neither is a usable identity. The EFI_GUID field layout + // already matches the SMBIOS 2.6+ byte order, so %g prints canonically. + // + UuidBytes = (CONST UINT8 *)&Type1->Uuid; + AllZero = TRUE; + AllOnes = TRUE; + for (Index = 0; Index < sizeof (Type1->Uuid); Index++) { + if (UuidBytes[Index] != 0x00) { + AllZero = FALSE; + } + + if (UuidBytes[Index] != 0xFF) { + AllOnes = FALSE; + } + } + + if (!AllZero && !AllOnes) { + UnicodeSPrint (Uuid, UuidCount * sizeof (CHAR16), L"%g", &Type1->Uuid); + } +} + +/** + Read the baseboard identity from SMBIOS Type 2 when available. + + Composes " " with placeholder filtering, mirroring the + Type 1 system-name composition. Leaves the buffer empty when Type 2 is absent + or reports no usable strings. + + @param[out] Buffer Destination buffer. Must not be NULL. + @param[in] Count Number of CHAR16 entries in Buffer. +**/ +STATIC +VOID +GetSmbiosBaseboard ( + OUT CHAR16 *Buffer, + IN UINTN Count + ) +{ + EFI_STATUS Status; + EFI_SMBIOS_PROTOCOL *Smbios; + EFI_SMBIOS_HANDLE Handle; + EFI_SMBIOS_TABLE_HEADER *Record; + EFI_SMBIOS_TYPE Type; + SMBIOS_TABLE_TYPE2 *Type2; + CHAR8 *Manufacturer; + CHAR8 *Product; + + if ((Buffer == NULL) || (Count == 0)) { + return; + } + + Buffer[0] = L'\0'; + Smbios = NULL; + Status = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL, (VOID **)&Smbios); + if (EFI_ERROR (Status) || (Smbios == NULL)) { + return; + } + + Handle = SMBIOS_HANDLE_PI_RESERVED; + Type = SMBIOS_TYPE_BASEBOARD_INFORMATION; + Record = NULL; + Status = Smbios->GetNext (Smbios, &Handle, &Type, &Record, NULL); + if (EFI_ERROR (Status) || (Record == NULL)) { + return; + } + + Type2 = (SMBIOS_TABLE_TYPE2 *)Record; + Manufacturer = GetSmbiosString (Record, Type2->Manufacturer); + Product = GetSmbiosString (Record, Type2->ProductName); + if (IsSmbiosPlaceholder (Manufacturer)) { + Manufacturer = NULL; + } + + if (IsSmbiosPlaceholder (Product)) { + Product = NULL; + } + + if ((Manufacturer != NULL) && (Product != NULL)) { + UnicodeSPrint (Buffer, Count * sizeof (CHAR16), L"%a %a", Manufacturer, Product); + } else if (Product != NULL) { + UnicodeSPrint (Buffer, Count * sizeof (CHAR16), L"%a", Product); + } else if (Manufacturer != NULL) { + UnicodeSPrint (Buffer, Count * sizeof (CHAR16), L"%a", Manufacturer); + } +} + +/** + Read the firmware version string and release date from SMBIOS Type 0 when + available. + + These are the BIOS-vendor-owned strings (e.g. "edk2-stable202505" and + "05/30/2025") and complement the numeric gST->FirmwareRevision. Each buffer is + left empty when its field is absent or a placeholder, so the caller can hide + the row. + + @param[out] Version Destination for the version string. Must not be NULL. + @param[in] VersionCount Number of CHAR16 entries in Version. + @param[out] Date Destination for the release date. Must not be NULL. + @param[in] DateCount Number of CHAR16 entries in Date. +**/ +STATIC +VOID +GetSmbiosBiosInfo ( + OUT CHAR16 *Version, + IN UINTN VersionCount, + OUT CHAR16 *Date, + IN UINTN DateCount + ) +{ + EFI_STATUS Status; + EFI_SMBIOS_PROTOCOL *Smbios; + EFI_SMBIOS_HANDLE Handle; + EFI_SMBIOS_TABLE_HEADER *Record; + EFI_SMBIOS_TYPE Type; + SMBIOS_TABLE_TYPE0 *Type0; + CHAR8 *VersionString; + CHAR8 *DateString; + + if ((Version == NULL) || (VersionCount == 0) || (Date == NULL) || (DateCount == 0)) { + return; + } + + Version[0] = L'\0'; + Date[0] = L'\0'; + Smbios = NULL; + Status = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL, (VOID **)&Smbios); + if (EFI_ERROR (Status) || (Smbios == NULL)) { + return; + } + + Handle = SMBIOS_HANDLE_PI_RESERVED; + Type = SMBIOS_TYPE_BIOS_INFORMATION; + Record = NULL; + Status = Smbios->GetNext (Smbios, &Handle, &Type, &Record, NULL); + if (EFI_ERROR (Status) || (Record == NULL)) { + return; + } + + Type0 = (SMBIOS_TABLE_TYPE0 *)Record; + VersionString = GetSmbiosString (Record, Type0->BiosVersion); + DateString = GetSmbiosString (Record, Type0->BiosReleaseDate); + if (!IsSmbiosPlaceholder (VersionString)) { + UnicodeSPrint (Version, VersionCount * sizeof (CHAR16), L"%a", VersionString); + } + + if (!IsSmbiosPlaceholder (DateString)) { + UnicodeSPrint (Date, DateCount * sizeof (CHAR16), L"%a", DateString); + } +} + /** Map an SMBIOS Type 17 MemoryType enumeration to a short display string. @@ -637,6 +849,19 @@ ModernUiPlatformDataGetSummary ( GetSmbiosProcessor (Summary->Processor, ARRAY_SIZE (Summary->Processor)); GetSmbiosMemoryDetail (Summary->MemoryDetail, ARRAY_SIZE (Summary->MemoryDetail)); + GetSmbiosSystemDetail ( + Summary->Serial, + ARRAY_SIZE (Summary->Serial), + Summary->Uuid, + ARRAY_SIZE (Summary->Uuid) + ); + GetSmbiosBaseboard (Summary->Baseboard, ARRAY_SIZE (Summary->Baseboard)); + GetSmbiosBiosInfo ( + Summary->BiosVersion, + ARRAY_SIZE (Summary->BiosVersion), + Summary->BiosDate, + ARRAY_SIZE (Summary->BiosDate) + ); GetSmbiosFormFactor (Summary->FormFactor, ARRAY_SIZE (Summary->FormFactor)); GetBootModeName (Summary->BootMode, ARRAY_SIZE (Summary->BootMode)); From eaa5625156c70df69a83d8f3606f86cc85463778 Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Wed, 10 Jun 2026 10:07:20 +0800 Subject: [PATCH 15/16] fix(app): copy packed SMBIOS UUID to aligned storage before %g GetSmbiosSystemDetail read Type1->Uuid directly with %g. SMBIOS records are byte-packed, so the GUID field can be unaligned; doing a structured (multi-byte) read of it is undefined on strict-alignment targets. Copy the 16 bytes to an aligned local GUID (byte-wise CopyMem) before the all-zero/all-FF sentinel scan and the %g format. Defensive correctness for AArch64/RISC-V; no behavior change on x86/LoongArch. (Note: an AArch64 dashboard crash seen during multi-arch capture was a stale incremental build -- a stale object file compiled against the pre-Track-C MODERN_UI_PLATFORM_SUMMARY size after the struct gained fields -- not this code. A clean build of the same source renders correctly on all of OVMF x64, LoongArch, and ArmVirt.) Co-Authored-By: Claude Opus 4.8 --- .../ModernUiPlatformDataLib/ModernUiPlatformDataLib.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c index 439120f..a4dc60a 100644 --- a/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c +++ b/Library/ModernUiPlatformDataLib/ModernUiPlatformDataLib.c @@ -433,6 +433,7 @@ GetSmbiosSystemDetail ( EFI_SMBIOS_TYPE Type; SMBIOS_TABLE_TYPE1 *Type1; CHAR8 *SerialString; + GUID UuidValue; CONST UINT8 *UuidBytes; BOOLEAN AllZero; BOOLEAN AllOnes; @@ -465,14 +466,18 @@ GetSmbiosSystemDetail ( } // + // SMBIOS records are byte-packed, so Type1->Uuid can be unaligned. Copy it to + // an aligned local before any structured (%g) access -- a multi-byte read of + // the unaligned GUID faults on strict-alignment targets (e.g. AArch64). // SMBIOS defines all-zero as "UUID not present" and all-FF as "present but // not settable"; neither is a usable identity. The EFI_GUID field layout // already matches the SMBIOS 2.6+ byte order, so %g prints canonically. // - UuidBytes = (CONST UINT8 *)&Type1->Uuid; + CopyMem (&UuidValue, &Type1->Uuid, sizeof (UuidValue)); + UuidBytes = (CONST UINT8 *)&UuidValue; AllZero = TRUE; AllOnes = TRUE; - for (Index = 0; Index < sizeof (Type1->Uuid); Index++) { + for (Index = 0; Index < sizeof (UuidValue); Index++) { if (UuidBytes[Index] != 0x00) { AllZero = FALSE; } @@ -483,7 +488,7 @@ GetSmbiosSystemDetail ( } if (!AllZero && !AllOnes) { - UnicodeSPrint (Uuid, UuidCount * sizeof (CHAR16), L"%g", &Type1->Uuid); + UnicodeSPrint (Uuid, UuidCount * sizeof (CHAR16), L"%g", &UuidValue); } } From 8a0d106ca68fe46281aaa44409288c64c0be1f9c Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Wed, 10 Jun 2026 10:22:38 +0800 Subject: [PATCH 16/16] docs: refresh showcase screenshots across x64/LoongArch/AArch64 Re-capture the GitHub showcase to the current app and add two new shots: - modern-ovmf-x64-dashboard-graphite-gold.png (hero) and modern-loongarch-dashboard.png re-captured -- now show the System nav tab, real SMBIOS platform/CPU/memory data, humanized firmware revision, and the platform-adaptive quick cards (server card hidden on client/VM -> 7 cards). - modern-ovmf-x64-systeminfo.png (new) -- the dedicated System Information page. - modern-aarch64-dashboard.png (new) -- ArmVirt AArch64 dashboard. README gallery updated; the stale v0.4 ArmVirt app shots are dropped from the gallery in favor of the AArch64 dashboard. All captures are 1280x800, app boots from an ESP under QEMU. RISC-V capture pending (its edk2 DEBUG firmware asserts in HardwareErrorSourceTableDxe before GOP). Co-Authored-By: Claude Opus 4.8 --- .../Screenshots/modern-aarch64-dashboard.png | Bin 0 -> 80777 bytes .../modern-loongarch-dashboard.png | Bin 103890 -> 80788 bytes ...odern-ovmf-x64-dashboard-graphite-gold.png | Bin 57816 -> 80967 bytes .../modern-ovmf-x64-systeminfo.png | Bin 0 -> 49552 bytes CHANGELOG.md | 10 ++++++++++ README.md | 10 +++++----- 6 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 Assets/Screenshots/modern-aarch64-dashboard.png create mode 100644 Assets/Screenshots/modern-ovmf-x64-systeminfo.png diff --git a/Assets/Screenshots/modern-aarch64-dashboard.png b/Assets/Screenshots/modern-aarch64-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..0af2db1e77007d46983fc60aba6f55e973a9c0be GIT binary patch literal 80777 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�smCsweH2Tr_{W&;M|#ZXaXa6 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 H^7(%NsQ88A literal 0 HcmV?d00001 diff --git a/Assets/Screenshots/modern-loongarch-dashboard.png b/Assets/Screenshots/modern-loongarch-dashboard.png index 4d79bdea189c462a1addd5c8c45cfa6c2da6f414..5c00028f3d622ce14a48719f6f302c17cb505364 100644 GIT binary patch literal 80788 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

6lLcGtLFjGS)%c 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 literal 103890 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

6*CCej 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�E{kvF<+J{{WjB^# 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≧e;cez_oRef?5UcCl%RN2u3f;O1SB7qBMhQ?|Kp3@q0Z zToaFc%`ClHg<)pL#+gA~tR&WEHeXnFY#xaA8f_m-PR!_eGa$!8ktu7(A2Kji?!BG9 z{tTXgx+oLPqub-zBG%UbOmP{r7tvRu81&&=PeV`oVQC)AhVE8qa|<>@(?gwmOmbGw zIjPf0cr%cQX>$=?li@$xfk~bNo$ZG{MgE$3QCF|6%%X4F>qTj!)tr;`?h&gy1BtR> zA>+^ABVQpREo!>GU1$wSWjb=2V!pe1n7h7?s}_OPg<}qz+0KK)<|ch4!L)?A{vT(i z=wU$i%F8ojan-7-T2e+oFAJb>4xu~g4x-hv^e|d^j--yQ7cLeDX1xQqfGls8#aMo4 z=f9!NUKVEB))wG#Kz3yFt#|(I2mH@aM_mPG$)~1APKYE>PJu*9xr!p9jqC*-*{!?^ zS9$*$dh%B*-z=CEeR^t!5k}%fw!u^n0j*i%Ptvj%tyWsC1in*2u>A^&D4gPf|Bn5n zH7FUfM--Ap6_)cB;0Pt@N`N8&LDRqV7=6#~>-5z(Xmy#BYRNt(SWcmNpVvWv^ys9z z8=uxz;>i{8H{~z05RfCcQ0H?&;MKlfcS zU8EkgnHnx~%gK+52Ur=PH~iJ+KV~HAeofQ``sLQ_oQS=BrBX)d>%GBOsdREhALm9k zUNh8{2Q>U%t(#0fM+}vDW`~*{2B|2h2kio!3gEgi^vrs7N=fMtGEB4V=_<&-(EZfn zOah(9mS02qA&2KzpcmVaI#s}+&Xd2in{hTQhSZ`;GTVrO(|{~}rbj7W7pwYL6?USY z8wB`8jfPnof68rms#p?>hLr0}y4cUL}B?F~fADA`UojQ6j9E z575-N$b!?h4OLxzGsXNz9)%`eBy-=+4l4fnIPrww-zRab2ym_c`}F_cg9>i%HeVmF*&g^+{QE1aN?MAQ3f3R~ E2kZg!HUIzs literal 57816 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ℑ4As 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