diff options
| author | William Lee Irwin III <wli@holomorphy.com> | 2005-01-01 17:47:21 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@evo.osdl.org> | 2005-01-01 17:47:21 -0800 |
| commit | 693c84fdaf03e73c5a441d5fed662f52216a17d9 (patch) | |
| tree | 11a4368c12712af8b1dd031a21239849f9ed3a11 /include | |
| parent | 0f86e14f22e45754e1492aff3626b4f163f0738b (diff) | |
[PATCH] sparc32: sun4d update
Chris Newport and Thomas Bogendoerfer have been working to get the
sun4d port functional again. This patch updates 2.6.10-rc3 to a current
snapshot of their work. It does the following 3 things:
(1) add sun4d hook to sbus_bus_ranges_init()
(2) fix up pgd_offset() call in sun4d iommu code
(3) fix up sun4d's definition of current
Signed-off-by: Chris Newport <crn@netunix.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Acked-by: William Irwin <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-sparc/asi.h | 3 | ||||
| -rw-r--r-- | include/asm-sparc/sbus.h | 2 | ||||
| -rw-r--r-- | include/asm-sparc/winmacro.h | 9 |
3 files changed, 10 insertions, 4 deletions
diff --git a/include/asm-sparc/asi.h b/include/asm-sparc/asi.h index 72ccc64ba560..58c3754da926 100644 --- a/include/asm-sparc/asi.h +++ b/include/asm-sparc/asi.h @@ -104,7 +104,8 @@ #define ASI_M_DCDR 0x39 /* Data Cache Diagnostics Register rw, ss */ #define ASI_M_VIKING_TMP1 0x40 /* Emulation temporary 1 on Viking */ -#define ASI_M_VIKING_TMP2 0x41 /* Emulation temporary 2 on Viking */ +/* only available on SuperSparc I */ +/* #define ASI_M_VIKING_TMP2 0x41 */ /* Emulation temporary 2 on Viking */ #define ASI_M_ACTION 0x4c /* Breakpoint Action Register (GNU/Viking) */ diff --git a/include/asm-sparc/sbus.h b/include/asm-sparc/sbus.h index 4072875c773c..3a8b3908728a 100644 --- a/include/asm-sparc/sbus.h +++ b/include/asm-sparc/sbus.h @@ -106,6 +106,8 @@ extern void sbus_set_sbus64(struct sbus_dev *, int); /* These yield IOMMU mappings in consistent mode. */ extern void *sbus_alloc_consistent(struct sbus_dev *, long, u32 *dma_addrp); extern void sbus_free_consistent(struct sbus_dev *, long, void *, u32); +void prom_adjust_ranges(struct linux_prom_ranges *, int, + struct linux_prom_ranges *, int); #define SBUS_DMA_BIDIRECTIONAL DMA_BIDIRECTIONAL #define SBUS_DMA_TODEVICE DMA_TO_DEVICE diff --git a/include/asm-sparc/winmacro.h b/include/asm-sparc/winmacro.h index cb80840b111e..557257eef3f9 100644 --- a/include/asm-sparc/winmacro.h +++ b/include/asm-sparc/winmacro.h @@ -112,9 +112,12 @@ and %idreg, 0xc, %idreg; \ ld [%idreg + %dest_reg], %dest_reg; -/* Sliiick. We have a Linux current register :) -jj */ -#define LOAD_CURRENT4D(dest_reg) \ - lda [%g0] ASI_M_VIKING_TMP2, %dest_reg; +#define LOAD_CURRENT4D(dest_reg, idreg) \ + lda [%g0] ASI_M_VIKING_TMP1, %idreg; \ + sethi %hi(C_LABEL(current_set)), %dest_reg; \ + sll %idreg, 2, %idreg; \ + or %dest_reg, %lo(C_LABEL(current_set)), %dest_reg; \ + ld [%idreg + %dest_reg], %dest_reg; /* Blackbox - take care with this... - check smp4m and smp4d before changing this. */ #define LOAD_CURRENT(dest_reg, idreg) \ |
