NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-amd64/55954: bootx64.efi hangs up on boot
>Number: 55954
>Category: port-amd64
>Synopsis: bootx64.efi hangs up on boot
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: port-amd64-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jan 24 08:35:00 +0000 2021
>Originator: Aleksey Arens
>Release: 9.1_STABLE
>Organization:
>Environment:
NetBSD HOSTNAME_REDACTED 9.1_STABLE NetBSD 9.1_STABLE (XEN3_DOM0.STAGING.01) #5: Thu Jan 21 23:27:04 UTC 2021 root@HOSTNAME_REDACTED:/usr/obj/sys/arch/amd64/compile/XEN3_DOM0 amd64
>Description:
The system hangs after displaying "mem[ ... ]" array on console when full UEFI boot is performed. The BIOS boot and legacy boot options were disabled in the firmware.
The affected system is a Lenovo 33474HU (ThinkPad Twist) laptop.
>How-To-Repeat:
Attempt to boot the affected system from a USB flash in UEFI-only mode.
>Fix:
So far, I have workaround available, that is confirmed to work.
---8<---
--- a/sys/arch/i386/stand/efiboot/efiboot.c
+++ b/sys/arch/i386/stand/efiboot/efiboot.c
@@ -91,8 +91,8 @@ efi_main(EFI_HANDLE imageHandle, EFI_SYSTEM_TABLE *systemTable)
efi_memory_probe();
efi_disk_probe();
- efi_pxe_probe();
- efi_net_probe();
+ /* efi_pxe_probe(); */
+ /* efi_net_probe(); */
status = uefi_call_wrapper(BS->SetWatchdogTimer, 4, 0, 0, 0, NULL);
if (EFI_ERROR(status))
---8<---
A basic investigation had revealed that the hang up occurs at the following place in efiboot.c:359:
---8<---
status = uefi_call_wrapper(BS->OpenProtocol, 6, handles[i],
&SimpleNetworkProtocol, (void **)&net, IH, NULL,
EFI_OPEN_PROTOCOL_EXCLUSIVE);
if (EFI_ERROR(status)) {
printf("Unable to open network interface %" PRIuMAX
" for exclusive access: %" PRIxMAX "\n",
(uintmax_t)i, (uintmax_t)status);
}
---8<---
Home |
Main Index |
Thread Index |
Old Index