Synchronize with trunk's revision r57652.
[reactos.git] / ntoskrnl / ke / powerpc / stubs.c
1 /*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: ntoskrnl/vdm/vdmmain.c
5 * PURPOSE: VDM Support Services
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
7 */
8
9 /* INCLUDES ******************************************************************/
10
11 #include <ntoskrnl.h>
12 #define NDEBUG
13 #include <debug.h>
14 #include <ppcmmu/mmu.h>
15
16 NTSTATUS
17 NTAPI
18 NtVdmControl(IN ULONG ControlCode,
19 IN PVOID ControlData)
20 {
21 return STATUS_UNSUCCESSFUL;
22 }
23
24 NTSTATUS
25 NTAPI
26 Ke386CallBios(IN ULONG Int,
27 OUT PCONTEXT Context)
28 {
29 return STATUS_UNSUCCESSFUL;
30 }
31
32 VOID
33 NTAPI
34 KiUnexpectedInterrupt()
35 {
36 }
37
38 LONG NTAPI Exi386InterlockedDecrementLong(PLONG Addend)
39 {
40 return _InterlockedDecrement(Addend);
41 }
42
43 LONG NTAPI Exi386InterlockedIncrementLong(PLONG Addend)
44 {
45 return _InterlockedIncrement(Addend);
46 }
47
48 LONG NTAPI Exi386InterlockedExchangeUlong(PLONG Target, LONG Exch, LONG Compare)
49 {
50 return _InterlockedCompareExchange(Target, Exch, Compare);
51 }
52
53 /*
54 * @unimplemented
55 */
56 NTSTATUS
57 NTAPI
58 KeI386FlatToGdtSelector(IN ULONG Base,
59 IN USHORT Length,
60 IN USHORT Selector)
61 {
62 UNIMPLEMENTED;
63 return 0;
64 }
65
66 /*
67 * @unimplemented
68 */
69 NTSTATUS
70 NTAPI
71 KeI386ReleaseGdtSelectors(OUT PULONG SelArray,
72 IN ULONG NumOfSelectors)
73 {
74 UNIMPLEMENTED;
75 return 0;
76 }
77
78 /*
79 * @unimplemented
80 */
81 NTSTATUS
82 NTAPI
83 KeI386AllocateGdtSelectors(OUT PULONG SelArray,
84 IN ULONG NumOfSelectors)
85 {
86 UNIMPLEMENTED;
87 return 0;
88 }
89
90 VOID
91 NTAPI
92 KeDumpStackFrames(PULONG Frame)
93 {
94 }
95
96 LONG
97 NTAPI
98 Kei386EoiHelper() { return 0; }
99
100 NTSTATUS
101 NTAPI
102 KeUserModeCallback(IN ULONG RoutineIndex,
103 IN PVOID Argument,
104 IN ULONG ArgumentLength,
105 OUT PVOID *Result,
106 OUT PULONG ResultLength)
107 {
108 return STATUS_UNSUCCESSFUL;
109 }
110
111 VOID
112 NTAPI
113 KiCoprocessorError() { }
114
115 VOID
116 NTAPI
117 KiDispatchInterrupt() { }
118
119 VOID
120 NTAPI
121 KiInitializeUserApc(IN PKEXCEPTION_FRAME ExceptionFrame,
122 IN PKTRAP_FRAME TrapFrame,
123 IN PKNORMAL_ROUTINE NormalRoutine,
124 IN PVOID NormalContext,
125 IN PVOID SystemArgument1,
126 IN PVOID SystemArgument2)
127 {
128 }
129
130 PVOID
131 NTAPI
132 KeSwitchKernelStack(PVOID StackBase, PVOID StackLimit)
133 {
134 return NULL;
135 }
136
137 VOID
138 NTAPI
139 KiSwapProcess(struct _KPROCESS *NewProcess, struct _KPROCESS *OldProcess)
140 {
141 PEPROCESS EProcess = (PEPROCESS)NewProcess;
142 MmuSetVsid(0, 8, EProcess ? (ULONG)EProcess->UniqueProcessId : 0);
143 }
144
145 BOOLEAN
146 NTAPI
147 KiSwapContext(PKTHREAD CurrentThread, PKTHREAD NewThread)
148 {
149 KeGetPcr()->Prcb->NextThread = NewThread;
150 __asm__("mtdec %0" : : "r" (1));
151 return TRUE;
152 }
153
154 NTSTATUS
155 NTAPI
156 Mmi386ReleaseMmInfo(PEPROCESS Process)
157 {
158 return STATUS_UNSUCCESSFUL;
159 }
160
161 VOID
162 NTAPI
163 KeI386VdmInitialize(VOID)
164 {
165 }
166
167 NTSYSAPI
168 NTSTATUS
169 NTAPI
170 NtCallbackReturn
171 ( IN PVOID Result OPTIONAL, IN ULONG ResultLength, IN NTSTATUS Status )
172 {
173 return STATUS_UNSUCCESSFUL;
174 }
175
176 NTSYSAPI
177 NTSTATUS
178 NTAPI
179 NtContinue
180 (IN PCONTEXT ThreadContext, IN BOOLEAN RaiseAlert)
181 {
182 return STATUS_UNSUCCESSFUL;
183 }
184
185 NTSYSAPI
186 ULONG
187 NTAPI
188 NtGetTickCount() { return __rdtsc(); }
189
190 NTSTATUS
191 NTAPI
192 NtSetLdtEntries
193 (ULONG Selector1, LDT_ENTRY LdtEntry1, ULONG Selector2, LDT_ENTRY LdtEntry2)
194 {
195 return STATUS_UNSUCCESSFUL;
196 }
197
198 NTSYSAPI
199 NTSTATUS
200 NTAPI
201 NtRaiseException
202 (IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT ThreadContext, IN BOOLEAN HandleException )
203 {
204 return STATUS_UNSUCCESSFUL;
205 }
206
207 void _alldiv() { }
208
209 void _alldvrm() { }
210
211 void _allmul() { }
212
213 void _alloca_probe() { }
214
215 void _allrem() { }
216
217 void _allshl() { }
218
219 void _allshr() { }
220
221 void _aulldiv() { }
222
223 void _aulldvrm() { }
224
225 void _aullrem() { }
226
227 void _aullshr() { }
228
229 void _abnormal_termination() { }