diff options
| author | Geert Uytterhoeven <geert@linux-m68k.org> | 2002-11-02 23:56:29 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@penguin.transmeta.com> | 2002-11-02 23:56:29 -0800 |
| commit | 0e1cb392e849ceef2414855c35262f16bebfd232 (patch) | |
| tree | 2a0b66937d60ea7b189fc188ae3942825ac9f82a /include | |
| parent | 9d0f75b88bf06dc8ee474e61dfea0c1a447b88d2 (diff) | |
[PATCH] Sun-3 VME support
Add Sun-3 VME support (by Sam Creasey):
- Added VME version of the Sun-3 NCR5380 scsi driver.
- Modified the Sun-3 dvma routines to support VME.
- Added sun3_map_test() -- uses the ex_table to trap faults on VME mappings
in order to determine if a card is present. This seems a little hackish to
be, but:
1) All changes are entirely within Sun3-only code paths,
2) netbsd, sunos, and mach all use this mechanism for VME probes anyway.
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-m68k/dvma.h | 5 | ||||
| -rw-r--r-- | include/asm-m68k/sun3ints.h | 6 | ||||
| -rw-r--r-- | include/asm-m68k/sun3mmu.h | 1 |
3 files changed, 11 insertions, 1 deletions
diff --git a/include/asm-m68k/dvma.h b/include/asm-m68k/dvma.h index f7a6dcfabc4e..7a1653507f82 100644 --- a/include/asm-m68k/dvma.h +++ b/include/asm-m68k/dvma.h @@ -22,7 +22,8 @@ extern int dvma_map_iommu(unsigned long kaddr, unsigned long baddr, #define dvma_malloc(x) dvma_malloc_align(x, 0) #define dvma_map(x, y) dvma_map_align(x, y, 0) - +#define dvma_map_vme(x, y) (dvma_map(x, y) & 0xfffff) +#define dvma_map_align_vme(x, y, z) (dvma_map_align (x, y, z) & 0xfffff) extern unsigned long dvma_map_align(unsigned long kaddr, int len, int align); extern void *dvma_malloc_align(unsigned long len, unsigned long align); @@ -52,6 +53,8 @@ extern void dvma_free(void *vaddr); /* virt <-> phys conversions */ #define dvma_vtop(x) ((unsigned long)(x) & 0xffffff) #define dvma_ptov(x) ((unsigned long)(x) | 0xf000000) +#define dvma_vtovme(x) ((unsigned long)(x) & 0x00fffff) +#define dvma_vmetov(x) ((unsigned long)(x) | 0xff00000) #define dvma_vtob(x) dvma_vtop(x) #define dvma_btov(x) dvma_ptov(x) diff --git a/include/asm-m68k/sun3ints.h b/include/asm-m68k/sun3ints.h index 1da84dfcd6d0..5ce63422c57a 100644 --- a/include/asm-m68k/sun3ints.h +++ b/include/asm-m68k/sun3ints.h @@ -39,5 +39,11 @@ extern int show_sun3_interrupts(struct seq_file *, void *); extern void sun3_process_int(int, struct pt_regs *); extern volatile unsigned char* sun3_intreg; +/* master list of VME vectors -- don't fuck with this */ +#define SUN3_VEC_FLOPPY 0x40 +#define SUN3_VEC_VMESCSI0 0x40 +#define SUN3_VEC_VMESCSI1 0x41 +#define SUN3_VEC_CG 0xA8 + #endif /* SUN3INTS_H */ diff --git a/include/asm-m68k/sun3mmu.h b/include/asm-m68k/sun3mmu.h index bf9b0f26ba24..72e65f3ebe60 100644 --- a/include/asm-m68k/sun3mmu.h +++ b/include/asm-m68k/sun3mmu.h @@ -164,6 +164,7 @@ extern __inline__ void sun3_put_context(unsigned char c) extern void *sun3_ioremap(unsigned long phys, unsigned long size, unsigned long type); +extern int sun3_map_test(unsigned long addr, char *val); #endif /* !__ASSEMBLY__ */ |
