forked from tianocore/edk2
-
Notifications
You must be signed in to change notification settings - Fork 44
UefiCpuPkg/CpuExceptionHandlerLib: Fix NASM 3.x build by using strict qword #36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Aldair402
wants to merge
84
commits into
MrChromebox:uefipayload_2508
Choose a base branch
from
Aldair402:2508-nasm
base: uefipayload_2508
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
The MTRRs have already been programmed by FSB. Signed-off-by: Patrick Rudolph <[email protected]> Change-Id: I8c6e7657b789edac8ee83a89318209a598712db8
Add Pcd to allow configuring internal devices to be prioritized over internally-attached USB devices, such as card readers, over SATA, NVMe and eMMC drives. Cc: Jian J Wang <[email protected]> Cc: Liming Gao <[email protected]> Signed-off-by: Matt DeVillier <[email protected]> Signed-off-by: Sean Rhodes <[email protected]> Change-Id: Ibc9803d67b6cb631a53df80aa1f101752a46e874
Hook PRIORITIZE_INTERNAL build option to PrioritizeInternal PCD. Cc: Guo Dong <[email protected]> Cc: Ray Ni <[email protected]> Cc: Maurice Ma <[email protected]> Cc: Benjamin You <[email protected]> Signed-off-by: Sean Rhodes <[email protected]> Signed-off-by: Matt DeVillier <[email protected]> Change-Id: I5c6ef766a219d22f4f5ae79c18e30941646cbd62
Add EXT2/EXT4, exFAT, NTFS filesystem drivers. Do not add ISO9115 drivers as it breaks El Torito boot. Sourced from: https://github.com/pbatard/EfiFs/releases/tag/v1.10 https://github.com/pbatard/ntfs-3g/releases/tag/1.7 Signed-off-by: Matt DeVillier <[email protected]> Change-Id: I2e4d67cd8251ef3ec8a122a3ea0081aca6cfc455
Signed-off-by: Patrick Rudolph <[email protected]>
Signed-off-by: Matt DeVillier <[email protected]> Change-Id: I02d27edac5dfd334bca51d20e7ffcb85377a08b0
Move 'Press ESC' prompt to bottom of screen. Clear when timeout expired. Signed-off-by: Matt DeVillier <[email protected]> Change-Id: I0493318e40d0a753dd804dcf3f3ea968adfc8628
Rework frontpage layout for cleaner, more streamlined look. Change-Id: If1b09f2589ad8e268f60f8ac92ed94d8b2f3ab52 Signed-off-by: Matt DeVillier <[email protected]>
Add function to convert SMBIOS product name to device name for Google ChromeOS devices Signed-off-by: Matt DeVillier <[email protected]> Change-Id: Idff226a9aaae94df0c441a2bdceaea3267c825fe
Matches previous implementation under CorebootPayloadPkg Signed-off-by: Matt DeVillier <[email protected]>
Add device type prefixes for USB, IDE, SATA, and NVMe drives. Remove UEFI prefix, remove serial numbers. Simplify eMMC description. Signed-off-by: Matt DeVillier <[email protected]>
Internal eMMC devices often show multiple entries, so skip any after the initial entry. Signed-off-by: Matt DeVillier <[email protected]>
Strip menus down to essential bootorder-related functions. Matches previous implementation under CorebootPayloadPkg. Signed-off-by: Matt DeVillier <[email protected]>
Add support for Bayhub eMMC controller found on AMD Stoneyridge Chromebooks. Test: build/boot various google/kahlee-based devices Signed-off-by: Matt DeVillier <[email protected]>
After boot devices have been enumerated, invoke a SMM handler to put the eMMC/SD devices on Baytrail devices into ACPI mode, since they do not function properly in PCI mode, but are not otherwise detected by Tianocore's boot device enumeration. Signed-off-by: Matt DeVillier <[email protected]>
SetConfig is already called during device enumeration, no need to do it again here. Signed-off-by: Matt DeVillier <[email protected]> Change-Id: I5595c2ace40520a0c9438687f29c4d51cd5de741
Startup script does nothing other than confuse users. Show a welcome banner and tell users how to exit. Don't print the mapping as it just slows down exiting the shell. Signed-off-by: Matt DeVillier <[email protected]>
This reverts commit 7fa4a98.
Add PlatformGopPolicy to use external GOP driver Signed-off-by: Matt DeVillier <[email protected]>
Use PlatformGopPolicy in place of GraphicsOutputDxe if command line param passed Signed-off-by: Matt DeVillier <[email protected]>
Signed-off-by: Matt DeVillier <[email protected]> Change-Id: Ic16d469d8234f6ef505f80b0e3b5f77903eef457
Signed-off-by: Matt DeVillier <[email protected]> Change-Id: Idc23a60290e7c7ac5f79015e81b8523bc72dfb37
As Device Manager menu holds things like Secure Boot and CFR, the name Device Manger doesn't make much sense. Rename this to Advanced Configuration. Signed-off-by: Sean Rhodes <[email protected]>
Signed-off-by: Matt DeVillier <[email protected]> Change-Id: I031785253c650df4304fb88d56a5f9c4061370b0
Add an option to position the logo 38.2% from the top of the screen, which follows the BGRT specification. Cc: Zhichao Gao <[email protected]> Cc: Ray Ni <[email protected]> Cc: Jian J Wang <[email protected]> Cc: Liming Gao <[email protected]> Signed-off-by: Sean Rhodes <[email protected]>
When set to true, the Logo is positioned according to the BGRT specification, 38.2% from the top of the screen. When set to false, no behaviour is changed and the logo is positioned centrally. Cc: Zhichao Gao <[email protected]> Cc: Ray Ni <[email protected]> Cc: Jian J Wang <[email protected]> Cc: Liming Gao <[email protected]> Signed-off-by: Sean Rhodes <[email protected]> Change-Id: Ia8b63f7490cd918cac5e0235cb5d97a1a84780e6 Signed-off-by: Matt DeVillier <[email protected]>
Signed-off-by: Matt DeVillier <[email protected]> Change-Id: Ia5952e83022b5fe4a5b0c8dcd109b457793b0200
When a bootorder entry fails to boot, tell the user why and wait for a key press before continuing. Change-Id: I0f1fecf345f00f7a24ff72ae2840f548fd1ed228 Signed-off-by: Matt DeVillier <[email protected]>
Signed-off-by: Matt DeVillier <[email protected]> Change-Id: Icd3e12b27a3ef30081aa5a3366bc96191adf7ec7
Prevents assert when checking size is less than store - header Signed-off-by: Matt DeVillier <[email protected]> Change-Id: Ic3e5e37940c8e8deff5317706502b0a2a6833da9
Signed-off-by: Matt DeVillier <[email protected]>
The delimiters for ONE_OF are `<` and `>`, which doesn't match the other definitions. Change these to `[` and `]` so it's uniform. Signed-off-by: Sean Rhodes <[email protected]>
Since the recent changes to PlatformBootManagerLib, longer delays from connecting all devices only occur when entering UiApp, so print a progress message when the hotkey is pressed to notify the user that the keypress has been recognized. Signed-off-by: Filip Brozovic <[email protected]> Signed-off-by: Matt DeVillier <[email protected]>
This reverts commit efaa102.
This is needed to fix framebuffer display when using `CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=y` in coreboot. Without this patch, the display backlight will be on, but no boot logo or menus visible. The code detecting valid BARs is buggy AF, so just skip the whole mess for now. Signed-off-by: Matt DeVillier <[email protected]>
On AMD platforms the SPI flash might be mapped in high MMIO. To migitate the problem coreboot was updated to advertise a 64-bit MMIO address in the cb_smmstorev2 struct. Check if the additional field is written by comparing the size field and if so use it over the old 32-bit MMIO address. 1: https://review.coreboot.org/c/coreboot/+/87114 TEST: Boots on AMD/birman+ with ROM3 bar enabled in high MMIO. Signed-off-by: Patrick Rudolph <[email protected]>
Signed-off-by: Matt DeVillier <[email protected]>
Setting the EFI_MEMORY_RUNTIME attribute for the smmstore region will fail if the capability hasn't been set previously, so do that just in case. Fixes a failure to init on the Lenovo T480. Signed-off-by: Matt DeVillier <[email protected]>
Add a new SD/eMMC driver, ported from Depthcharge, to streamline init of SD/eMMC devices, and better support Chromebook specific board controllers (Gl9763, GL9750, Bayhub, etc). TODO: add MMIO support Signed-off-by: Matt DeVillier <[email protected]>
Signed-off-by: Matt DeVillier <[email protected]>
Signed-off-by: Matt DeVillier <[email protected]>
… cleanup Signed-off-by: Matt DeVillier <[email protected]>
Signed-off-by: Matt DeVillier <[email protected]>
Signed-off-by: Matt DeVillier <[email protected]>
Signed-off-by: Matt DeVillier <[email protected]>
… qword Newer NASM versions enforce operand size rules for PUSH in 64-bit mode, rejecting `strict dword` since PUSH r32 cannot be encoded in long mode. NASM previously treated it as a 64-bit operand, but now fails to assemble the exception handler. Use `strict qword` instead to ensure proper 64-bit encoding and fix build failures with NASM >= 3.00. 1: tianocore#11635
8b9659e to
fc7c465
Compare
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.
Description
Newer NASM versions enforce stricter operand size rules for PUSH in
64-bit mode and reject
strict dword, since PUSH r32 cannot be encodedin long mode. Previous NASM releases implicitly treated it as a 64-bit
operand, but as of NASM 3.x this results in an assembly error.
This change updates the assembly code in the CPU exception handler to
use
strict qword, restoring compatibility with NASM >= 3.00 and fixingbuild failures on modern toolchains.
tianocore#11635
How This Was Tested
Built with NASM 3.x toolchain and verified that the UefiCpuPkg
compiles successfully without errors in
CpuExceptionHandlerLib/X64.Also boots on my t460s.
It would be rare if it breaks something
Integration Instructions
N/A