Annotation of ntddk/inc/jazzdef.h, revision 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.