From 268403d4cc55289f2f5da2445f3219f084a075f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 20 Jun 2007 01:09:00 +0000 Subject: [PATCH] Fixed the build of the boot loader test application. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21470 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/tests/system/boot/loader/Jamfile | 6 +++++- .../loader/file_systems/amiga_ffs/Jamfile | 3 ++- .../boot/loader/file_systems/bfs/Jamfile | 3 ++- .../boot/loader/file_systems/tarfs/Jamfile | 3 ++- .../system/boot/loader/platform_devices.cpp | 18 ++++++++++++----- .../system/boot/loader/platform_menu.cpp | 1 + .../system/boot/loader/platform_misc.cpp | 20 ++++++++++++++++++- src/tests/system/boot/loader/platform_mmu.cpp | 11 +++++----- 8 files changed, 50 insertions(+), 15 deletions(-) diff --git a/src/tests/system/boot/loader/Jamfile b/src/tests/system/boot/loader/Jamfile index 58b1f3b67f..889fa92a2d 100644 --- a/src/tests/system/boot/loader/Jamfile +++ b/src/tests/system/boot/loader/Jamfile @@ -4,8 +4,12 @@ UsePrivateHeaders [ FDirName kernel ] ; UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; UsePrivateHeaders [ FDirName storage ] ; UsePrivateHeaders [ FDirName shared ] ; -SubDirHdrs $(HAIKU_TOP) headers private kernel arch $(TARGET_ARCH) ; +SubDirSysHdrs $(HAIKU_TOP) headers private kernel arch $(TARGET_ARCH) ; +SubDirSysHdrs $(HAIKU_TOP) src tests system boot loader ; SubDirHdrs $(HAIKU_TOP) src system boot loader ; +SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ; +SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ; +SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ; # we need to redefine certain calls in the boot loader so that # they will really be used instead of their POSIX counterparts diff --git a/src/tests/system/boot/loader/file_systems/amiga_ffs/Jamfile b/src/tests/system/boot/loader/file_systems/amiga_ffs/Jamfile index 887e9676ab..0b786a67ff 100644 --- a/src/tests/system/boot/loader/file_systems/amiga_ffs/Jamfile +++ b/src/tests/system/boot/loader/file_systems/amiga_ffs/Jamfile @@ -3,7 +3,8 @@ SubDir HAIKU_TOP src tests system boot loader file_systems amiga_ffs ; UsePrivateHeaders [ FDirName kernel ] ; UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; UsePrivateHeaders [ FDirName storage ] ; -SubDirHdrs $(HAIKU_TOP) src tests system boot loader ; +SubDirSysHdrs $(HAIKU_TOP) src tests system boot loader ; +SubDirHdrs $(HAIKU_TOP) src system boot loader file_systems amiga_ffs ; ObjectDefines amiga_ffs.cpp diff --git a/src/tests/system/boot/loader/file_systems/bfs/Jamfile b/src/tests/system/boot/loader/file_systems/bfs/Jamfile index 9e46214131..f2a7019caf 100644 --- a/src/tests/system/boot/loader/file_systems/bfs/Jamfile +++ b/src/tests/system/boot/loader/file_systems/bfs/Jamfile @@ -3,7 +3,8 @@ SubDir HAIKU_TOP src tests system boot loader file_systems bfs ; UsePrivateHeaders [ FDirName kernel ] ; UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; UsePrivateHeaders [ FDirName storage ] ; -SubDirHdrs $(HAIKU_TOP) src tests system boot loader ; +SubDirSysHdrs $(HAIKU_TOP) src tests system boot loader ; +SubDirHdrs $(HAIKU_TOP) src system boot loader file_systems bfs ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel file_systems bfs ; ObjectDefines diff --git a/src/tests/system/boot/loader/file_systems/tarfs/Jamfile b/src/tests/system/boot/loader/file_systems/tarfs/Jamfile index 7843e859ea..e83bfd11d1 100644 --- a/src/tests/system/boot/loader/file_systems/tarfs/Jamfile +++ b/src/tests/system/boot/loader/file_systems/tarfs/Jamfile @@ -2,8 +2,9 @@ SubDir HAIKU_TOP src tests system boot loader file_systems tarfs ; UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; UsePrivateHeaders kernel shared storage ; -SubDirHdrs $(HAIKU_TOP) src tests system boot loader ; +SubDirSysHdrs $(HAIKU_TOP) src tests system boot loader ; SubDirSysHdrs $(HAIKU_TOP) headers libs zlib ; +SubDirHdrs $(HAIKU_TOP) src system boot loader file_systems tarfs ; ObjectDefines tarfs.cpp diff --git a/src/tests/system/boot/loader/platform_devices.cpp b/src/tests/system/boot/loader/platform_devices.cpp index fea7b0c6e0..024cf5fc79 100644 --- a/src/tests/system/boot/loader/platform_devices.cpp +++ b/src/tests/system/boot/loader/platform_devices.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2003-2005, Axel Dörfler, axeld@pinc-software.de. + * Copyright 2003-2007, Axel Dörfler, axeld@pinc-software.de. * Distributed under the terms of the MIT License. */ @@ -132,16 +132,24 @@ get_next_device(int32 *cookie) // #pragma mark - -status_t -platform_get_boot_device(struct stage2_args *args, Node **_device) +status_t +platform_add_boot_device(struct stage2_args *args, NodeList *devicesList) { // we accept a boot device from the command line + status_t status = B_ERROR; + Node *device; + int32 cookie = 0; char *path = get_next_device(&cookie); if (path != NULL) - return get_device(path, _device); + status = get_device(path, &device); + else + status = get_device("/boot/home/test-file-device", &device); - return get_device("/boot/home/test-file-device", _device); + if (status == B_OK) + devicesList->Add(device); + + return status; } diff --git a/src/tests/system/boot/loader/platform_menu.cpp b/src/tests/system/boot/loader/platform_menu.cpp index ab02a73423..a028d653d1 100644 --- a/src/tests/system/boot/loader/platform_menu.cpp +++ b/src/tests/system/boot/loader/platform_menu.cpp @@ -12,6 +12,7 @@ #include #include +#include const char *kNormalColor = "\33[0m"; diff --git a/src/tests/system/boot/loader/platform_misc.cpp b/src/tests/system/boot/loader/platform_misc.cpp index 4e47cafb09..d4b6699454 100644 --- a/src/tests/system/boot/loader/platform_misc.cpp +++ b/src/tests/system/boot/loader/platform_misc.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2003-2005, Axel Dörfler, axeld@pinc-software.de. All rights reserved. + * Copyright 2003-2007, Axel Dörfler, axeld@pinc-software.de. All rights reserved. * Distributed under the terms of the MIT License. */ @@ -35,3 +35,21 @@ platform_switch_to_text_mode(void) { } + +// #pragma mark - + + +extern "C" status_t +boot_arch_elf_relocate_rel(struct preloaded_image *image, + struct Elf32_Rel *rel, int rel_len) +{ + return B_ERROR; +} + + +extern "C" status_t +boot_arch_elf_relocate_rela(struct preloaded_image *image, + struct Elf32_Rela *rel, int rel_len) +{ + return B_ERROR; +} diff --git a/src/tests/system/boot/loader/platform_mmu.cpp b/src/tests/system/boot/loader/platform_mmu.cpp index 5e3f8c3a69..87c6b622b1 100644 --- a/src/tests/system/boot/loader/platform_mmu.cpp +++ b/src/tests/system/boot/loader/platform_mmu.cpp @@ -1,6 +1,6 @@ /* -** Copyright 2003, Axel Dörfler, axeld@pinc-software.de. All rights reserved. -** Distributed under the terms of the OpenBeOS License. + * Copyright 2003-2007, Axel Dörfler, axeld@pinc-software.de. All rights reserved. + * Distributed under the terms of the MIT License. */ @@ -11,10 +11,11 @@ status_t -platform_allocate_region(void **_address, size_t size, uint8 protection) +platform_allocate_region(void **_address, size_t size, uint8 protection, + bool exactAddress) { - printf("platform_allocate_region(address = %p, size = %lu, protection = %u)\n", - *_address, size, protection); + printf("platform_allocate_region(address = %p, size = %lu, protection = %u, exactAdress = %d)\n", + *_address, size, protection, exactAddress); void *address = malloc(size); if (address == NULL)