Subject: port-powerpc/22428: copy/set region ops are missing in new powerpc bus_space(9)
To: None <gnats-bugs@gnats.netbsd.org>
From: None <tsutsui@ceres.dti.ne.jp>
List: netbsd-bugs
Date: 08/10/2003 20:57:10
>Number:         22428
>Category:       port-powerpc
>Synopsis:       copy/set region ops are missing in new powerpc bus_space(9)
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-powerpc-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Aug 10 11:58:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Izumi Tsutsui
>Release:        NetBSD 1.6W around 20030809
>Organization:
>Environment:
System: NetBSD/prep 1.6W on IBM RS/6000 7248-133
Architecture: powerpc
Machine: prep
>Description:
prep port has switched to use new powerpc bus space infrastructure
on March, but the infrastructure lacks bus_space_set_region_N() and
bus_space_copy_region_N() so all drivers which use these ops
(including vga(4) console) don't work anymore.

>How-To-Repeat:
Code inspection of powerpc/powerpc/pio_subr.S.
For example, bus_space_copy_region_4() in it is:
---
/* LINTSTUB: Func: void bscr4_s(bus_space_tag_t t, bus_space_handle_t h, \
bus_size_t o, bus_space_handle_t h2, bus_size_t o2, size_t len); */
/* LINTSTUB: Func: void bscr4(bus_space_tag_t t, bus_space_handle_t h, \
bus_size_t o, bus_space_handle_t h2, bus_size_t o2, size_t len); */
ENTRY_NOPROFILE(bscr4_s)
	lwz     0,0(3)
	rotlw   5,5,0
ENTRY_NOPROFILE(bscr4)
	trap

---

>Fix:
Not provided.

Old powerpc/include/bus.h has these ops in C code,
but they don't support stride and bswap ops which required by
new infrastructure.
>Release-Note:
>Audit-Trail:
>Unformatted: