From 185e6809fc6639ae249a03bca515c8741774b25d Mon Sep 17 00:00:00 2001 From: PulkoMandy Date: Wed, 30 Dec 2020 20:39:07 +0100 Subject: [PATCH] sparc: Build fixes - Wrong printf format in bootloader elf panic call - Missing functions for sparc Change-Id: I4715a8d6d3d864d379b8386dc3958e0a2c1962e7 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3571 Reviewed-by: waddlesplash --- src/system/boot/loader/elf.cpp | 2 +- src/system/boot/platform/openfirmware/mmu.cpp | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/system/boot/loader/elf.cpp b/src/system/boot/loader/elf.cpp index fd4655d2a9..99495aaf93 100644 --- a/src/system/boot/loader/elf.cpp +++ b/src/system/boot/loader/elf.cpp @@ -152,7 +152,7 @@ struct ELF64Class { #else void *result; if (platform_kernel_address_to_bootloader_address(address, &result) != B_OK) { - panic("Couldn't convert address %#lx", address); + panic("Couldn't convert address %#" PRIx64, address); } return result; #endif diff --git a/src/system/boot/platform/openfirmware/mmu.cpp b/src/system/boot/platform/openfirmware/mmu.cpp index b765e8dcb1..4f47608268 100644 --- a/src/system/boot/platform/openfirmware/mmu.cpp +++ b/src/system/boot/platform/openfirmware/mmu.cpp @@ -28,6 +28,22 @@ platform_allocate_region(void **_address, size_t size, uint8 protection, } +extern "C" status_t +platform_bootloader_address_to_kernel_address(void *address, addr_t *_result) +{ + *_result = (addr_t)address; + return B_OK; +} + + +extern "C" status_t +platform_kernel_address_to_bootloader_address(addr_t address, void **_result) +{ + *_result = (void*)address; + return B_OK; +} + + status_t platform_free_region(void *address, size_t size) {