From a2577dbfd1a8a29bd421ef7f85f35c17b5bd5403 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Thu, 13 Aug 2009 17:29:46 +0000 Subject: [PATCH] [ARM] Stubbed out config_manager and pci bus_manager arch code. Now really use the boot floppy tgz for the netbsd uimage as it all builds, but with other kernel arch code not yet commited. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32324 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../config_manager/arch/arm/Jamfile | 10 +++ .../arch/arm/config_manager_arch.c | 18 ++++++ .../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 ++++ src/system/boot/platform/u-boot/Jamfile | 3 +- 7 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 src/add-ons/kernel/bus_managers/config_manager/arch/arm/Jamfile create mode 100644 src/add-ons/kernel/bus_managers/config_manager/arch/arm/config_manager_arch.c create mode 100644 src/add-ons/kernel/bus_managers/pci/arch/arm/Jamfile create mode 100644 src/add-ons/kernel/bus_managers/pci/arch/arm/pci_controller.cpp create mode 100644 src/add-ons/kernel/bus_managers/pci/arch/arm/pci_io.c create mode 100644 src/add-ons/kernel/bus_managers/pci/arch/arm/pci_io.h diff --git a/src/add-ons/kernel/bus_managers/config_manager/arch/arm/Jamfile b/src/add-ons/kernel/bus_managers/config_manager/arch/arm/Jamfile new file mode 100644 index 0000000000..909a67c5ee --- /dev/null +++ b/src/add-ons/kernel/bus_managers/config_manager/arch/arm/Jamfile @@ -0,0 +1,10 @@ +SubDir HAIKU_TOP src add-ons kernel bus_managers config_manager arch $(TARGET_ARCH) ; + +SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ; + +UsePrivateHeaders kernel [ FDirName kernel arch $(TARGET_ARCH) ] ; + +KernelStaticLibrary config_manager_arch : + config_manager_arch.c + ; + diff --git a/src/add-ons/kernel/bus_managers/config_manager/arch/arm/config_manager_arch.c b/src/add-ons/kernel/bus_managers/config_manager/arch/arm/config_manager_arch.c new file mode 100644 index 0000000000..1996ba4daf --- /dev/null +++ b/src/add-ons/kernel/bus_managers/config_manager/arch/arm/config_manager_arch.c @@ -0,0 +1,18 @@ +/* + * Copyright 2009 Haiku, Inc. + * Distributed under the terms of the MIT License. + * + * arch-specific config manager + * + * Authors (in chronological order): + * François Revol (revol@free.fr) + */ + +#include +#include + +int config_manager_scan_hardcoded(struct device_info **info, int32 *count) +{ + return B_OK; +} + diff --git a/src/add-ons/kernel/bus_managers/pci/arch/arm/Jamfile b/src/add-ons/kernel/bus_managers/pci/arch/arm/Jamfile new file mode 100644 index 0000000000..6d11b676a0 --- /dev/null +++ b/src/add-ons/kernel/bus_managers/pci/arch/arm/Jamfile @@ -0,0 +1,10 @@ +SubDir HAIKU_TOP src add-ons kernel bus_managers pci arch $(TARGET_ARCH) ; + +SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ; +UsePrivateHeaders kernel [ FDirName kernel arch $(TARGET_ARCH) ] + [ FDirName kernel boot platform $(HAIKU_BOOT_PLATFORM) ] ; + +KernelStaticLibrary pci_arch_bus_manager : + pci_controller.cpp + pci_io.c +; 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 new file mode 100644 index 0000000000..39fc4cf887 --- /dev/null +++ b/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_controller.cpp @@ -0,0 +1,27 @@ +/* + * 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; +} + + +void * +pci_ram_address(const void *physical_address_in_system_memory) +{ + return (void *)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 new file mode 100644 index 0000000000..f0b9a700d5 --- /dev/null +++ b/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_io.c @@ -0,0 +1,61 @@ +/* + * 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 new file mode 100644 index 0000000000..c2aaf29028 --- /dev/null +++ b/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_io.h @@ -0,0 +1,11 @@ +/* + * 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/system/boot/platform/u-boot/Jamfile b/src/system/boot/platform/u-boot/Jamfile index eb270bd6bf..ece04eaf47 100644 --- a/src/system/boot/platform/u-boot/Jamfile +++ b/src/system/boot/platform/u-boot/Jamfile @@ -173,7 +173,8 @@ BuildUImage haiku_loader.ub : haiku_loader : -a $(HAIKU_BOARD_LOADER_BASE) -e $(HAIKU_BOARD_LOADER_ENTRY_RAW) -n 'haiku_loader' ; -BuildUImage haiku_loader_nbsd.ub : haiku_loader kernel_arm : +local tgzArchive = haiku-floppyboot.tgz ; +BuildUImage haiku_loader_nbsd.ub : haiku_loader $(tgzArchive) : -A arm -O $(uImageFakeOS) -T multi -C none -a $(HAIKU_BOARD_LOADER_BASE) -e $(HAIKU_BOARD_LOADER_ENTRY_NBSD) -n 'haiku_loader' ;