NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: misc/59151: efiboot hangs on new motherboard



On Fri, Mar 07, 2025 at 10:25:01AM +0000, RVP via gnats wrote:
>  On Fri, 7 Mar 2025, stix%stix.id.au@localhost wrote:
>  
>  >> Fix:
>  > I suspect that this firmware implements memory protection on the efiboot
>  > image. I also assume that the variables written to as defined in the asm
>  > are read-only, generating an exception, resulting in a silent hang.
>  >
>  
>  Yeah, I think this makes sense. Can you see if the patch below also fixes
>  this issue?
>  
>  ```
>  diff -urN a/src/sys/arch/i386/stand/efiboot/bootx64/startprog64.S b/src/sys/arch/i386/stand/efiboot/bootx64/startprog64.S
>  --- a/sys/arch/i386/stand/efiboot/bootx64/startprog64.S	2023-06-24 05:31:04.000000000 +0000
>  +++ b/sys/arch/i386/stand/efiboot/bootx64/startprog64.S	2025-03-07 10:11:13.394064579 +0000
>  @@ -65,6 +65,7 @@
>    #define	CODE_SEGMENT	0x08
>    #define	DATA_SEGMENT	0x10
>  
>  +	.data
>    	.align	16
>    	.globl _C_LABEL(startprog64)
>    _C_LABEL(startprog64):
>  ```

Interesting... when I saw what the code was doing, I decided to clean it
up - afaict, there's no need for writable symbols in the asm.

Anyway, I expected your very simple patch to work - but it doesn't!
I get what looks to be the same hang. I've removed all my debug prints
else I'd confirm if it was hanging at the same point, but it is a pretty
safe assumption it is.

-- 
Paul Ripke
"Great minds discuss ideas, average minds discuss events, small minds
 discuss people."
-- Disputed: Often attributed to Eleanor Roosevelt. 1948.


Home | Main Index | Thread Index | Old Index