Annotation of ntddk/inc/jazzdef.h, revision 1.1.1.1

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_

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.