summaryrefslogtreecommitdiff
path: root/Platform/Intel/SimicsOpenBoardPkg/Library
AgeCommit message (Collapse)AuthorFilesLines
2026-08-26SimicsOpenBoardPkg/BoardBdsHookLib: Add BDS enhancements for QSPRobert Guenzel4-6/+266
Refactor BoardBdsHookLib to use SimicsUefiDeviceLib and add: - Video mode selection from simics-uefi device before boot handoff - Boot device priority from simics-uefi device config string - Boot option sorting (USB=4, DVD=5, HDD=6, PXE=7, HTTP=8, Shell=150) - USB HID keyboard device path registration in ConIn/ConInDev - "Press ESC to enter BIOS menu" on serial and graphics consoles Update BoardBootManager progress bar text to match. Signed-off-by: Robert Guenzel <robert.guenzel@intel.com>
2026-08-26SimicsOpenBoardPkg: Add SimicsUefiDeviceLibRobert Guenzel2-0/+245
The Simics QSP platform uses a hidden PCI config space device (simics-uefi device, VID/DID=0xFFFF, SubsysVID/ID=0x8086/0x8086) to exchange configuration data between the simulator and BIOS. The device detection logic was duplicated across multiple consumers. Add SimicsUefiDeviceLib, a shared DXE library that provides: - SimicsUefiDeviceCheck: probe device presence via PCI config reads - SimicsUefiDeviceRead: read from device register offset - SimicsUefiDeviceWrite: write to device register offset Declare PCI BDF and capabilities register base PCDs in OpenBoardPkg.dec and add the library class mapping in OpenBoardPkg.dsc. Signed-off-by: Robert Guenzel <robert.guenzel@intel.com>
2026-08-26SimicsOpenBoardPkg/PeiReportFvLib: Guard against unset FV PCDsRobert Guenzel1-45/+58
SimicsOpenBoardPkg does not set several MinPlatformPkg FV PCDs (PcdFlashFvSecurityBase/Size, PcdFlashFvAdvancedBase/Size, and others), leaving them at their default value of 0. ReportPreMemFv() and ReportPostMemFv() unconditionally install FV Info PPIs for all of these, which triggers notify callbacks (e.g., Tcg2Pei) that attempt to process a bogus FV at address 0 with size 0, leading to undefined behavior. Add null guards to skip FV Info PPI installation when both the base address and size PCDs are zero. Signed-off-by: Robert Guenzel <robert.guenzel@intel.com>
2026-08-26SimicsOpenBoardPkg: Add PcdUninstallMemAttrProtocol workaroundRobert Guenzel2-0/+66
Fedora grub2 triggers page faults when EFI_MEMORY_ATTRIBUTE_PROTOCOL is present during OS boot. Add a PCD-gated workaround that uninstalls all instances of the protocol before handing off to the boot loader. Declare PcdUninstallMemAttrProtocol (default FALSE) in OpenBoardPkg.dec [PcdsFeatureFlag]. When enabled, BoardBdsHookLib enumerates all handles exposing gEfiMemoryAttributeProtocolGuid and removes them in BdsAfterConsoleReadyBeforeBootOptionCallback. Signed-off-by: Robert Guenzel <robert.guenzel@intel.com>
2024-09-18Platform/Intel: Create MmPlatformHobProducerLib instanceDun Tan2-0/+380
Create MmPlatformHobProducerLib instance for QSP boot. In this libarary, CreateMmPlatformHob() function is called by StandaloneMm IPL to create all Platform specific HOBs that required by Standalone MM environment. On return, a list of ResourceDescriptorHob are generated to report MMIO ranges. All memory ranges except SMRAM and EFI_RESOURCE_SYSTEM_MEMORY type memory ranges are treated as MMIO. Signed-off-by: Dun Tan <dun.tan@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Jiaxin Wu <jiaxin.wu@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Wei6 Xu <wei6.xu@intel.com> Cc: Yuanhao Xie <yuanhao.xie@intel.com>
2024-09-16Update code to be more C11 compliant by using __func__Rebecca Cran2-15/+15
__FUNCTION__ is a pre-standard extension that gcc and Visual C++ among others support, while __func__ was standardized in C99. Since it's more standard, replace __FUNCTION__ with __func__ throughout edk2-platforms. Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
2024-09-16Replace deprecated EFI_D_* with DEBUG_*Rebecca Cran4-14/+14
Replaced the deprecated EFI_D_{INFO,WARN,ERROR,VERBOSE} usage with DEBUG_{INFO,WARN,ERROR,VERBOSE}. Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
2023-05-30SimicsOpenBoardPkg: Enable serial terminalRay Ni1-33/+23
Signed-off-by: Ray Ni <ray.ni@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Zhiguang Liu <zhiguang@liu@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com>
2023-05-30SimicsOpenBoardPkg: Remove logic that loads variable from disk fileRay Ni9-1757/+0
Simics QSP platform always supports flash devices. The logic that was ported from OVMF where the flash devices might not be supported in some configurations is useless in QSP platform. So, the patch removes all of them. Signed-off-by: Ray Ni <ray.ni@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Zhiguang Liu <zhiguang@liu@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com>
2023-05-30SimicsOpenBoardPkg: Remove un-used PlatformBootManagerLibRay Ni4-1811/+0
Signed-off-by: Ray Ni <ray.ni@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Zhiguang Liu <zhiguang@liu@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com>
2022-01-22Platform/Intel/SimicsOpenBoardPkg: Remove all UGA supportGuoMinJ2-49/+2
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2368 Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Guomin Jiang <guomin.jiang@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2020-08-03SimicsOpenBoardPkg: Update usage of functions to be removedShenglei Zhang1-1/+1
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2777 With some functions to be deprecated, their usage in platforms should also be updated. Cc: Agyeman Prince <prince.agyeman@intel.com> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com>
2020-04-21SimicsOpenBoardPkg: Add BDS Board Boot Manager libraryPrince Agyeman2-0/+112
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336 This library implements PlatformBootManagerWaitCallback and PlatformBootManagerUnableToBoot which can be linked Minplatform's PlatformBootManager libary instance. Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Michael Kubacki <michael.a.kubacki@intel.com> Signed-off-by: Prince Agyeman <prince.agyeman@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
2020-04-21SimicsOpenBoardPkg: Add Bds Hook LibraryPrince Agyeman3-0/+1884
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336 Added Board BDS Hook library that implements simics specific Bds hook points or callbacks. Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Michael Kubacki <michael.a.kubacki@intel.com> Co-authored-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Prince Agyeman <prince.agyeman@intel.com> Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
2019-11-01SimicsOpenBoardPkg: Fix gcc build failureAgyeman, Prince1-0/+9
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2225 Currently, gcc 5 encounters an error "unused-but-set-variable" in BdsPlatform.c as a result of a Status variable not being used after it's set. This was fixed by printing the Status variable when EfiBootManagerDeleteLoadOptionVariable function encounters an error. Cc: Ankit Sinha <ankit.sinha@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Kubacki Michael A <michael.a.kubacki@intel.com> Signed-off-by: Prince Agyeman <prince.agyeman@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
2019-10-12SimicsOpenBoardPkg: Assign unique token namespaceMichael Kubacki3-17/+17
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2249 PCDs declared in the SimicsOpenBoardPkg currently use the GUID gBoardModuleTokenSpaceGuid. The same name is used in other board packages and a package has been added called BoardModulePkg so this name is now misleading. This change assigns a unique GUID value and a name specific to the package to provide differentiation from PCDs in other board packages. Cc: Agyeman Prince <prince.agyeman@intel.com> Cc: Wei David Y <david.y.wei@intel.com> Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2019-09-23SimicsOpenBoardPkg: Always set the boot priority by defaultWei, David Y1-3/+11
When running networks of multiple machines, Simics assigns different disk IDs to each disk created. This change the boot priority and can't boot from SATA HDD directly. Clear boot priority in NVRAM can fix this issue. Cc: Hao Wu <hao.a.wu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Ankit Sinha <ankit.sinha@intel.com> Cc: Agyeman Prince <prince.agyeman@intel.com> Cc: Kubacki Michael A <michael.a.kubacki@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Co-authored-by: Michael Kubacki <michael.a.kubacki@intel.com> Signed-off-by: David Wei <david.y.wei@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2019-09-12SimicsOpenBoardPkg: Fix GCC build issuesAgyeman, Prince1-38/+0
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2162 Removed unused functions in SecMain.c and BdsPlatform.c. Cc: David Wei <david.y.wei@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Ankit Sinha <ankit.sinha@intel.com> Cc: Agyeman Prince <prince.agyeman@intel.com> Cc: Kubacki Michael A <michael.a.kubacki@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Prince Agyeman <prince.agyeman@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
2019-09-07SimicsOpenBoardPkg: Add SimicsOpenBoardPkg and its modulesWei, David Y26-0/+6117
Add modules Include, Library, SimicsDxe, SimicsPei, Policy, SmbiosPlatformDxe and SecCore for Simics Quick Start Platform support. Cc: Hao Wu <hao.a.wu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Ankit Sinha <ankit.sinha@intel.com> Cc: Agyeman Prince <prince.agyeman@intel.com> Cc: Kubacki Michael A <michael.a.kubacki@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: David Wei <david.y.wei@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>