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

ppcdef.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 ppcdef.h 00008 00009 Abstract: 00010 00011 This module is the header file that describes hardware addresses 00012 for a Power PC system. 00013 00014 Author: 00015 00016 David N. Cutler (davec) 26-Nov-1990 00017 00018 Revision History: 00019 00020 Jim Wooldridge (jimw@austin.vnet.ibm.com) PowerPC port 00021 00022 --*/ 00023 00024 00025 #ifndef _PPCDEF_ 00026 #define _PPCDEF_ 00027 00028 // 00029 // Define physical base addresses for system mapping. 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 // Define the size of the DMA translation table. 00051 // 00052 00053 #define DMA_TRANSLATION_LIMIT 0x1000 // translation table limit 00054 00055 // 00056 // DMA channel assignments 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 // Define system time increment value. 00068 // 00069 00070 #define MAXIMUM_INCREMENT 100000 // 10ms. 00071 #define MINIMUM_INCREMENT 10000 // 1ms. 00072 00073 00074 // begin_ntddk begin_nthal 00075 // 00076 // Interrupt Request Level definitions 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 // end_ntddk 00091 00092 // 00093 // Define PPC interrupt levels IRQL's 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 // Define kernel dispatch vectors 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 // Define device interrupt vectors. 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 // Define translation table entry structure. 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 

Generated on Sat May 15 19:41:25 2004 for test by doxygen 1.3.7