#
b9cca28d |
|
22-Jun-2023 |
David Karoly <karolyd577@gmail.com> |
boot: implement skip-init when detecting UART from FDT Change-Id: I012c6238b083197c8e268185904aa0ecf6641ba3 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6638 Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
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>
|
#
2435e24c |
|
03-Jan-2023 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
efi/dtb: Search for snps,dw-apb-uart on all architectures * This is actually a generic Synopsys DesignWare ABP UART which can be found on riscv boards like the StarFive as well as ARM. Just make generic. Change-Id: If3c047560d66ebb8a76410c55c22e216cbf5d4e2 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5978 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk> Reviewed-by: David Karoly <karolyd577@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
fe2b6d77 |
|
09-Aug-2022 |
David Karoly <karolyd577@gmail.com> |
arm: detect SoC timer from FDT for OMAP3 and PXA Change-Id: Ib03a11f016cb937d748d2696a17158e17c86e317 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5522 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: David Karoly <karolyd577@gmail.com>
|
#
0404f954 |
|
08-Aug-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi/dtb: dump PCI interrupt map see: https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/host-generic-pci.txt https://www.devicetree.org/open-firmware/practice/imap/imap0_9d.pdf Change-Id: Iba53457384d6330f99ac0b3b6b2894da83471c48 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5537 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
|
#
f5aba47e |
|
08-Aug-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi/dtb: code cleanup for FDT dump * conditional compile for dump_fdt() with #ifdef * rename functions according to coding standard * use dprintf() for printing Change-Id: Ie486739d87f1cb9a005188a46a43f470b6000319 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5536 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
|
#
6a1f9758 |
|
23-Jul-2022 |
David Karoly <karolyd577@gmail.com> |
arm: move SPI interrupt offset calculation to FDT code Most common values for interrupt-cells are 1 or 2. - one cell: the single cell defines the index of the interrupt within the controller. - two cells: the first cell defines the index of the interrupt within the controller, while the second cell is specifies interrupt flags like active-high/active-low, edge triggered or level-sensitive. ARM Generic Interrupt Controller uses 3 cells: - the 1st cell is the interrupt type: 0 for SPI, 1 for PPI - the 2nd cell contains the interrupt number - the 3rd cell contains interrupt flags, similarly to the 2-cell format SPI interrupts are numbered from 0 in the device tree but they start from 32 on the GIC so an offset should be applied. On the other hand, ACPI tables contain interrupt numbers as they are expected by the GIC so no offset should be applied when interrupts are read from ACPI. see: https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/arm%2Cgic.txt https://developer.arm.com/documentation/198123/0301/Arm-CoreLink-GIC-fundamentals Change-Id: Ia41371bd965347f89c17d62e391480d7b2083bae Reviewed-on: https://review.haiku-os.org/c/haiku/+/5490 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
17f0f4b6 |
|
30-Mar-2022 |
milek7 <me@milek7.pl> |
arm64: Discover UART device from ACPI. Change-Id: I4e97b05dcfcaf6abddff81fbbf676c38fe337775 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5271 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
2b5b2284 |
|
08-Apr-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi: implement ranges property for simple-bus see Devicetree Specification, section 2.3.8 Change-Id: I788bbaa67c8e8f9b57f138418eb1c3131bbe2010 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5188 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
fdaa57a7 |
|
04-Apr-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi: handle /chosen/stdout-path Change-Id: I08ebadf274448e1319cc8b0666beaf709382c00f Reviewed-on: https://review.haiku-os.org/c/haiku/+/5143 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
476346ac |
|
26-Mar-2022 |
urnenfeld <oliver.ruiz.dorantes@gmail.com> |
arm64: Enable DTB handling, Introduce LINFlex UART driver Change-Id: Ib643545271700e6ff4a4037d0e797355194927e7 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5149 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: David Karoly <karolyd577@gmail.com> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
|
#
5ba6ef84 |
|
22-Mar-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi: use 8250 driver for bcm2835 mini-UART Change-Id: I1f42447e537ea7522ac299f028d530beb5067350 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5142 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
9d65dbf1 |
|
22-Mar-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi: rework address-cells and size-cells handling see Devicetree Specification, section 2.3.5 #address-cells and #size-cells The #address-cells and #size-cells properties may be used in any device node that has children in the devicetree hierarchy and describes how child device nodes should be addressed. The #address-cells and #size-cells properties are not inherited from ancestors in the devicetree. They shall be explicitly defined. If missing, a client program should assume a default value of 2 for #address-cells, and a value of 1 for #size-cells. Change-Id: Iafed49358540f8ac7aa673c3dc0191c9b580250b Reviewed-on: https://review.haiku-os.org/c/haiku/+/5144 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
2d80f9e2 |
|
14-Mar-2022 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
EFI: add support for dw-apb-uart used on Allwinner A10 SoC Yet another 16550 clone under a different name. Why does device-tree have a "compatible" setting if everyone puts a different name for the same thing? Change-Id: Ia889a527a36739df747ba48d4606c09764703607 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5103 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
ef410594 |
|
14-Mar-2022 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
EFI: get address-cells and size-cells from the device tree They were hardcoded to 2, which is not correct on all devices. As a result, getting addresses and sizes on pure 32bit devices would fail. Change-Id: Icf542c9e8d6b7136219014fe08dd601387de4762 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5102 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
f991c7ee |
|
24-Jan-2022 |
David Karoly <karolyd577@gmail.com> |
boot/efi/dtb: fix signedness of dtb_get_interrupt_parent() Change-Id: Ic3a28ff003cb82dc9166200594dbf3fc58e76b51 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4884 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
023a3602 |
|
13-Dec-2021 |
David Karoly <karolyd577@gmail.com> |
boot/efi: introduce arch_dtb Change-Id: Iff9e4198aca706097889faf51e9559fe551126ad Reviewed-on: https://review.haiku-os.org/c/haiku/+/4782 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
8ca0f03d |
|
08-Nov-2021 |
X512 <danger_mail@list.ru> |
riscv64/smp: Implement multi-processor support * Working under qemu smp 1,2+ * Working on SiFive Unmatched * x86_64 efi not broken by smp_boot_other_cpus change Change-Id: I32ebc17913e46ed082be9ade8f56448bbf12f16e Reviewed-on: https://review.haiku-os.org/c/haiku/+/4705 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
98296c4a |
|
11-Dec-2021 |
X512 <danger_mail@list.ru> |
haiku_loader.efi: fix build for riscv64 Change-Id: I83f4b45ea950e81fdd712644433266401c0747bd Reviewed-on: https://review.haiku-os.org/c/haiku/+/4774 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
354655e1 |
|
02-Dec-2021 |
David Karoly <karolyd577@gmail.com> |
boot/efi/dtb: implement interrupt controller detection Change-Id: I045a94c5bcb7c16297bc6fdd1fa2981e5b3f3a62 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4756 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
19960ba6 |
|
28-Nov-2021 |
David Karoly <karolyd577@gmail.com> |
boot/efi/dtb: implement interrupt-cells handling Change-Id: Ia95c2cfecde27cdd6d5a8f0556da7e387eecb07c Reviewed-on: https://review.haiku-os.org/c/haiku/+/4742 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
326b5263 |
|
24-Nov-2021 |
David Karoly <karolyd577@gmail.com> |
boot/efi/dtb: implement clock frequency resolution for PL011 Factor out the code for clock frequency lookup to a separate function. PL011 does not have clock-frequency property, it has a clocks property instead, containing a phandle of the apb clock. Change-Id: I5cbe2b4b2421afe1924c2804002ceef83ce37ef9 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4734 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
ff9497b5 |
|
24-Nov-2021 |
David Karoly <karolyd577@gmail.com> |
boot/efi/dtb: require exact match for PL011 in device tree Don't match PL011 for arm,primecell compatibility string as it can indicate other peripherals. Primecell peripherals have the generic "arm,primcecell" name as well as a specific name in the format of "arm,pl???" see: https://www.kernel.org/doc/Documentation/devicetree/bindings/arm/primecell.txt Change-Id: Ida6450e9e71dac834770d558e4ab95c5574970cb Reviewed-on: https://review.haiku-os.org/c/haiku/+/4733 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
4b5c7fe7 |
|
06-Nov-2021 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
system/boot: add optional alignment to kernel_args_malloc * A few things need alignment, instead of forcing them all to align themselves, support alignment of the kernel_args * Default of 1 is "no alignment" Change-Id: Iff05dcec8adaa963c8444d701464ea11616062f6 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4698 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
c9d6d52b |
|
05-Nov-2021 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
libfdt: Upgrade to 1.6.1 plus a few commits * Catch errors and report them in bus parsing code * Align the FDT kernel_arg to 8-bytes * we still choose BSD-2-clause :-) Change-Id: If2a88b7f131025ff1c1a2d903ed52f039e5bbcb5 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4694 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
e28f7b8f |
|
20-Aug-2021 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
Fixup dtb.cpp: For ARM64 we use official __aarch64__ define It is easier if we switch compiler and reduces confusion, other than the confusing name itself.
|
#
a0368755 |
|
20-Aug-2021 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
platform/efi: platform_cpu_info * This models the CpuInfo into a cross-architecture platform_cpu_info * Originally I was looking at merging this with "arch_cpu_info" however that is "overall cpu" while CpuInfo is "indivial core information" packed into an array. * Since every dtb platform will report individual cores in fdt, having a common cpu core info struct with at minimum the core id makes sense. * This could likely be refined further to some kind of core info packed inside of arch_cpu_info, but this will fix arm,arm64,etc for now until someone wants to dive into that. Change-Id: Ia18a352403cd0da7130c1e637fc205d4311478ef Reviewed-on: https://review.haiku-os.org/c/haiku/+/4363 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
d637e0be |
|
17-Aug-2021 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
system/kernel: Rework uart management Change-Id: I6cb31760519c8ba4542d217d6e68439602eda558 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4356 Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
5855a8e3 |
|
17-Aug-2021 |
Przemysław Buczkowski <prem@prem.moe> |
riscv: fix typo frequrency -> frequency Change-Id: I7a2ed220ad96a9b18bff3ac5c115592c8ba87d89 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4334 Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
|
#
1648ab52 |
|
15-Aug-2021 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
kernel/uart: Clean up uarts, make calling convention consistent Change-Id: I36ef92ef13edb0b006344db74e9d1b3ae52e0127 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4327 Reviewed-by: X512 <danger_mail@list.ru> Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
f1fa58bf |
|
25-Jul-2021 |
X512 <danger_mail@list.ru> |
haiku_loader.efi: update for riscv64 * Added MMU page table generation. * Added optional FDT device detection and passing to kernel. * Add platform address translation stubs to bios_ia32 to drop EFI ifdefs Change-Id: I89257c93c84404fd988f621b29f927ed0df3c3b1 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4304 Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
cd9b0eed |
|
14-May-2021 |
Han Pengfei <pengphei@qq.com> |
efi/dtb: Fix dtb malloc failed for kernel args kernel_args_malloc should be used after heap_init, or it will failed when we new some region instance. Change-Id: I457057b1e0ff6d4def9e101485e38fec1848d8de Signed-off-by: Han Pengfei <pengphei@qq.com> Reviewed-on: https://review.haiku-os.org/c/haiku/+/3912 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
569564c0 |
|
21-Dec-2020 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
efi/dtb: Find potential FDT on UEFI * Makes our UEFI bootloader somewhat FDT/DTB aware on all architectures. * Will report when an FDT is found, and provide it to kernels that want it. Change-Id: I90324fc0579a9c835e60568fa9b654c2df0aba27 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3543 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|