arm: reuse generic PCI implementation

Change-Id: If69c7e3779dade16cfc8c0af2a0b963f1f646169
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5561
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>
This commit is contained in:
David Karoly 2022-08-17 21:36:33 +02:00
parent 226dd60a57
commit 0f26acc83e
6 changed files with 12 additions and 101 deletions

View File

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

View File

@ -1,27 +0,0 @@
/*
* Copyright 2009, Haiku Inc.
* Distributed under the terms of the MIT License.
*/
#include "pci_controller.h"
//#include <arch_platform.h>
#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;
}

View File

@ -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 */
}

View File

@ -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 <SupportDefs.h>
#endif // PCI_BUS_MANAGER_ARM_IO_H

View File

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

View File

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