From 258768a81d459c85a2d6ee19a0a14202833a10e3 Mon Sep 17 00:00:00 2001 From: mark Date: Wed, 30 Jul 1997 23:52:08 +0000 Subject: [PATCH] Use the cookie field in the podulebus tag (current unused) as a register shift value thus making register more flexible. Remove the absolute shift of 2 in all the podule read/write routines and use the tag cookie (passed in r0) as the shift value. --- sys/arch/arm32/podulebus/podulebus_io_asm.S | 24 +++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/sys/arch/arm32/podulebus/podulebus_io_asm.S b/sys/arch/arm32/podulebus/podulebus_io_asm.S index 605608695a1e..15f9e01f500a 100644 --- a/sys/arch/arm32/podulebus/podulebus_io_asm.S +++ b/sys/arch/arm32/podulebus/podulebus_io_asm.S @@ -1,4 +1,4 @@ -/* $NetBSD: podulebus_io_asm.S,v 1.2 1997/01/26 01:55:04 mark Exp $ */ +/* $NetBSD: podulebus_io_asm.S,v 1.3 1997/07/30 23:52:08 mark Exp $ */ /* * Copyright (c) 1997 Mark Brinicombe. @@ -48,19 +48,22 @@ pc .req r15 .global _podulebus_r_1 _podulebus_r_1: - ldrb r0, [r1, r2, lsl #2] + mov r2, r2, lsl r0 + ldrb r0, [r1, r2] mov pc, lr .global _podulebus_r_2 _podulebus_r_2: - ldr r0, [r1, r2, lsl #2] + mov r2, r2, lsl r0 + ldr r0, [r1, r2] bic r0, r0, #0xff000000 bic r0, r0, #0x00ff0000 mov pc, lr .global _podulebus_r_4 _podulebus_r_4: - ldr r0, [r1, r2, lsl #2] + mov r2, r2, lsl r0 + ldr r0, [r1, r2] mov pc, lr .global _podulebus_r_8 @@ -78,19 +81,22 @@ podulebus_r_8_text: .global _podulebus_w_1 _podulebus_w_1: - strb r3, [r1, r2, lsl #2] + mov r2, r2, lsl r0 + strb r3, [r1, r2] mov pc, lr .global _podulebus_w_2 _podulebus_w_2: mov r3, r3, lsl #16 orr r3, r3, r3, lsr #16 - str r3, [r1, r2, lsl #2] + mov r2, r2, lsl r0 + str r3, [r1, r2] mov pc, lr .global _podulebus_w_4 _podulebus_w_4: - str r3, [r1, r2, lsl #2] + mov r2, r2, lsl r0 + str r3, [r1, r2] mov pc, lr .global _podulebus_w_8 @@ -117,7 +123,7 @@ podulebus_rm_1_text: .global _podulebus_rm_2 _podulebus_rm_2: - add r0, r1, r2, lsl #2 + add r0, r1, r2, lsl r0 mov r1, r3 ldr r2, [sp, #0] b _insw @@ -155,7 +161,7 @@ podulebus_wm_1_text: .global _podulebus_wm_2 _podulebus_wm_2: - add r0, r1, r2, lsl #2 + add r0, r1, r2, lsl r0 mov r1, r3 ldr r2, [sp, #0] b _outsw