00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
#ifndef _DUOPROM_
00023 
#define _DUOPROM_
00024 
00025 
00026 
00027 
00028 
00029 #define DEVICE_VIRTUAL_BASE 0xe0000000  // virtual base of device space
00030 #define DEVICE_PHYSICAL_BASE 0x80000000 // physical base of device space
00031 
00032 #define VIDEO_CONTROL_VIRTUAL_BASE 0xe0200000 // virtual base of video control
00033 #define VIDEO_CONTROL_PHYSICAL_BASE 0x60000000 // physical base of video control
00034 
00035 #define EXTENDED_VIDEO_CONTROL_VIRTUAL_BASE 0xe0400000 // virtual base of extended video control
00036 #define EXTENDED_VIDEO_CONTROL_PHYSICAL_BASE 0x60200000 // physical base of extended video control
00037 
00038 #define VIDEO_MEMORY_VIRTUAL_BASE 0xe0800000 // virtual base of video memory
00039 #define VIDEO_MEMORY_PHYSICAL_BASE 0x40000000 // physical base of video memory
00040 
00041 #define PROM_VIRTUAL_BASE 0xe1000000    // virtual base of boot PROM
00042 #define PROM_PHYSICAL_BASE 0xfff00000   // physical base of boot PROM
00043 
00044 #define EEPROM_VIRTUAL_BASE PROM_VIRTUAL_BASE+0x40000  // virtual base of boot PROM
00045 #define EEPROM_PHYSICAL_BASE 0xfff40000   // physical base of boot PROM
00046 
00047 #define EISA_IO_VIRTUAL_BASE 0xe2000000 // virtual base of EISA I/O
00048 #define EISA_EXTERNAL_IO_VIRTUAL_BASE 0xe4000000 // virtual base of EISA I/O
00049 #define EISA_IO_PHYSICAL_BASE 0x90000000 // physical base of EISA I/O
00050 
00051 #define EISA_MEMORY_VIRTUAL_BASE 0xe3000000 // virtual base of EISA memory
00052 #define EISA_MEMORY_PHYSICAL_BASE 0x91000000 // physical base of EISA memory
00053 
00054 #define PCR_VIRTUAL_BASE KiPcr          // virtual address of PCR
00055 #define PCR_PHYSICAL_BASE 0x7ff000      // physical address of PCR
00056 
00057 
#undef SP_PHYSICAL_BASE
00058 #define SP_VIRTUAL_BASE 0xffffa000      // virtual base of serial port
00059 #define SP_PHYSICAL_BASE 0x80006000     // physical base of serial port
00060 
00061 
00062 
00063 
00064 
00065 
#undef DMA_VIRTUAL_BASE
00066 #define DMA_VIRTUAL_BASE 0xe0000000     // virtual base of DMA control
00067 
00068 #define NET_VIRTUAL_BASE 0xe0001000     // virtual base of ethernet control
00069 
00070 #define SCSI1_VIRTUAL_BASE 0xe0002000    // virtual base os SCSI control
00071 
00072 #define SCSI2_VIRTUAL_BASE 0xe0003000  // virtual base of floppy control
00073 
00074 #define RTC_VIRTUAL_BASE 0xe0004000     // virtual base of realtime clock
00075 
00076 #define KEYBOARD_VIRTUAL_BASE 0xe0005000 // virtual base of keyboard control
00077 
00078 #define COMPORT1_VIRTUAL_BASE 0xe0006000 // virtual base of comport 1 control
00079 
00080 #define COMPORT2_VIRTUAL_BASE 0xe0007000 // virtual base of comport 2 control
00081 
00082 #define PARALLEL_VIRTUAL_BASE 0xe0008000 // virtual base of parallel control
00083 
00084 #define NVRAM_VIRTUAL_BASE 0xe0009000    // virtual base of NVRAM
00085 
00086 #define FLASH_ENABLE_VIRTUAL_BASE 0xe000d000 // virtual base of FLASH EEPROM control
00087 
00088 #define DIAGNOSTIC_VIRTUAL_BASE 0xe000e000 // virtual base of diagnostic control
00089 
00090 #define INTERRUPT_VIRTUAL_BASE 0xe000f000  // virtual base of interrupt enable
00091 
00092 #define VIDEO_CURSOR_VIRTUAL_BASE 0xe0208000 // virtual base of cursor control
00093 
00094 #define VIDEO_ID_VIRTUAL_BASE 0xe0210000 // virtual base of video id register
00095 
00096 #define VIDEO_RESET_VIRTUAL_BASE 0xe0220000 // virtual base of reset register
00097 
00098 #define EXCLUSIVE_PAGE_VIRTUAL_BASE 0xc0000000 // virtual base of exclusive page
00099 
00100 #define SHARED_PAGE_VIRTUAL_BASE 0xc0001000    // virtual base of shared page
00101 
00102 #define EXCLUSIVE_PAGE_PHYSICAL_BASE 0x800000  // physical base of exclusive page
00103 
00104 #define SHARED_PAGE_PHYSICAL_BASE    0x801000  // physical base of shared page
00105 
00106 
00107 
00108 
00109 
00110 
00111 #define DMA_TRANSLATION_BASE 0xa0001000 // translation table base address
00112 #define DMA_TRANSLATION_LIMIT 0x1000    // translation table limit
00113 
00114 
00115 
00116 
00117 
00118 #define DMA_CONTROL ((volatile PDMA_REGISTERS)(DMA_VIRTUAL_BASE))
00119 
00120 
00121 
00122 
00123 
#undef INTERRUPT_SOURCE
00124 #define INTERRUPT_SOURCE (&DMA_CONTROL->LocalInterruptAcknowledge.Long)
00125 
00126 
00127 
00128 
00129 
00130 
00131 #define PARALLEL_DEVICE 0x4         // Parallel port device interrupt id
00132 #define VIDEO_DEVICE 0xC            // Video device interrupt id
00133 #define ETHERNET_DEVICE 0x10        // Ethernet device interrupt id
00134 #define SCSI1_DEVICE 0x14           // SCSI device interrupt id
00135 #define SCSI2_DEVICE 0x18           // SCSI device interrupt id
00136 #define KEYBOARD_DEVICE 0x1C        // Keyboard device interrupt id
00137 #define MOUSE_DEVICE 0x20           // Mouse device interrupt id
00138 #define SERIAL0_DEVICE 0x24         // Serial port 0 device interrupt id
00139 #define SERIAL1_DEVICE 0x28         // Serial port 1 device interrupt id
00140 
00141 
00142 
00143 
00144 
00145 #define TRANSFER_VECTOR (KSEG1_BASE + 0x400) // exception handler address
00146 
00147 
00148 
00149 
00150 #define FLASH_PROM_TLB_INDEX 1
00151 
00152 
#endif // _DUOPROM_