#
b965b55d |
|
12-Mar-2023 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
efi/serial: re-init serial after efi detatchment * This prevents haiku from "messing" with the gUART until EFI boot services are exiting. * The previous design meant that our loader started fiddling with the gUART while EFI BIOS services were still being used. On the SiFive, this broke serial output. * Now, we guard on serial_init if EFI is unavailable, and only fallback to direct UART usage when EFI is no longer available. * tldr; we're more closely managing serial across architectures * serial_init use EFI and init it * kernel_serial_handoff, stop using EFI * serial_init, oh no EFI. Use gUART and Init it * one gap is likely if no serial is available in EFI, but I haven't seen that yet. Change-Id: I644b51e4912272110435d288a95517d43a76740d Reviewed-on: https://review.haiku-os.org/c/haiku/+/6200 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
|
#
81a892ed |
|
04-Jan-2023 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
efi/serial: Refactor EFI bios serial services * Convert x86 direct port I/O to our standard gUART. * sSerial is plainly EFI Serial or EFI Stdout * gUART is plainly hardware serial now Change-Id: I5730fbc0ce3427851e4e2d1d0aa8c55f7765e444 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5982 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
a3c9f71e |
|
25-Sep-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi: factor out generic mmu functions This change moves the common functions related to EFI memory map to arch/generic for arm, arm64, x86. riscv64 and x86_64 shall be handled separately as they use some more architecture-specific logic: * riscv64 needs special treatment for the M-mode resident code located at 0x80000000 which is reported as available in the EFI memory map provided by u-boot. * x86_64 has a slightly different logic for building the memory regions list so some additional rework and testing will be needed before it can be unified with the generic mmu functions. Change-Id: I430c84dfc693c5b6f04c170dec8ffb1db2c2ace1 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5694 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
68861140 |
|
11-Apr-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi/arm: flush caches before jump to trampoline Change-Id: Ia7af285f1c3b988828482ff0cd78a416cf51c2c2 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5196 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
d232643e |
|
26-Mar-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi/arm: add debug logs for initial CPU state Change-Id: I08df563ef6967f5f9734bbe11ac643c3b68f504f Reviewed-on: https://review.haiku-os.org/c/haiku/+/5151 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
7fdf6e86 |
|
27-Mar-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi/arm: switch serial output to legacy after exiting EFI boot servieces Change-Id: If7ba007d24cc95ce0a43adc320932e3e1678c25b Reviewed-on: https://review.haiku-os.org/c/haiku/+/5159 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
fdb45913 |
|
29-Jan-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi/x86: implement SMP detection and bootup * move common SMP initialization code to x86/arch_smp.cpp * factor out arch-specific SMP initialization to arch_smp_32.cpp resp arch_smp_64.cpp * implement smp_trampoline for x86 32-bit EFI loader * rename SMP trampoline for x86_64 to long_smp_trampoline * add new argument virtKernelArgs to arch_smp_boot_other_cpus as the kernel args are not identity mapped on 32-bit architectures Change-Id: I30d0bb1fa9bfb08f6784a2af34eb83d6b64afa57 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4869 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
|
#
a2d52824 |
|
27-Jan-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi/arm: code cleanup * Use TRACE() for logging * Use B_PRI format strings * Reformat local variables and function arguments to use camelCase * Remove comment related to ConvertPointer * Fix indentation for switch statements * Remove variable sFirstPageTable as it's not really used Change-Id: Iace275e5a3311f13a5018f497c3132e472a20848 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4885 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
cc69b20b |
|
21-Jan-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi/arm: move arch_enter_kernel to identity mapped region First try to allocate a page below 2GB. If it fails, try to allocate a physical page at the address returned by get_next_virtual_address so that we get an address that is available in both virtual and physical space. Finally try to allocate any available page. At this point it's highly likely that it will be above 0x88000000 so it can be used for trampoline code. Change-Id: I3100a3e09efcd938bc630a52dcce74dc5f24beb5 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4878 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
933430df |
|
14-Jan-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi/arm: remove identity mapping for EFI code and data segments All the regions allocated via platform_allocate_region() are mapped to a high virtual address so there's no need to do identity mapping for them any more. Copy kernel_args to a region allocated via platform_allocate_region() so it will be mapped similarly. Identity mapping is still needed for trampoline code for jumping to the kernel Change-Id: I844a7a789b440a38521db49adc077bb77e658ddf Reviewed-on: https://review.haiku-os.org/c/haiku/+/4865 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
af90bfd3 |
|
15-Dec-2021 |
David Karoly <karolyd577@gmail.com> |
boot/efi: introduce arch_convert_kernel_args Change-Id: Iabb321564d6733c6cf481ec2548fa287e308ae89 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4796 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
20efe26d |
|
13-Dec-2021 |
David Karoly <karolyd577@gmail.com> |
boot/efi/arm: fix printout of kernel entry address on startup Change-Id: If3d592983e1c22210c6b4d3a6ceaf2a7641e7e7a Reviewed-on: https://review.haiku-os.org/c/haiku/+/4785 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
|
#
9aba9395 |
|
23-Oct-2021 |
David Karoly <karolyd577@gmail.com> |
boot/efi: fix alignment exception on arm Change-Id: I8384433c4bed474c3cb82bc8451ecde9a47bcff8 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4656 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
5ac73692 |
|
20-Oct-2021 |
David Karoly <karolyd577@gmail.com> |
boot/efi: better logging for system memory map Change-Id: Ie35061f5c80f8b82071bbbf6fdaa006aca50a8a2 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4651 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
4d81ddab |
|
20-Oct-2021 |
David Karoly <karolyd577@gmail.com> |
boot/efi: initialize mmu for arm Change-Id: I918a459dfb4e5d0864ae4c8b806df059248d43b6 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4630 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
e6520f90 |
|
20-Oct-2021 |
David Karoly <karolyd577@gmail.com> |
boot/efi: generate memory map for arm Change-Id: I02a7f8c27187f6375dd4deeeaf3587dad1e3349c Reviewed-on: https://review.haiku-os.org/c/haiku/+/4631 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
6c32d3c9 |
|
29-Jul-2020 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
boot/efi: Begin working on loading kernel_arm Change-Id: I5c71f061fab2215f3978a39d87c2d2a686a2c7bc Reviewed-on: https://review.haiku-os.org/c/haiku/+/3107 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
82a7c739 |
|
22-Feb-2020 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
efi/arm: Begin stubbing out the essentials, add fdt library * We *might* no longer need FDT knowledge in the bootloader? * For now though, arm sources reference gFDT, so we need it. * Need to move away from lazy gFDT and store in arch_kernel_args. (which is next and will be a larger commit) Change-Id: I77cce0fc645143b78a7fd9f50ac8b96c97b5c862 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2268 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|