From 0ca62507681309be8247675c8fc500fb94f928ed Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Wed, 26 Jun 2019 12:37:39 +0100 Subject: [PATCH] OvmfPkg/LegacyBios: set NumberBbsEntries to the size of BbsTable This is hard-coded in the IntThunk structure, and the additional entries will be needed for other devices like VirtIO and NVMe disks. So admit that they exist. Signed-off-by: David Woodhouse Acked-by: Laszlo Ersek Message-Id: <20190626113742.819933-2-dwmw2@infradead.org> --- OvmfPkg/Csm/LegacyBiosDxe/LegacyBios.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OvmfPkg/Csm/LegacyBiosDxe/LegacyBios.c b/OvmfPkg/Csm/LegacyBiosDxe/LegacyBios.c index 05e3ffd2bb..5e795bfe65 100644 --- a/OvmfPkg/Csm/LegacyBiosDxe/LegacyBios.c +++ b/OvmfPkg/Csm/LegacyBiosDxe/LegacyBios.c @@ -565,12 +565,13 @@ ShadowAndStartLegacy16 ( EfiToLegacy16BootTable->BbsTable = (UINT32)(UINTN)BbsTable; Private->BbsTablePtr = (VOID *) BbsTable; + // - // Skip Floppy and possible onboard IDE drives + // Populate entire table with BBS_IGNORE_ENTRY // - EfiToLegacy16BootTable->NumberBbsEntries = 1 + 2 * MAX_IDE_CONTROLLER; + EfiToLegacy16BootTable->NumberBbsEntries = MAX_BBS_ENTRIES; - for (Index = 0; Index < (sizeof (Private->IntThunk->BbsTable) / sizeof (BBS_TABLE)); Index++) { + for (Index = 0; Index < MAX_BBS_ENTRIES; Index++) { BbsTable[Index].BootPriority = BBS_IGNORE_ENTRY; } // -- 2.39.2