ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ksarm.h
Go to the documentation of this file.
00001 /*
00002  * PROJECT:         ReactOS Kernel
00003  * LICENSE:         BSD - See COPYING.ARM in the top level directory
00004  * FILE:            ntoskrnl/include/internal/arm/ksarm.h
00005  * PURPOSE:         Definitions and offsets for ARM Assembly and C code
00006  * PROGRAMMERS:     ReactOS Portable Systems Group
00007  */
00008 
00009 #ifdef _ASM_
00010 
00011 /*
00012  * CPSR Values
00013  */
00014 .equ CPSR_THUMB_ENABLE,    0x20   
00015 .equ CPSR_FIQ_DISABLE,     0x40
00016 .equ CPSR_IRQ_DISABLE,     0x80
00017 .equ CPSR_USER_MODE,       0x10
00018 .equ CPSR_FIQ_MODE,        0x11
00019 .equ CPSR_IRQ_MODE,        0x12
00020 .equ CPSR_SVC_MODE,        0x13
00021 .equ CPSR_ABORT_MODE,      0x17
00022 .equ CPSR_UND_MODE,        0x1B
00023 .equ CPSR_MODES,           0x1F
00024 
00025 
00026 /*
00027  * C1 Register Values
00028  */
00029 .equ C1_MMU_CONTROL,       0x01
00030 .equ C1_ALIGNMENT_CONTROL, 0x02
00031 .equ C1_DCACHE_CONTROL,    0x04
00032 .equ C1_ICACHE_CONTROL,    0x1000
00033 .equ C1_VECTOR_CONTROL,    0x2000
00034 
00035 /*
00036  * Loader Parameter Block Offsets
00037  */
00038 .equ LpbKernelStack,       0x18
00039 .equ LpbPanicStack,        0x74
00040 .equ LpbInterruptStack,    0x5C
00041 
00042 /*
00043  * Trap Frame offsets
00044  */
00045 .equ TrDbgArgMark,         0x00
00046 .equ TrR0,                 0x04
00047 .equ TrR1,                 0x08
00048 .equ TrR2,                 0x0C
00049 .equ TrR3,                 0x10
00050 .equ TrR4,                 0x14
00051 .equ TrR5,                 0x18
00052 .equ TrR6,                 0x1C
00053 .equ TrR7,                 0x20
00054 .equ TrR8,                 0x24
00055 .equ TrR9,                 0x28
00056 .equ TrR10,                0x2C
00057 .equ TrR11,                0x30
00058 .equ TrR12,                0x34
00059 .equ TrUserSp,             0x38
00060 .equ TrUserLr,             0x3C
00061 .equ TrSvcSp,              0x40
00062 .equ TrSvcLr,              0x44
00063 .equ TrPc,                 0x48
00064 .equ TrSpsr,               0x4C
00065 .equ TrapFrameLength,      (23 * 0x04)
00066 
00067 /*
00068  * Exception Frame offsets
00069  */
00070 .equ ExR4,                 0x00
00071 .equ ExR5,                 0x04
00072 .equ ExR6,                 0x08
00073 .equ ExR7,                 0x0C
00074 .equ ExR8,                 0x10
00075 .equ ExR9,                 0x14
00076 .equ ExR10,                0x18
00077 .equ ExR11,                0x1C
00078 .equ ExLr,                 0x20
00079 .equ ExSpsr,               0x24
00080 .equ ExceptionFrameLength, (10 * 0x04)
00081 
00082 /*
00083  * PCR
00084  */
00085 .equ KiPcr,                0xFFFFF000
00086 
00087 /*
00088  * PCR Offsets
00089  */
00090 .equ PcCurrentIrql,        0x14C
00091 
00092 /*
00093  * KTHREAD Offsets
00094  */
00095 .equ ThKernelStack,        0x20
00096 
00097 /*
00098  * CONTEXT Offsets
00099  */
00100 .equ CONTEXT_FULL,         0x43
00101 .equ CsContextFlags,       0x00
00102 .equ CsR0,                 0x04
00103 .equ CsR1,                 0x08
00104 .equ CsR2,                 0x0C
00105 .equ CsR3,                 0x10
00106 .equ CsR4,                 0x14
00107 .equ CsR5,                 0x18
00108 .equ CsR6,                 0x1C
00109 .equ CsR7,                 0x20
00110 .equ CsR8,                 0x24
00111 .equ CsR9,                 0x28
00112 .equ CsR10,                0x2C
00113 .equ CsR11,                0x30
00114 .equ CsR12,                0x34
00115 .equ CsSp,                 0x38
00116 .equ CsLr,                 0x3C
00117 .equ CsPc,                 0x40
00118 .equ CsPsr,                0x44
00119 
00120 /*
00121  * DebugService Control Types
00122  */
00123 .equ BREAKPOINT_BREAK,          0
00124 .equ BREAKPOINT_PRINT,          1
00125 .equ BREAKPOINT_PROMPT,         2
00126 .equ BREAKPOINT_LOAD_SYMBOLS,   3
00127 .equ BREAKPOINT_UNLOAD_SYMBOLS, 4
00128 .equ BREAKPOINT_COMMAND_STRING, 5
00129 
00130 #else
00131 
00132 /*
00133  * CPSR Values
00134  */
00135 #define CPSR_THUMB_ENABLE    0x20   
00136 #define CPSR_FIQ_DISABLE     0x40
00137 #define CPSR_IRQ_DISABLE     0x80
00138 #define CPSR_USER_MODE       0x10
00139 #define CPSR_FIQ_MODE        0x11
00140 #define CPSR_IRQ_MODE        0x12
00141 #define CPSR_SVC_MODE        0x13
00142 #define CPSR_ABORT_MODE      0x17
00143 #define CPSR_UND_MODE        0x1B
00144 #define CPSR_MODES           0x1F
00145 
00146 #endif

Generated on Sun May 27 2012 04:37:12 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.