Deleted Added
full compact
iommureg.h (167308) iommureg.h (171730)
1/*-
2 * Copyright (c) 1992, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This software was developed by the Computer Systems Engineering group
6 * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
7 * contributed to Berkeley.
8 *

--- 19 unchanged lines hidden (view full) ---

28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * from: @(#)sbusreg.h 8.1 (Berkeley) 6/11/93
34 * from: NetBSD: iommureg.h,v 1.6 2001/07/20 00:07:13 eeh Exp
35 *
1/*-
2 * Copyright (c) 1992, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This software was developed by the Computer Systems Engineering group
6 * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
7 * contributed to Berkeley.
8 *

--- 19 unchanged lines hidden (view full) ---

28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * from: @(#)sbusreg.h 8.1 (Berkeley) 6/11/93
34 * from: NetBSD: iommureg.h,v 1.6 2001/07/20 00:07:13 eeh Exp
35 *
36 * $FreeBSD: head/sys/sparc64/include/iommureg.h 167308 2007-03-07 21:13:51Z marius $
36 * $FreeBSD: head/sys/sparc64/include/iommureg.h 171730 2007-08-05 11:56:44Z marius $
37 */
38
39#ifndef _MACHINE_IOMMUREG_H_
40#define _MACHINE_IOMMUREG_H_
41
42/*
43 * UltraSPARC IOMMU registers, common to both the PCI and SBus
44 * controllers.

--- 14 unchanged lines hidden (view full) ---

59#define ISD_ERROR_DIAG 0x0400 /* streaming buffer error status diag 0..127 */
60#define ISD_PG_TAG_DIAG 0x0800 /* streaming buffer page tag diag 0..15 */
61#define ISD_LN_TAG_DIAG 0x0900 /* streaming buffer line tag diag 0..15 */
62
63/* streaming buffer control register */
64#define STRBUF_EN 0x0000000000000001UL
65#define STRBUF_D 0x0000000000000002UL
66
37 */
38
39#ifndef _MACHINE_IOMMUREG_H_
40#define _MACHINE_IOMMUREG_H_
41
42/*
43 * UltraSPARC IOMMU registers, common to both the PCI and SBus
44 * controllers.

--- 14 unchanged lines hidden (view full) ---

59#define ISD_ERROR_DIAG 0x0400 /* streaming buffer error status diag 0..127 */
60#define ISD_PG_TAG_DIAG 0x0800 /* streaming buffer page tag diag 0..15 */
61#define ISD_LN_TAG_DIAG 0x0900 /* streaming buffer line tag diag 0..15 */
62
63/* streaming buffer control register */
64#define STRBUF_EN 0x0000000000000001UL
65#define STRBUF_D 0x0000000000000002UL
66
67#define IOMMU_BITS 34
68#define IOMMU_MAXADDR ((1UL << IOMMU_BITS) - 1)
67#define IOMMU_MAXADDR(bits) ((1UL << (bits)) - 1)
69
70/*
71 * control register bits
72 */
73/* Nummber of entries in IOTSB */
74#define IOMMUCR_TSBSZ_SHIFT 16
75#define IOMMUCR_TSB1K 0x0000000000000000UL
76#define IOMMUCR_TSB2K 0x0000000000010000UL

--- 39 unchanged lines hidden (view full) ---

116/* 8K or 64K page? */
117#define IOTTE_64K 0x2000000000000000UL
118#define IOTTE_8K 0x0000000000000000UL
119/* Is page streamable? */
120#define IOTTE_STREAM 0x1000000000000000UL
121/* Accesses to same bus segment? */
122#define IOTTE_LOCAL 0x0800000000000000UL
123/* Let's assume this is correct */
68
69/*
70 * control register bits
71 */
72/* Nummber of entries in IOTSB */
73#define IOMMUCR_TSBSZ_SHIFT 16
74#define IOMMUCR_TSB1K 0x0000000000000000UL
75#define IOMMUCR_TSB2K 0x0000000000010000UL

--- 39 unchanged lines hidden (view full) ---

115/* 8K or 64K page? */
116#define IOTTE_64K 0x2000000000000000UL
117#define IOTTE_8K 0x0000000000000000UL
118/* Is page streamable? */
119#define IOTTE_STREAM 0x1000000000000000UL
120/* Accesses to same bus segment? */
121#define IOTTE_LOCAL 0x0800000000000000UL
122/* Let's assume this is correct */
124#define IOTTE_PAMASK 0x000001ffffffe000UL
123#define IOTTE_PAMASK 0x000007ffffffe000UL
125/* Accesses to cacheable space */
126#define IOTTE_C 0x0000000000000010UL
127/* Writeable */
128#define IOTTE_W 0x0000000000000002UL
129
130/* log2 of the IOMMU TTE size. */
131#define IOTTE_SHIFT 3
132

--- 48 unchanged lines hidden ---
124/* Accesses to cacheable space */
125#define IOTTE_C 0x0000000000000010UL
126/* Writeable */
127#define IOTTE_W 0x0000000000000002UL
128
129/* log2 of the IOMMU TTE size. */
130#define IOTTE_SHIFT 3
131

--- 48 unchanged lines hidden ---