Implement bus_space_write_region_4() and bus_space_read_region4()

for footbridge.
This commit is contained in:
mark 2000-06-24 09:42:47 +00:00
parent eb32670668
commit 3880aa267c
2 changed files with 34 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: footbridge_io.c,v 1.5 2000/04/17 17:39:17 drochner Exp $ */
/* $NetBSD: footbridge_io.c,v 1.6 2000/06/24 09:42:47 mark Exp $ */
/*
* Copyright (c) 1997 Causality Limited
@ -89,7 +89,7 @@ struct bus_space footbridge_bs_tag = {
/* read region */
bs_notimpl_bs_rr_1,
footbridge_bs_rr_2,
bs_notimpl_bs_rr_4,
footbridge_bs_rr_4,
bs_notimpl_bs_rr_8,
/* write (single) */
@ -107,7 +107,7 @@ struct bus_space footbridge_bs_tag = {
/* write region */
bs_notimpl_bs_wr_1,
footbridge_bs_wr_2,
bs_notimpl_bs_wr_4,
footbridge_bs_wr_4,
bs_notimpl_bs_wr_8,
/* set multiple */

View File

@ -1,4 +1,4 @@
/* $NetBSD: footbridge_io_asm.S,v 1.3 1999/02/27 11:14:27 mark Exp $ */
/* $NetBSD: footbridge_io_asm.S,v 1.4 2000/06/24 09:42:47 mark Exp $ */
/*
* Copyright (c) 1997 Causality Limited.
@ -195,6 +195,21 @@ Lfootbridge_rr_2_loop:
mov pc, lr
ENTRY(footbridge_bs_rr_4)
add r0, r1, r2
mov r1, r3
ldr r2, [sp, #0]
teq r2, #0
moveq pc, lr
Lfootbridge_rr_4_loop:
ldr r3, [r0], #4
str r3, [r1], #4
subs r2, r2, #1
bne Lfootbridge_rr_4_loop
mov pc, lr
/*
* write region.
*/
@ -214,6 +229,21 @@ Lfootbridge_wr_2_loop:
mov pc, lr
ENTRY(footbridge_bs_wr_4)
add r0, r1, r2
mov r1, r3
ldr r2, [sp, #0]
teq r2, #0
moveq pc, lr
Lfootbridge_wr_4_loop:
ldr r3, [r1], #4
str r3, [r0], #4
subs r2, r2, #1
bne Lfootbridge_wr_4_loop
mov pc, lr
/*
* set region
*/