diff options
author | Jason Wright <jason@cvs.openbsd.org> | 2002-02-22 16:12:00 +0000 |
---|---|---|
committer | Jason Wright <jason@cvs.openbsd.org> | 2002-02-22 16:12:00 +0000 |
commit | 73032fcd052b774b91d07262a83ecfacd6f61de5 (patch) | |
tree | 5d4b12d6229af0abcff02741e94b07fde7ef57e7 /sys/arch/sparc64/dev/iommureg.h | |
parent | 0a5d214dc01d1c0ade4e779faea2e7f766a09705 (diff) |
From NetBSD:
- Fix pr sparc64/15633: datafault at tlp_start causes panic
- Also clean up some additional 32-bit kernel printf issues.
- Handle the case where a DMA operation wraps from the end of a page to the
beginning of the same page properly by double-mapping that page.
- Move a brace so this will compile w/o DEBUG.
- Overhaul iommu_dvmamap_load_raw().
From Me:
- Verify the streaming cache exists before waiting on it to clear during flush.
- Force sync of flush status (hardware sets it to 1 when its done)
- Force sync flush of registers (bus_space_barrier)
- Flush ALL segments on BUS_DMA_POSTREAD operations (not just the first!)
Diffstat (limited to 'sys/arch/sparc64/dev/iommureg.h')
-rw-r--r-- | sys/arch/sparc64/dev/iommureg.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/arch/sparc64/dev/iommureg.h b/sys/arch/sparc64/dev/iommureg.h index 89b5e324f7e..0ae8173e2b6 100644 --- a/sys/arch/sparc64/dev/iommureg.h +++ b/sys/arch/sparc64/dev/iommureg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: iommureg.h,v 1.2 2001/08/18 21:30:00 jason Exp $ */ +/* $OpenBSD: iommureg.h,v 1.3 2002/02/22 16:11:59 jason Exp $ */ /* $NetBSD: iommureg.h,v 1.6 2001/07/20 00:07:13 eeh Exp $ */ /* @@ -126,8 +126,9 @@ struct iommu_strbuf { */ -#define IOTSB_VEND (0xffffffffffffffffLL<<PGSHIFT) +#define IOTSB_VEND (u_int)(0xffffffffffffffffLL<<PGSHIFT) #define IOTSB_VSTART(sz) (u_int)(IOTSB_VEND << ((sz)+10)) +#define IOTSB_VSIZE(sz) (u_int)(1 << ((sz)+10+PGSHIFT)) #define MAKEIOTTE(pa,w,c,s) (((pa)&IOTTE_PAMASK)|((w)?IOTTE_W:0)|((c)?IOTTE_C:0)|((s)?IOTTE_STREAM:0)|(IOTTE_V|IOTTE_8K)) #define IOTSBSLOT(va,sz) ((u_int)(((vaddr_t)(va))-(is->is_dvmabase))>>PGSHIFT) |