patch-2.1.34 linux/include/asm-sparc64/iommu.h
Next file: linux/include/asm-sparc64/ipc.h
Previous file: linux/include/asm-sparc64/ioctls.h
Back to the patch index
Back to the overall index
- Lines: 49
- Date:
Fri Apr 11 10:47:39 1997
- Orig file:
v2.1.33/linux/include/asm-sparc64/iommu.h
- Orig date:
Mon Dec 30 02:00:03 1996
diff -u --recursive --new-file v2.1.33/linux/include/asm-sparc64/iommu.h linux/include/asm-sparc64/iommu.h
@@ -6,6 +6,7 @@
#define _SPARC64_IOMMU_H
#include <asm/page.h>
+#include <asm/sysio.h>
/* The iommu handles all virtual to physical address translations
* that occur between the SYSIO and physical memory. Access by
@@ -17,21 +18,6 @@
*/
/* The IOMMU register set. */
-struct iommu_regs {
- volatile unsigned long csr;
- volatile unsigned long tsb_base;
- volatile unsigned long flush;
- unsigned char _unused0[PAGE_SIZE - 0x18];
-
- volatile unsigned long va_diag;
- volatile unsigned long tag_compare;
- unsigned char _unused1[0x100 - 0x10];
-
- volatile unsigned long lru_diag[0x80 / 8];
- volatile unsigned long tag_diag[0x80 / 8];
- volatile unsigned long ram_diag[0x100 / 8];
-};
-
#define IOMMU_CTRL_IMPL 0xf000000000000000 /* Implementation */
#define IOMMU_CTRL_VERS 0x0f00000000000000 /* Version */
#define IOMMU_CTRL_TSBSZ 0x0000000000070000 /* TSB Size */
@@ -57,17 +43,12 @@
#define IOPTE_WRITE 0x0000000000000002 /* Writeable */
struct iommu_struct {
- struct iommu_regs *regs;
+ struct sysio_regs *sysio_regs;
iopte_t *page_table;
/* For convenience */
unsigned long start; /* First managed virtual address */
unsigned long end; /* Last managed virtual address */
};
-
-extern __inline__ void iommu_invalidate_page(struct iommu_regs *regs, unsigned long page)
-{
- regs->flush = (page & (PAGE_MASK << 3));
-}
#endif /* !(_SPARC_IOMMU_H) */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov