From 3142731d098ec39c734ca819e85d053f63dbb8a2 Mon Sep 17 00:00:00 2001 From: mark Date: Wed, 21 Aug 1996 20:10:04 +0000 Subject: [PATCH] Re-written FPE core header. Added branches relative to the start of the module and labels to the various entry points. All other offsets are now relative to _fpe_arm_start. This removes the need for boot time relocation of the FPE. --- sys/arch/arm32/fpe-arm/armfpe.s | 89 +++++++++++++++++++++++++-------- 1 file changed, 68 insertions(+), 21 deletions(-) diff --git a/sys/arch/arm32/fpe-arm/armfpe.s b/sys/arch/arm32/fpe-arm/armfpe.s index 71066caa95ef..605f1458c461 100644 --- a/sys/arch/arm32/fpe-arm/armfpe.s +++ b/sys/arch/arm32/fpe-arm/armfpe.s @@ -1,4 +1,4 @@ -/* $NetBSD: armfpe.s,v 1.2 1996/03/18 19:54:55 mark Exp $ */ +/* $NetBSD: armfpe.s,v 1.3 1996/08/21 20:10:04 mark Exp $ */ /* * Copyright (c) 1996 Neil A Carson. @@ -15,7 +15,9 @@ * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: - * This product includes software developed by the RiscBSD kernel team. + * This product includes software developed by the RiscBSD kernel team. + * This product includes software developed by Advanced Risc Machines + * Ltd. * 4. The name of the company nor the name of the author may be used to * endorse or promote products derived from this software without specific * prior written permission. @@ -38,34 +40,77 @@ * * ARM FPE core * - * Created : 05/01/96 + * Created : 05/08/96 */ /* DO NOT MODIFY - THIS FILE IS AUTOMATICALLY GENERATED. */ /* Generated from KernelFPE */ -.text -.global _arm_fpe_mod + .text + .global _arm_fpe_mod /* Old start address */ _arm_fpe_mod: - .word 0x00006cc0 - .word 0x00006e54 - .word 0x00006ebc - .word 0x00006f5c - .word 0x0000706c - .word 0x00006fd8 - .word 0x00006f64 - .word 0x00007140 - .word 0x0000722c - .word 0x0000707c - .word 0x000070d0 - .word 0x000072e4 - .word 0x000072fc - .word 0x00007314 - .word 0x00007364 - .word 0x000072e8 + .global _fpe_arm_start /* New start address */ +_fpe_arm_start: + .global _fpe_arm_header /* FPE header structure */ +_fpe_arm_header: + .global _fpe_arm_core_abort +_fpe_arm_core_abort: + b _fpe_arm_start + 0x00006cc0 + .global _fpe_arm_core_initws +_fpe_arm_core_initws: + b _fpe_arm_start + 0x00006e54 + .global _fpe_arm_core_initcontext +_fpe_arm_core_initcontext: + b _fpe_arm_start + 0x00006ebc + .global _fpe_arm_core_changecontext +_fpe_arm_core_changecontext: + b _fpe_arm_start + 0x00006f5c + .global _fpe_arm_core_shutdown +_fpe_arm_core_shutdown: + b _fpe_arm_start + 0x0000706c + .global _fpe_arm_core_activatecontext +_fpe_arm_core_activatecontext: + b _fpe_arm_start + 0x00006fd8 + .global _fpe_arm_core_deactivatecontext +_fpe_arm_core_deactivatecontext: + b _fpe_arm_start + 0x00006f64 + .global _fpe_arm_core_savecontext +_fpe_arm_core_savecontext: + b _fpe_arm_start + 0x00007140 + .global _fpe_arm_core_loadcontext +_fpe_arm_core_loadcontext: + b _fpe_arm_start + 0x0000722c + .global _fpe_arm_core_disable +_fpe_arm_core_disable: + b _fpe_arm_start + 0x0000707c + .global _fpe_arm_core_enable +_fpe_arm_core_enable: + b _fpe_arm_start + 0x000070d0 + + .global _fpe_arm_core_main_ws_ptr +_fpe_arm_core_main_ws_ptr: + .word _fpe_arm_start + 0x000072e4 + .global _fpe_arm_core_local_handler_ptr +_fpe_arm_core_local_handler_ptr: + .word _fpe_arm_start + 0x000072fc + .global _fpe_arm_core_old_handler_ptr +_fpe_arm_core_old_handler_ptr: + .word _fpe_arm_start + 0x00007314 + .global _fpe_arm_core_exc_handler_ptr +_fpe_arm_core_exc_handler_ptr: + .word _fpe_arm_start + 0x00007364 + .global _fpe_arm_core_post_proc_handler +_fpe_arm_core_post_proc_handler: + .word _fpe_arm_start + 0x000072e8 + + .global _fpe_arm_workspace_length +_fpe_arm_workspace_length: .word 0x0000000c + .global _fpe_arm_context_length +_fpe_arm_context_length: .word 0x00000088 + .word 0x00000000 .word 0x00000000 .word 0x00000000 @@ -7457,3 +7502,5 @@ _arm_fpe_mod: .word 0x000073b0 .word 0xffffffff + .global _fpe_arm_end /* End address */ +_fpe_arm_end: