From: David Woodhouse Date: Wed, 26 Jun 2019 11:37:39 +0000 (+0100) Subject: OvmfPkg/LegacyBios: set NumberBbsEntries to the size of BbsTable X-Git-Tag: edk2-stable201908~346 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=0ca62507681309be8247675c8fc500fb94f928ed 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> --- 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; } //