efi/serial: fix serial re-init on x86_64

serial_init should be called after calling ExitBootServices

Change-Id: I2a04ee1eaf1d1fe9aaed3fa65b5521161ff74130
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8435
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
This commit is contained in:
Volo
2024-10-10 16:40:15 +00:00
committed by waddlesplash
parent 875b13d582
commit 81a981f14a
@@ -145,9 +145,6 @@ arch_start_kernel(addr_t kernelEntry)
// entry.
dprintf("Calling ExitBootServices. So long, EFI!\n");
// Re-init and activate serial in a horrific post-EFI landscape. Clowns roam the land freely.
serial_init();
serial_disable();
while (true) {
@@ -169,7 +166,8 @@ arch_start_kernel(addr_t kernelEntry)
arch_mmu_post_efi_setup(memory_map_size, memory_map,
descriptor_size, descriptor_version);
// Restart serial. gUART only until we get into the kernel
// Re-init and activate serial in a horrific post-EFI landscape. Clowns roam the land freely.
serial_init();
serial_enable();
smp_boot_other_cpus(final_pml4, kernelEntry, (addr_t)&gKernelArgs);