diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2003-09-25 22:17:41 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2003-09-25 22:17:41 +0000 |
commit | c672e6337e75f6845433174a1091ab88cfa04fbb (patch) | |
tree | a016cbe0d64a4c862da35d44e86eeba3705835b2 /sys/arch/hppa | |
parent | a5f6b6516c356e445887fc2637220104789753e3 (diff) |
provide a function to enable accel io on pcxl2 and use it on the fb
Diffstat (limited to 'sys/arch/hppa')
-rw-r--r-- | sys/arch/hppa/dev/sti_sgc.c | 6 | ||||
-rw-r--r-- | sys/arch/hppa/hppa/locore.S | 17 | ||||
-rw-r--r-- | sys/arch/hppa/include/cpufunc.h | 3 |
3 files changed, 23 insertions, 3 deletions
diff --git a/sys/arch/hppa/dev/sti_sgc.c b/sys/arch/hppa/dev/sti_sgc.c index c1bc65ebaea..aa305c8d82e 100644 --- a/sys/arch/hppa/dev/sti_sgc.c +++ b/sys/arch/hppa/dev/sti_sgc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sti_sgc.c,v 1.16 2003/08/21 18:03:18 mickey Exp $ */ +/* $OpenBSD: sti_sgc.c,v 1.17 2003/09/25 22:17:40 mickey Exp $ */ /* * Copyright (c) 2000-2003 Michael Shalayeff @@ -233,6 +233,10 @@ sti_sgc_attach(parent, self, aux) } } + /* PCXL2: enale accel i/o for this space */ + if (cpu_type == hpcxl2) + eaio_l2(0x8 >> (((ca->ca_hpa >> 25) & 3) - 2)); + #ifdef STIDEBUG printf("sti: ioh=%x, romh=%x\n", sc->ioh, sc->romh); #endif diff --git a/sys/arch/hppa/hppa/locore.S b/sys/arch/hppa/hppa/locore.S index ade2be46d44..9f10eb3088e 100644 --- a/sys/arch/hppa/hppa/locore.S +++ b/sys/arch/hppa/hppa/locore.S @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.S,v 1.111 2003/08/07 19:23:52 mickey Exp $ */ +/* $OpenBSD: locore.S,v 1.112 2003/09/25 22:17:40 mickey Exp $ */ /* * Copyright (c) 1998-2003 Michael Shalayeff @@ -1719,6 +1719,21 @@ LEAF_ENTRY(desidhash_t) EXIT(desidhash_t) #endif /* HP7200_CPU */ +#ifdef HP7300LC_CPU + .data + BSS(eaio_l2_mask, 4) +LEAF_ENTRY(eaio_l2) + ldil L%eaio_l2_mask, t2 + ldw R%eaio_l2_mask(t2), t1 + or t1, arg0, t1 + MTCPU_C(22, DR0_PCXL2_ACCEL_IO) + nop + nop + bv 0(rp) + stw t1, R%eaio_l2_mask(t2) +EXIT(eaio_l2) +#endif /* HP7300LC_CPU */ + #if defined(HP7100LC_CPU) || defined(HP7300LC_CPU) /* diff --git a/sys/arch/hppa/include/cpufunc.h b/sys/arch/hppa/include/cpufunc.h index 6a2fdd7270c..34a95870cc8 100644 --- a/sys/arch/hppa/include/cpufunc.h +++ b/sys/arch/hppa/include/cpufunc.h @@ -1,4 +1,4 @@ -/* $OpenBSD: cpufunc.h,v 1.22 2003/08/20 06:50:30 mickey Exp $ */ +/* $OpenBSD: cpufunc.h,v 1.23 2003/09/25 22:17:40 mickey Exp $ */ /* * Copyright (c) 1998,2000 Michael Shalayeff @@ -215,6 +215,7 @@ void fcacheall(void); void ptlball(void); int btlb_insert(pa_space_t space, vaddr_t va, paddr_t pa, vsize_t *lenp, u_int prot); hppa_hpa_t cpu_gethpa(int n); +void eaio_l2(int i); #endif #endif /* _MACHINE_CPUFUNC_H_ */ |