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 <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
This commit is contained in:
Volo 2024-10-06 18:13:48 +02:00 committed by waddlesplash
parent 875b13d582
commit 81a981f14a

View File

@ -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);