From 0f26acc83e588b497b6c26a82f887a0fb00557ae Mon Sep 17 00:00:00 2001 From: David Karoly Date: Wed, 17 Aug 2022 21:36:33 +0200 Subject: [PATCH] arm: reuse generic PCI implementation Change-Id: If69c7e3779dade16cfc8c0af2a0b963f1f646169 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5561 Reviewed-by: Fredrik Holmqvist Reviewed-by: John Scipione --- .../kernel/bus_managers/pci/arch/arm/Jamfile | 10 ++- .../pci/arch/arm/pci_controller.cpp | 27 -------- .../kernel/bus_managers/pci/arch/arm/pci_io.c | 61 ------------------- .../kernel/bus_managers/pci/arch/arm/pci_io.h | 11 ---- .../kernel/bus_managers/pci/pci_root.cpp | 2 +- src/system/kernel/arch/arm/Jamfile | 2 + 6 files changed, 12 insertions(+), 101 deletions(-) delete mode 100644 src/add-ons/kernel/bus_managers/pci/arch/arm/pci_controller.cpp delete mode 100644 src/add-ons/kernel/bus_managers/pci/arch/arm/pci_io.c delete mode 100644 src/add-ons/kernel/bus_managers/pci/arch/arm/pci_io.h diff --git a/src/add-ons/kernel/bus_managers/pci/arch/arm/Jamfile b/src/add-ons/kernel/bus_managers/pci/arch/arm/Jamfile index a09b7cbb37..4fcb56d642 100644 --- a/src/add-ons/kernel/bus_managers/pci/arch/arm/Jamfile +++ b/src/add-ons/kernel/bus_managers/pci/arch/arm/Jamfile @@ -1,10 +1,18 @@ SubDir HAIKU_TOP src add-ons kernel bus_managers pci arch $(TARGET_ARCH) ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ; + +UsePrivateKernelHeaders ; +UsePrivateHeaders [ FDirName kernel util ] ; UsePrivateHeaders kernel [ FDirName kernel arch $(TARGET_ARCH) ] [ FDirName kernel boot platform $(HAIKU_BOOT_PLATFORM) ] ; +SubDirHdrs $(HAIKU_TOP) src system kernel arch generic ; + +SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + KernelStaticLibrary pci_arch_bus_manager : pci_controller.cpp - pci_io.c + pci_ecam.cpp + pci_io.cpp ; diff --git a/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_controller.cpp b/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_controller.cpp deleted file mode 100644 index c4e9917718..0000000000 --- a/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_controller.cpp +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2009, Haiku Inc. - * Distributed under the terms of the MIT License. - */ - - -#include "pci_controller.h" - -//#include - -#include "pci_private.h" - - -status_t -pci_controller_init(void) -{ - /* no support yet */ -#warning ARM:WRITEME - return B_OK; -} - - -phys_addr_t -pci_ram_address(phys_addr_t physical_address_in_system_memory) -{ - return physical_address_in_system_memory; -} diff --git a/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_io.c b/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_io.c deleted file mode 100644 index f0b9a700d5..0000000000 --- a/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_io.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2009, Haiku Inc. - * Distributed under the terms of the MIT License. - */ - - -#include "pci_io.h" -#include "pci_private.h" -#warning ARM:WRITEME - - -status_t -pci_io_init() -{ - return B_OK; -} - - -uint8 -pci_read_io_8(int mapped_io_addr) -{ - /* NOT IMPLEMENTED */ - return 0; -} - - -void -pci_write_io_8(int mapped_io_addr, uint8 value) -{ - /* NOT IMPLEMENTED */ -} - - -uint16 -pci_read_io_16(int mapped_io_addr) -{ - /* NOT IMPLEMENTED */ - return 0; -} - - -void -pci_write_io_16(int mapped_io_addr, uint16 value) -{ - /* NOT IMPLEMENTED */ -} - - -uint32 -pci_read_io_32(int mapped_io_addr) -{ - /* NOT IMPLEMENTED */ - return 0; -} - - -void -pci_write_io_32(int mapped_io_addr, uint32 value) -{ - /* NOT IMPLEMENTED */ -} diff --git a/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_io.h b/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_io.h deleted file mode 100644 index d53afd0209..0000000000 --- a/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_io.h +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright 2009, Haiku Inc. All rights reserved. - * Distributed under the terms of the MIT License. - */ - -#ifndef PCI_BUS_MANAGER_ARM_IO_H -#define PCI_BUS_MANAGER_ARM_IO_H - -#include - -#endif // PCI_BUS_MANAGER_ARM_IO_H diff --git a/src/add-ons/kernel/bus_managers/pci/pci_root.cpp b/src/add-ons/kernel/bus_managers/pci/pci_root.cpp index 5be757ca2b..4a7dc4e22f 100644 --- a/src/add-ons/kernel/bus_managers/pci/pci_root.cpp +++ b/src/add-ons/kernel/bus_managers/pci/pci_root.cpp @@ -42,7 +42,7 @@ pci_root_supports_device(device_node* parent) return 1.0f; } } -#elif defined(__aarch64__) +#elif defined(__arm__) || defined(__aarch64__) if (strcmp(bus, "fdt") == 0) { const char* compatible; if (gDeviceManager->get_attr_string(parent, "fdt/compatible", &compatible, false) < B_OK) diff --git a/src/system/kernel/arch/arm/Jamfile b/src/system/kernel/arch/arm/Jamfile index c995490d64..df4601aab1 100644 --- a/src/system/kernel/arch/arm/Jamfile +++ b/src/system/kernel/arch/arm/Jamfile @@ -1,5 +1,6 @@ SubDir HAIKU_TOP src system kernel arch arm ; +SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica include ; SubDirHdrs $(SUBDIR) $(DOTDOT) generic ; UsePrivateKernelHeaders ; @@ -8,6 +9,7 @@ SEARCH_SOURCE += [ FDirName $(SUBDIR) paging 32bit ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; KernelMergeObject kernel_arch_arm.o : + acpi_irq_routing_table.cpp arch_commpage.cpp arch_cpu.cpp arch_debug_console.cpp