Add boot log error checking tests to coreboot base port suite - #1251
Open
Houmgaor wants to merge 1 commit into
Open
Add boot log error checking tests to coreboot base port suite#1251Houmgaor wants to merge 1 commit into
Houmgaor wants to merge 1 commit into
Conversation
Add 5 new Robot Framework test cases to coreboot-base-port.robot that check the coreboot boot log for common errors and warnings indicating firmware misconfiguration during base port finalization. Tests use cbmem -1 to read the coreboot console log after booting into Linux, then assert absence of specific error patterns: - CBP007: ASSERTION ERROR (missing PMC GPE routes, etc.) - CBP008: Static PCI device not found (wrong devicetree.cb state) - CBP009: Resource didn't fit (PCI resource allocation failure) - CBP010: BUG: messages (hidden device requests, etc.) - CBP011: Check your devicetree.cb (leftover static devices) Gated by new BASE_PORT_LOG_CHECK_SUPPORT flag, enabled for QEMU. All 5 tests pass on QEMU Q35 with Dasharo firmware v0.2.1. Closes: Dasharo#921
Houmgaor
force-pushed
the
add-boot-log-error-checks
branch
from
February 28, 2026 12:02
1443692 to
e1ee47b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes: #921
This PR adds 5 new Robot Framework test cases (CBP007-CBP011) to the coreboot base port test suite. It parses boot logs for common errors and warnings indicating firmware misconfiguration.
Error patterns checked
Each test boots into Linux, reads the full coreboot log via
cbmem -1, and checks for absence of a specific error pattern:ASSERTION ERRORnot found, disabling it.Resource didn't fit!!!BUG:Check your devicetree.cbChanges
dasharo-compatibility/coreboot-base-port.robot${BASE_PORT_LOG_CHECK_SUPPORT}and${TESTS_IN_UBUNTU_SUPPORT}Boot System Or From Connected Disk, then read the coreboot console log viacbmem -1and assert it does not contain the error patternplatform-configs/include/default.robot${BASE_PORT_LOG_CHECK_SUPPORT}flag (defaults to${FALSE})platform-configs/qemu.robot${BASE_PORT_LOG_CHECK_SUPPORT}for QEMU testingDesign decisions
cbmem-based approach rather than serial console reading. The coreboot boot log is read via
cbmem -1after booting into Linux, which is the standard method used throughout the OSFV framework for reading coreboot logs (e.g., DMA protection tests, TPM tests, CBnT tests). This works on both real hardware and QEMU.Separate feature flag (
BASE_PORT_LOG_CHECK_SUPPORT) rather than reusing existingBASE_PORT_*flags.QEMU test results
Open questions for maintainer
Should
CBP011(devicetree.cb warnings / leftover static devices) be included? Per discussion in dasharo-issues#1409, this message is "present on almost all boards." It may be better as an informational/warning test rather than a hard failure. Happy to adjust.Are there additional error patterns beyond those in #1409 and #1364 that should be included? (e.g., from coreboot's review system or other ticket sources as mentioned in the issue checklist)