[Bug 282860] Kernel panic at boot on intel i9-7980XE / asus prime x299-A rev1

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 20 Nov 2024 21:52:19 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282860

--- Comment #27 from Mark Johnston <markj@FreeBSD.org> ---
Hmm, there is a hack in efi_init() which looks related:

231 #if defined(__aarch64__) || defined(__amd64__)                              
232         /*                                                                  
233          * Some UEFI implementations have multiple implementations of the   
234          * RS->GetTime function. They switch from one we can only use early 
235          * in the boot process to one valid as a RunTime service only when
we                                                                              
236          * call RS->SetVirtualAddressMap. As this is not always the case,
e.g.                                                                            
237          * with an old loader.efi, check if the RS->GetTime function is
within                                                                          
238          * the EFI map, and fail to attach if not.                          
239          */                                                                 
240         rtdm = (struct efi_rt *)efi_phys_to_kva((uintptr_t)efi_runtime);    
241         if (rtdm == NULL || !efi_is_in_map(map, ndesc,
efihdr->descriptor_size,                                                        
242             (vm_offset_t)rtdm->rt_gettime)) {                               
243                 if (bootverbose)                                            
244                         printf(                                             
245                          "EFI runtime services table has an invalid
pointer\n");                                                                    
246                 efi_runtime = NULL;                                         
247                 efi_destroy_1t1_map();                                      
248                 return (ENXIO);                                             
249         }                                                                   
250 #endif

-- 
You are receiving this mail because:
You are the assignee for the bug.