00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
#ifndef _PPCDEF_
00026
#define _PPCDEF_
00027
00028
00029
00030
00031
00032 #define VIDEO_MEMORY_PHYSICAL_BASE 0x000A0000 // physical base of video memory
00033 #define VIDEO_CONTROL_PHYSICAL_BASE 0x00000000 // physical base of video control
00034 #define CURSOR_CONTROL_PHYSICAL_BASE 0x00000000 // physical base of cursor control
00035 #define SCSI_PHYSICAL_BASE 0x00000000 // physical base os SCSI control
00036 #define FLOPPY_PHYSICAL_BASE 0x000003F0 // physical base of floppy control
00037 #define RTCLOCK_PHYSICAL_BASE 0x00000071 // physical base of realtime clock
00038 #define KEYBOARD_PHYSICAL_BASE 0x00000060 // physical base of keyboard control
00039 #define MOUSE_PHYSICAL_BASE 0x00000060 // physical base of mouse control
00040 #define SERIAL0_PHYSICAL_BASE 0x000003f8 // physical base of serial port 0
00041 #define SERIAL1_PHYSICAL_BASE 0x000002f8 // physical base of serial port 1
00042 #define PARALLEL_PHYSICAL_BASE 0x000003bc // physical base of parallel port
00043 #define NVRAM_PHYSICAL_BASE 0x00000074 // physical base of nonvolatile RAM
00044 #define SOUND_PHYSICAL_BASE 0x00000830 // physical base of sound control
00045
00046
00047 #define PCI_MEMORY_PHYSICAL_BASE 0xC0000000 // physical base of PCI Memory space
00048
00049
00050
00051
00052
00053 #define DMA_TRANSLATION_LIMIT 0x1000 // translation table limit
00054
00055
00056
00057
00058
00059 #define FLOPPY_CHANNEL 0x2 // Floppy DMA channel
00060 #define CASCADE_CHANNEL 0x4 //
00061 #define AUDIO_PLAYBACK 0x6 // Sound playback data
00062 #define AUDIO_CAPTURE 0x7 // Sound Capture Data
00063
00064
00065
00066
00067
00068
00069
00070 #define MAXIMUM_INCREMENT 100000 // 10ms.
00071 #define MINIMUM_INCREMENT 10000 // 1ms.
00072
00073
00074
00075
00076
00077
00078
00079 #define PASSIVE_LEVEL 0 // Passive release level
00080 #define LOW_LEVEL 0 // Lowest interrupt level
00081 #define APC_LEVEL 1 // APC interrupt level
00082 #define DISPATCH_LEVEL 2 // Dispatcher level
00083
00084 #define PROFILE_LEVEL 27 // timer used for profiling.
00085 #define CLOCK1_LEVEL 28 // Interval clock 1 level - Not used on x86
00086 #define CLOCK2_LEVEL 28 // Interval clock 2 level
00087 #define IPI_LEVEL 29 // Interprocessor interrupt level
00088 #define POWER_LEVEL 30 // Power failure level
00089 #define HIGH_LEVEL 31 // Highest interrupt level
00090
00091
00092
00093
00094
00095
00096 #define MAXIMUM_DEVICE_LEVEL 27
00097 #define DECREMENTER_LEVEL CLOCK2_LEVEL
00098 #define MACHINE_CHECK_LEVEL HIGH_LEVEL
00099
00100
00101
00102
00103
00104
00105 #define PMI_VECTOR 3
00106 #define MACHINE_CHECK_VECTOR 4
00107 #define EXTERNAL_INTERRUPT_VECTOR 5
00108 #define DECREMENT_VECTOR 7
00109
00110
00111
00112
00113
00114
00115 #define DEVICE_VECTORS 32
00116
00117 #define PROFILE_VECTOR (0 + DEVICE_VECTORS)
00118
00119
00120 #define TIMER_VECTOR 0
00121 #define KEYBOARD_VECTOR 1 // Keyboard device interrupt vector
00122 #define CASCADE_VECTOR 2 // Cascade interrupt vector
00123 #define SERIAL1_VECTOR 3 // Serial device 2 interrupt vector
00124 #define SERIAL0_VECTOR 4 // Serial device 1 interrupt vector
00125 #define PARALLEL_VECTOR 5 // Parallel device interrupt vector
00126 #define FLOPPY_VECTOR 6 // Floppy device interrupt vector
00127 #define PARALLEL2_VECTOR 7 // Parallel device 2 interrupt vector
00128 #define SHORT_INT_VECTOR 7 // Default for short interrupts
00129 #define RTC_VECTOR 8 // Real time clock interrupt vector
00130 #define ISA_IRQ9_VECTOR 9 // ISA vector
00131 #define SOUND_VECTOR 10 // Sound device interrupt vector
00132 #define ISA_IRQ11_VECTOR 11 // ISA vector
00133 #define MOUSE_VECTOR 12 // Mouse device interrupt vector
00134 #define SCSI_VECTOR 13 // SCSI device interrupt vector
00135 #define ISA_IRQ14_VECTOR 14 // ISA vector
00136 #define PCI_VECTOR 15 // PCI interrupt vector
00137
00138 #define MAXIMUM_DEVICE_VECTOR (15 + DEVICE_VECTORS) // maximum SIO vector
00139
00140
00141
00142
00143
00144
00145
00146
typedef struct _TRANSLATION_ENTRY {
00147 PVOID
VirtualAddress;
00148 ULONG
PhysicalAddress;
00149 ULONG
Index;
00150 }
TRANSLATION_ENTRY, *
PTRANSLATION_ENTRY;
00151
00152
00153
#endif // _PPCDEF_
00154