Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

duodef.h

Go to the documentation of this file.
00001 /*++ BUILD Version: 0005 // Increment this if a change has global effects 00002 00003 Copyright (c) 1990 Microsoft Corporation 00004 00005 Module Name: 00006 00007 duodef.h 00008 00009 Abstract: 00010 00011 This module is the header file that describes hardware addresses 00012 for the Duo system. 00013 00014 Author: 00015 00016 Lluis Abello (lluis) 7-Apr-1993 00017 00018 Revision History: 00019 00020 --*/ 00021 00022 #ifndef _DUODEF_ 00023 #define _DUODEF_ 00024 00025 // 00026 // Define physical base addresses for system mapping. 00027 // 00028 00029 #define VIDEO_MEMORY_PHYSICAL_BASE 0x40000000 // physical base of video memory 00030 #define VIDEO_CONTROL_PHYSICAL_BASE 0x60000000 // physical base of video control 00031 #define CURSOR_CONTROL_PHYSICAL_BASE 0x60008000 // physical base of cursor control 00032 #define VIDEO_ID_PHYSICAL_BASE 0x60010000 // physical base of video id register 00033 #define VIDEO_RESET_PHYSICAL_BASE 0x60020000 // physical base of reset register 00034 #define DEVICE_PHYSICAL_BASE 0x80000000 // physical base of device space 00035 #define NET_PHYSICAL_BASE 0x80001000 // physical base of ethernet control 00036 #define SCSI1_PHYSICAL_BASE 0x80002000 // physical base of SCSI1 control 00037 #define SCSI2_PHYSICAL_BASE 0x80003000 // physical base of SCSI2 control 00038 #define RTCLOCK_PHYSICAL_BASE 0x80004000 // physical base of realtime clock 00039 #define KEYBOARD_PHYSICAL_BASE 0x80005000 // physical base of keyboard control 00040 #define MOUSE_PHYSICAL_BASE 0x80005000 // physical base of mouse control 00041 #define SERIAL0_PHYSICAL_BASE 0x80006000 // physical base of serial port 0 00042 #define SERIAL1_PHYSICAL_BASE 0x80007000 // physical base of serial port 1 00043 #define PARALLEL_PHYSICAL_BASE 0x80008000 // physical base of parallel port 00044 #define EISA_CONTROL_PHYSICAL_BASE 0x90000000 // physical base of EISA control 00045 #define EISA_MEMORY_PHYSICAL_BASE 0x91000000 // physical base of EISA memory 00046 #define EISA_MEMORY_VERSION2_LOW 0x00000000 // physical base of EISA memory 00047 #define EISA_MEMORY_VERSION2_HIGH 0x00000001 // with version 2 address chip 00048 #define PROM_PHYSICAL_BASE 0xfff00000 // physical base of boot PROM 00049 #define EEPROM_PHYSICAL_BASE 0xfff40000 // physical base of FLASH PROM 00050 00051 // 00052 // Define virtual/physical base addresses for system mapping. 00053 // 00054 00055 #define NVRAM_VIRTUAL_BASE 0xffff8000 // virtual base of nonvolatile RAM 00056 #define NVRAM_PHYSICAL_BASE 0x80009000 // physical base of nonvolatile RAM 00057 00058 #define SP_VIRTUAL_BASE 0xffffa000 // virtual base of serial port 0 00059 #define SP_PHYSICAL_BASE SERIAL0_PHYSICAL_BASE // physical base of serial port 0 00060 00061 #define DMA_VIRTUAL_BASE 0xffffc000 // virtual base of DMA control 00062 #define DMA_PHYSICAL_BASE DEVICE_PHYSICAL_BASE // physical base of DMA control 00063 00064 #define INTERRUPT_VIRTUAL_BASE 0xffffd000 // virtual base of interrupt source 00065 #define INTERRUPT_PHYSICAL_BASE 0x8000f000 // physical base of interrupt source 00066 00067 // 00068 // Define the size of the DMA translation table. 00069 // 00070 #define DMA_TRANSLATION_LIMIT 0x2000 // translation table limit 00071 00072 // 00073 // Define the maximum number of map registers allowed per allocation. 00074 // 00075 00076 #define DMA_REQUEST_LIMIT (DMA_TRANSLATION_LIMIT/(sizeof(TRANSLATION_ENTRY) * 8)) 00077 00078 // 00079 // Define pointer to DMA control registers. 00080 // 00081 00082 #define DMA_CONTROL ((volatile PDMA_REGISTERS)(DMA_VIRTUAL_BASE)) 00083 00084 // 00085 // Define DMA channel interrupt level. 00086 // 00087 00088 #define DMA_LEVEL 3 00089 00090 // 00091 // Define the minimum and maximum system time increment values in 100ns units. 00092 // 00093 00094 #define MAXIMUM_INCREMENT (10 * 1000 * 10) 00095 #define MINIMUM_INCREMENT (1 * 1000 * 10) 00096 00097 // 00098 // Define Duo clock level. 00099 // 00100 00101 #define CLOCK_LEVEL 6 // Interval clock level 00102 #define CLOCK_INTERVAL ((MAXIMUM_INCREMENT / (10 * 1000)) - 1) // Ms minus 1 00103 #define CLOCK2_LEVEL CLOCK_LEVEL // 00104 00105 // 00106 // Define EISA device level. 00107 // 00108 00109 #define EISA_DEVICE_LEVEL 5 // EISA bus interrupt level 00110 00111 // 00112 // Define EISA device interrupt vectors. 00113 // 00114 00115 #define EISA_VECTORS 32 00116 00117 #define IRQL10_VECTOR (10 + EISA_VECTORS) // Eisa interrupt request level 10 00118 #define IRQL11_VECTOR (11 + EISA_VECTORS) // Eisa interrupt request level 11 00119 #define IRQL12_VECTOR (12 + EISA_VECTORS) // Eisa interrupt request level 12 00120 #define IRQL13_VECTOR (13 + EISA_VECTORS) // Eisa interrupt request level 13 00121 00122 #define MAXIMUM_EISA_VECTOR (15 + EISA_VECTORS) // maximum EISA vector 00123 00124 // 00125 // Define I/O device interrupt level. 00126 // 00127 00128 #define DEVICE_LEVEL 4 // I/O device interrupt level 00129 00130 // 00131 // Define device interrupt vectors. 00132 // 00133 00134 #define DEVICE_VECTORS 16 // starting builtin device vector 00135 00136 #define PARALLEL_VECTOR (1 + DEVICE_VECTORS) // Parallel device interrupt vector 00137 #define VIDEO_VECTOR (3 + DEVICE_VECTORS) // video device interrupt vector 00138 #define NET_VECTOR (4 + DEVICE_VECTORS) // ethernet device interrupt vector 00139 #define SCSI1_VECTOR (5 + DEVICE_VECTORS) // SCSI device interrupt vector 00140 #define SCSI2_VECTOR (6 + DEVICE_VECTORS) // SCSI device interrupt vector 00141 #define KEYBOARD_VECTOR (7 + DEVICE_VECTORS) // Keyboard device interrupt vector 00142 #define MOUSE_VECTOR (8 + DEVICE_VECTORS) // Mouse device interrupt vector 00143 #define SERIAL0_VECTOR (9 + DEVICE_VECTORS) // Serial device 0 interrupt vector 00144 #define SERIAL1_VECTOR (10 + DEVICE_VECTORS) // Serial device 1 interrupt vector 00145 00146 #define MAXIMUM_BUILTIN_VECTOR SERIAL1_VECTOR // maximum builtin vector 00147 00148 // 00149 // Define the clock speed in megahetz for the SCSI protocol chips. 00150 // 00151 00152 #define NCR_SCSI_CLOCK_SPEED 24 00153 00154 // 00155 // PROM entry point definitions. 00156 // 00157 // Define base address of prom entry vector and prom entry macro. 00158 // 00159 00160 #define PROM_BASE (KSEG1_BASE | 0x1fc00000) 00161 #define PROM_ENTRY(x) (PROM_BASE + ((x) * 8)) 00162 00163 #endif // _DUODEF_

Generated on Sat May 15 19:39:47 2004 for test by doxygen 1.3.7