mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
amd64: do not touch BIOS reset flag halfword, unless we boot through BIOS
(cherry picked from commit 33e1287b6a)
This commit is contained in:
parent
f027b4f41f
commit
99c12760d0
2 changed files with 10 additions and 5 deletions
|
|
@ -56,9 +56,6 @@
|
|||
*/
|
||||
NON_GPROF_ENTRY(btext)
|
||||
|
||||
/* Tell the bios to warmboot next time */
|
||||
movw $0x1234,0x472
|
||||
|
||||
/* Don't trust what the loader gives for rflags. */
|
||||
pushq $PSL_KERNEL
|
||||
popfq
|
||||
|
|
|
|||
|
|
@ -1613,11 +1613,20 @@ hammer_time(u_int64_t modulep, u_int64_t physfree)
|
|||
struct region_descriptor r_gdt;
|
||||
size_t kstack0_sz;
|
||||
int late_console;
|
||||
bool efi_boot;
|
||||
|
||||
TSRAW(&thread0, TS_ENTER, __func__, NULL);
|
||||
|
||||
kmdp = init_ops.parse_preload_data(modulep);
|
||||
|
||||
efi_boot = preload_search_info(kmdp, MODINFO_METADATA |
|
||||
MODINFOMD_EFI_MAP) != NULL;
|
||||
|
||||
if (!efi_boot) {
|
||||
/* Tell the bios to warmboot next time */
|
||||
atomic_store_short((u_short *)0x472, 0x1234);
|
||||
}
|
||||
|
||||
physfree += ucode_load_bsp(physfree + KERNBASE);
|
||||
physfree = roundup2(physfree, PAGE_SIZE);
|
||||
|
||||
|
|
@ -1769,8 +1778,7 @@ hammer_time(u_int64_t modulep, u_int64_t physfree)
|
|||
* Once bootblocks have updated, we can test directly for
|
||||
* efi_systbl != NULL here...
|
||||
*/
|
||||
if (preload_search_info(kmdp, MODINFO_METADATA | MODINFOMD_EFI_MAP)
|
||||
!= NULL)
|
||||
if (efi_boot)
|
||||
vty_set_preferred(VTY_VT);
|
||||
|
||||
TUNABLE_INT_FETCH("hw.ibrs_disable", &hw_ibrs_disable);
|
||||
|
|
|
|||
Loading…
Reference in a new issue