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

duoprom.h

Go to the documentation of this file.
00001 /*++ 00002 00003 Copyright (c) 1991 Microsoft Corporation 00004 00005 Module Name: 00006 00007 duoprom.h 00008 00009 Abstract: 00010 00011 This module is the header file that describes physical and virtual 00012 address used by the PROM monitor and boot code. 00013 00014 Author: 00015 00016 Lluis Abello (lluis) 5-Apr-1993 00017 00018 Revision History: 00019 00020 --*/ 00021 00022 #ifndef _DUOPROM_ 00023 #define _DUOPROM_ 00024 00025 // 00026 // Define virtual/physical base address pairs for boot mapping. 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 // Define boot code device virtual addresses. 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 // Define base address and limit of DMA translation table. 00109 // 00110 00111 #define DMA_TRANSLATION_BASE 0xa0001000 // translation table base address 00112 #define DMA_TRANSLATION_LIMIT 0x1000 // translation table limit 00113 00114 // 00115 // Define pointer to DMA control registers. 00116 // 00117 00118 #define DMA_CONTROL ((volatile PDMA_REGISTERS)(DMA_VIRTUAL_BASE)) 00119 00120 // 00121 // Define pointer to interrupt source register. 00122 // 00123 #undef INTERRUPT_SOURCE 00124 #define INTERRUPT_SOURCE (&DMA_CONTROL->LocalInterruptAcknowledge.Long) 00125 00126 00127 // 00128 // Define device interrupt identification values. 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 // Define low memory transfer vector address and TB index address. 00143 // 00144 00145 #define TRANSFER_VECTOR (KSEG1_BASE + 0x400) // exception handler address 00146 00147 // 00148 // Define TLB index to map Flash prom. 00149 // 00150 #define FLASH_PROM_TLB_INDEX 1 00151 00152 #endif // _DUOPROM_

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