diff options
| author | mark <mark@NetBSD.org> | 1998-03-09 19:11:30 +0000 |
|---|---|---|
| committer | mark <mark@NetBSD.org> | 1998-03-09 19:11:30 +0000 |
| commit | c2efbb1d9a1dae4796bf83401bd953e4febca016 (patch) | |
| tree | 50289592a6a13644660075171f9bb7ec7375ebfe | |
| parent | b34c2c6ed246b369e6b03917d984370431e7cc81 (diff) | |
Implement the bus_space_write_multi_1() function for the podulebus
(podulebus_wm_1()).
| -rw-r--r-- | sys/arch/arm32/podulebus/podulebus_io.c | 4 | ||||
| -rw-r--r-- | sys/arch/arm32/podulebus/podulebus_io_asm.S | 18 |
2 files changed, 19 insertions, 3 deletions
diff --git a/sys/arch/arm32/podulebus/podulebus_io.c b/sys/arch/arm32/podulebus/podulebus_io.c index 36d7a51d4a3..9ef3e83b493 100644 --- a/sys/arch/arm32/podulebus/podulebus_io.c +++ b/sys/arch/arm32/podulebus/podulebus_io.c @@ -1,4 +1,4 @@ -/* $NetBSD: podulebus_io.c,v 1.4 1997/10/14 23:52:46 mark Exp $ */ +/* $NetBSD: podulebus_io.c,v 1.5 1998/03/09 19:11:30 mark Exp $ */ /* * Copyright (c) 1997 Mark Brinicombe. @@ -88,7 +88,7 @@ struct bus_space podulebus_bs_tag = { bs_notimpl_w_8, /* write multiple */ - bs_notimpl_wm_1, + podulebus_wm_1, podulebus_wm_2, bs_notimpl_wm_4, bs_notimpl_wm_8, diff --git a/sys/arch/arm32/podulebus/podulebus_io_asm.S b/sys/arch/arm32/podulebus/podulebus_io_asm.S index b55f56ccd19..3046a39c715 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.5 1997/10/17 06:46:29 mark Exp $ */ +/* $NetBSD: podulebus_io_asm.S,v 1.6 1998/03/09 19:11:30 mark Exp $ */ /* * Copyright (c) 1997 Mark Brinicombe. @@ -94,6 +94,22 @@ ENTRY(podulebus_rm_2) * write multiple */ +ENTRY(podulebus_wm_1) + add r0, r1, r2, lsl r0 + ldr r2, [sp, #0] + + /* Make sure that we have a positive length */ + cmp r2, #0x00000000 + movle pc, lr + +podulebus_wm_1_loop: + ldrb r1, [r3], #0x0001 + strb r1, [r0] + subs r2, r2, #0x00000001 + bgt podulebus_wm_1_loop + + mov pc, lr + ENTRY(podulebus_wm_2) add r0, r1, r2, lsl r0 mov r1, r3 |
