From 4561a1992f5805fe092ba2c45fa9db0d60e06b89 Mon Sep 17 00:00:00 2001 From: David Karoly Date: Sat, 16 Jul 2022 14:33:19 +0200 Subject: [PATCH] arm64: Wire up FDT Change-Id: Ib6f60e6d703e9413eb4cef3ec77686cfd71f8e73 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5478 Tested-by: Commit checker robot Reviewed-by: Adrien Destugues --- build/jam/images/definitions/minimum | 2 +- build/jam/packages/Haiku | 2 +- src/system/boot/platform/efi/arch/arm64/arch_start.cpp | 3 ++- src/system/kernel/arch/arm64/arch_platform.cpp | 6 +++++- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/build/jam/images/definitions/minimum b/build/jam/images/definitions/minimum index 099e5eb249..1e58a1bfcf 100644 --- a/build/jam/images/definitions/minimum +++ b/build/jam/images/definitions/minimum @@ -228,7 +228,7 @@ SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures mmc scsi pci ps2@x86,x86_64 - fdt@riscv64,arm + fdt@riscv64,arm,arm64 random usb virtio diff --git a/build/jam/packages/Haiku b/build/jam/packages/Haiku index d0ba8e4173..714050dde6 100644 --- a/build/jam/packages/Haiku +++ b/build/jam/packages/Haiku @@ -193,7 +193,7 @@ AddBootModuleSymlinksToPackage nvme_disk openpic@ppc packagefs pci - fdt@riscv64,arm + fdt@riscv64,arm,arm64 scsi scsi_cd scsi_disk scsi_periph silicon_image_3112 highpoint_ide_pci sdhci_pci usb usb_disk ehci ohci uhci xhci diff --git a/src/system/boot/platform/efi/arch/arm64/arch_start.cpp b/src/system/boot/platform/efi/arch/arm64/arch_start.cpp index 9715e969c8..e8c5e45d40 100644 --- a/src/system/boot/platform/efi/arch/arm64/arch_start.cpp +++ b/src/system/boot/platform/efi/arch/arm64/arch_start.cpp @@ -9,6 +9,7 @@ #include #include "efi_platform.h" +#include "mmu.h" #include "serial.h" #include "aarch64.h" @@ -71,7 +72,7 @@ memory_region_type_str(int type) void arch_convert_kernel_args(void) { - // empty + fix_address(gKernelArgs.arch_args.fdt); } diff --git a/src/system/kernel/arch/arm64/arch_platform.cpp b/src/system/kernel/arch/arm64/arch_platform.cpp index 95c1285264..f50386a28f 100644 --- a/src/system/kernel/arch/arm64/arch_platform.cpp +++ b/src/system/kernel/arch/arm64/arch_platform.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2019 Haiku, Inc. All Rights Reserved. + * Copyright 2019-2022 Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. */ #include @@ -7,9 +7,13 @@ #include +void *gFDT = NULL; + + status_t arch_platform_init(struct kernel_args *kernelArgs) { + gFDT = kernelArgs->arch_args.fdt; return B_OK; }