|
|
1.1 ! root 1: /*++ BUILD Version: 0005 // Increment this if a change has global effects ! 2: ! 3: Copyright (c) 1990 Microsoft Corporation ! 4: ! 5: Module Name: ! 6: ! 7: jazzdef.h ! 8: ! 9: Abstract: ! 10: ! 11: This module is the header file that describes hardware addresses ! 12: for the Jazz system. ! 13: ! 14: Author: ! 15: ! 16: David N. Cutler (davec) 26-Nov-1990 ! 17: ! 18: Revision History: ! 19: ! 20: --*/ ! 21: ! 22: #ifndef _JAZZDEF_ ! 23: #define _JAZZDEF_ ! 24: ! 25: // ! 26: // Define physical base addresses for system mapping. ! 27: // ! 28: ! 29: #define VIDEO_MEMORY_PHYSICAL_BASE 0x40000000 // physical base of video memory ! 30: #define VIDEO_CONTROL_PHYSICAL_BASE 0x60000000 // physical base of video control ! 31: #define CURSOR_CONTROL_PHYSICAL_BASE 0x60008000 // physical base of cursor control ! 32: #define VIDEO_ID_PHYSICAL_BASE 0x60010000 // physical base of video id register ! 33: #define VIDEO_RESET_PHYSICAL_BASE 0x60020000 // physical base of reset register ! 34: #define DEVICE_PHYSICAL_BASE 0x80000000 // physical base of device space ! 35: #define NET_PHYSICAL_BASE 0x80001000 // physical base of ethernet control ! 36: #define SCSI_PHYSICAL_BASE 0x80002000 // physical base os SCSI control ! 37: #define FLOPPY_PHYSICAL_BASE 0x80003000 // physical base of floppy control ! 38: #define RTCLOCK_PHYSICAL_BASE 0x80004000 // physical base of realtime clock ! 39: #define KEYBOARD_PHYSICAL_BASE 0x80005000 // physical base of keyboard control ! 40: #define MOUSE_PHYSICAL_BASE 0x80005000 // physical base of mouse control ! 41: #define SERIAL0_PHYSICAL_BASE 0x80006000 // physical base of serial port 0 ! 42: #define SERIAL1_PHYSICAL_BASE 0x80007000 // physical base of serial port 1 ! 43: #define PARALLEL_PHYSICAL_BASE 0x80008000 // physical base of parallel port ! 44: #define NVRAM_PHYSICAL_BASE 0x80009000 // physical base of nonvolatile RAM ! 45: #define SOUND_PHYSICAL_BASE 0x8000C000 // physical base of sound control ! 46: #define EISA_CONTROL_PHYSICAL_BASE 0x90000000 // physical base of EISA control ! 47: #define EISA_MEMORY_PHYSICAL_BASE 0x91000000 // physical base of EISA memory ! 48: #define EISA_MEMORY_VERSION2_LOW 0x00000000 // physical base of EISA memory ! 49: #define EISA_MEMORY_VERSION2_HIGH 0x00000001 // with version 2 address chip ! 50: #define PROM_PHYSICAL_BASE 0xfff00000 // physical base of boot PROM ! 51: ! 52: // ! 53: // Define virtual/physical base addresses for system mapping. ! 54: // ! 55: ! 56: #define SP_VIRTUAL_BASE 0xffffa000 // virtual base of serial port 0 ! 57: #define SP_PHYSICAL_BASE SERIAL0_PHYSICAL_BASE // physical base of serial port 0 ! 58: ! 59: #define DMA_VIRTUAL_BASE 0xffffc000 // virtual base of DMA control ! 60: #define DMA_PHYSICAL_BASE DEVICE_PHYSICAL_BASE // physical base of DMA control ! 61: ! 62: #define INTERRUPT_VIRTUAL_BASE 0xffffd000 // virtual base of interrupt source ! 63: #define INTERRUPT_PHYSICAL_BASE 0xf0000000 // physical base of interrupt source ! 64: ! 65: // ! 66: // Define the size of the DMA translation table. ! 67: // ! 68: #define DMA_TRANSLATION_LIMIT 0x2000 // translation table limit ! 69: ! 70: // ! 71: // Define pointer to DMA control registers. ! 72: // ! 73: ! 74: #define DMA_CONTROL ((volatile PDMA_REGISTERS)(DMA_VIRTUAL_BASE)) ! 75: ! 76: // ! 77: // Define DMA device channels. ! 78: // ! 79: ! 80: #define SCSI_CHANNEL 0x0 // SCSI DMA channel number ! 81: #define FLOPPY_CHANNEL 0x1 // Floppy DMA channel ! 82: #define SOUND_CHANNEL_A 0x2 // Sound DMA channel A ! 83: #define SOUND_CHANNEL_B 0x3 // Sound DMA channel B ! 84: ! 85: // ! 86: // Define DMA channel interrupt level. ! 87: // ! 88: ! 89: #define DMA_LEVEL 3 ! 90: ! 91: // ! 92: // Define EISA NMI interrupt level. ! 93: // ! 94: ! 95: #define EISA_NMI_LEVEL 6 ! 96: ! 97: // ! 98: // Define system time increment value. ! 99: // ! 100: ! 101: #define TIME_INCREMENT (10 * 1000 * 10) // Time increment in 100ns units ! 102: ! 103: // ! 104: // Define Jazz clock levels. ! 105: // ! 106: ! 107: #define CLOCK_LEVEL 7 // Interval clock level ! 108: #define CLOCK_INTERVAL ((TIME_INCREMENT / (10 * 1000)) - 1) // Ms minus 1 ! 109: ! 110: #if defined(R3000) ! 111: ! 112: #define EISA_DEVICE_LEVEL 8 // EISA bus interrupt level ! 113: ! 114: #endif ! 115: ! 116: #if defined(R4000) ! 117: ! 118: #define EISA_DEVICE_LEVEL 5 // EISA bus interrupt level ! 119: ! 120: #endif ! 121: ! 122: #define CLOCK2_LEVEL CLOCK_LEVEL // ! 123: ! 124: // ! 125: // Define EISA device interrupt vectors. ! 126: // ! 127: ! 128: #define EISA_VECTORS 32 ! 129: ! 130: #define IRQL10_VECTOR (10 + EISA_VECTORS) // Eisa interrupt request level 10 ! 131: #define IRQL11_VECTOR (11 + EISA_VECTORS) // Eisa interrupt request level 11 ! 132: #define IRQL12_VECTOR (12 + EISA_VECTORS) // Eisa interrupt request level 12 ! 133: #define IRQL13_VECTOR (13 + EISA_VECTORS) // Eisa interrupt request level 13 ! 134: ! 135: #define MAXIMUM_EISA_VECTOR (15 + EISA_VECTORS) // maximum EISA vector ! 136: ! 137: // ! 138: // Define I/O device interrupt level. ! 139: // ! 140: ! 141: #define DEVICE_LEVEL 4 // I/O device interrupt level ! 142: ! 143: // ! 144: // Define device interrupt vectors. ! 145: // ! 146: ! 147: #define DEVICE_VECTORS 16 // starting builtin device vector ! 148: ! 149: #define PARALLEL_VECTOR (1 + DEVICE_VECTORS) // Parallel device interrupt vector ! 150: #define FLOPPY_VECTOR (2 + DEVICE_VECTORS) // Floppy device interrupt vector ! 151: #define SOUND_VECTOR (3 + DEVICE_VECTORS) // Sound device interrupt vector ! 152: #define VIDEO_VECTOR (4 + DEVICE_VECTORS) // video device interrupt vector ! 153: #define NET_VECTOR (5 + DEVICE_VECTORS) // ethernet device interrupt vector ! 154: #define SCSI_VECTOR (6 + DEVICE_VECTORS) // SCSI device interrupt vector ! 155: #define KEYBOARD_VECTOR (7 + DEVICE_VECTORS) // Keyboard device interrupt vector ! 156: #define MOUSE_VECTOR (8 + DEVICE_VECTORS) // Mouse device interrupt vector ! 157: #define SERIAL0_VECTOR (9 + DEVICE_VECTORS) // Serial device 0 interrupt vector ! 158: #define SERIAL1_VECTOR (10 + DEVICE_VECTORS) // Serial device 1 interrupt vector ! 159: ! 160: #define MAXIMUM_BUILTIN_VECTOR SERIAL1_VECTOR // maximum builtin vector ! 161: ! 162: // ! 163: // Define the clock speed in megahetz for the SCSI protocol chips. ! 164: // ! 165: ! 166: #define NCR_SCSI_CLOCK_SPEED 24 ! 167: #define EMULEX_SCSI_CLOCK_SPEED 40 ! 168: ! 169: // ! 170: // PROM entry point definitions. ! 171: // ! 172: // Define base address of prom entry vector and prom entry macro. ! 173: // ! 174: ! 175: #define PROM_BASE (KSEG1_BASE | 0x1fc00000) ! 176: #define PROM_ENTRY(x) (PROM_BASE + ((x) * 8)) ! 177: ! 178: ! 179: #endif // _JAZZDEF_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.