- Cleanup some stray header issues for ARM.

- Separate kernel FIXMEs into clearer groupings:
  - TODO FIXMEs are highest priority, as they are missing required functionality.
  - USER FIXMEs are the next highest priority, since they will be required for user mode support.
  - V6 FIXMEs and future groupings are lowest priority, since they relate to hardware support we don't care about for now.


svn path=/trunk/; revision=34583
This commit is contained in:
ReactOS Portable Systems Group 2008-07-19 06:13:10 +00:00
parent 7272eb9108
commit b95845bf85
7 changed files with 42 additions and 53 deletions

View file

@ -52,4 +52,7 @@ KeFlushTb(
#define KeArchInitThreadWithContext KeArmInitThreadWithContext #define KeArchInitThreadWithContext KeArmInitThreadWithContext
#define KiSystemStartupReal KiSystemStartup #define KiSystemStartupReal KiSystemStartup
#define KiGetPreviousMode(tf) \
((tf->Spsr & CPSR_MODES) == CPSR_USER_MODE) ? UserMode: KernelMode
#endif #endif

View file

@ -984,6 +984,30 @@ KiSaveProcessorControlState(
OUT PKPROCESSOR_STATE ProcessorState OUT PKPROCESSOR_STATE ProcessorState
); );
VOID
FASTCALL
KiRetireDpcList(
IN PKPRCB Prcb
);
VOID
FASTCALL
KiQuantumEnd(
VOID
);
VOID
KiSystemService(
IN PKTHREAD Thread,
IN PKTRAP_FRAME TrapFrame,
IN ULONG Instruction
);
VOID
KiIdleLoop(
VOID
);
#include "ke_x.h" #include "ke_x.h"
#endif /* __NTOSKRNL_INCLUDE_INTERNAL_KE_H */ #endif /* __NTOSKRNL_INCLUDE_INTERNAL_KE_H */

View file

@ -9,16 +9,10 @@
/* INCLUDES *******************************************************************/ /* INCLUDES *******************************************************************/
#include <ntoskrnl.h> #include <ntoskrnl.h>
#include <internal/arm/ksarm.h>
#define NDEBUG #define NDEBUG
#include <debug.h> #include <debug.h>
/* GLOBALS ********************************************************************/
#include <internal/arm/ksarm.h>
#define KiGetPreviousMode(tf) \
((tf->Spsr & CPSR_MODES) == CPSR_USER_MODE) ? UserMode: KernelMode
/* FUNCTIONS ******************************************************************/ /* FUNCTIONS ******************************************************************/
VOID VOID
@ -194,7 +188,7 @@ KiDispatchException(IN PEXCEPTION_RECORD ExceptionRecord,
Context.ContextFlags = CONTEXT_FULL; Context.ContextFlags = CONTEXT_FULL;
// //
// FIXME: Fuck floating point // FIXME-V6: VFP Support
// //
// //
@ -290,7 +284,7 @@ KiDispatchException(IN PEXCEPTION_RECORD ExceptionRecord,
else else
{ {
// //
// FIXME: User mode // FIXME-USER: Do user-mode exception handling
// //
ASSERT(FALSE); ASSERT(FALSE);
} }

View file

@ -23,21 +23,13 @@ extern PVOID KiArmVectorTable;
/* FUNCTIONS ******************************************************************/ /* FUNCTIONS ******************************************************************/
//
// FIXME: Header cleanup
//
VOID
KiIdleLoop(
VOID
);
VOID VOID
DebugService2(IN ULONG Arg1, DebugService2(IN ULONG Arg1,
IN ULONG Arg2, IN ULONG Arg2,
IN ULONG Service) IN ULONG Service)
{ {
// //
// FIXME: TODO // FIXME-TODO: Implement this for symbol load and such
// //
return; return;
} }
@ -230,7 +222,7 @@ KiInitializeKernel(IN PKPROCESS InitProcess,
else else
{ {
// //
// FIXME: No MP Support // FIXME-V6: See if we want to support MP
// //
DPRINT1("ARM MPCore not supported\n"); DPRINT1("ARM MPCore not supported\n");
} }

View file

@ -224,7 +224,7 @@ KeUpdateRunTime(IN PKTRAP_FRAME TrapFrame,
Prcb->DpcTime++; Prcb->DpcTime++;
// //
// FIXME: Handle DPC checks // FIXME-TODO: Handle DPC checks
// //
} }
} }

View file

@ -13,30 +13,6 @@
#define NDEBUG #define NDEBUG
#include <debug.h> #include <debug.h>
/* GLOBALS ********************************************************************/
#define KiGetPreviousMode(tf) \
((tf->Spsr & CPSR_MODES) == CPSR_USER_MODE) ? UserMode: KernelMode
VOID
FASTCALL
KiRetireDpcList(
IN PKPRCB Prcb
);
VOID
FASTCALL
KiQuantumEnd(
VOID
);
VOID
KiSystemService(
IN PKTHREAD Thread,
IN PKTRAP_FRAME TrapFrame,
IN ULONG Instruction
);
/* FUNCTIONS ******************************************************************/ /* FUNCTIONS ******************************************************************/
VOID VOID
@ -104,7 +80,7 @@ KiIdleLoop(VOID)
else else
{ {
// //
// FIXME: Wait-For-Interrupt ARM Opcode // FIXME-TODO: Wait-For-Interrupt ARM Opcode
// //
} }
} }
@ -129,7 +105,7 @@ KiSwapContextInternal(IN PKTHREAD OldThread,
if (Pcr->PerfGlobalGroupMask) if (Pcr->PerfGlobalGroupMask)
{ {
// //
// FIXME: TODO // We don't support this yet on x86 either
// //
DPRINT1("WMI Tracing not supported\n"); DPRINT1("WMI Tracing not supported\n");
ASSERT(FALSE); ASSERT(FALSE);
@ -149,7 +125,7 @@ KiSwapContextInternal(IN PKTHREAD OldThread,
NewProcess->DirectoryTableBase.LowPart) NewProcess->DirectoryTableBase.LowPart)
{ {
// //
// FIXME: TODO // FIXME-USER: Support address space switch
// //
DPRINT1("Address space switch not implemented\n"); DPRINT1("Address space switch not implemented\n");
ASSERT(FALSE); ASSERT(FALSE);
@ -179,7 +155,7 @@ KiSwapContextInternal(IN PKTHREAD OldThread,
if (Prcb->DpcRoutineActive) if (Prcb->DpcRoutineActive)
{ {
// //
// FIXME: FAIL // FIXME-TODO: Implement bugcheck code
// //
DPRINT1("DPCS ACTIVE!!!\n"); DPRINT1("DPCS ACTIVE!!!\n");
ASSERT(FALSE); ASSERT(FALSE);
@ -191,7 +167,7 @@ KiSwapContextInternal(IN PKTHREAD OldThread,
if (NewThread->ApcState.KernelApcPending) if (NewThread->ApcState.KernelApcPending)
{ {
// //
// FIXME: TODO // FIXME-TODO: Implement bugcheck code
// //
DPRINT1("APCs pending!\n"); DPRINT1("APCs pending!\n");
ASSERT(FALSE); ASSERT(FALSE);
@ -217,7 +193,7 @@ KiApcInterrupt(VOID)
PreviousMode = KiGetPreviousMode(TrapFrame); PreviousMode = KiGetPreviousMode(TrapFrame);
// //
// FIXME No use-mode support // FIXME-USER: Handle APC interrupt while in user-mode
// //
if (PreviousMode == UserMode) ASSERT(FALSE); if (PreviousMode == UserMode) ASSERT(FALSE);
@ -372,7 +348,7 @@ KiInterruptHandler(IN PKTRAP_FRAME TrapFrame,
if (Irql > DISPATCH_LEVEL) if (Irql > DISPATCH_LEVEL)
{ {
// //
// FIXME: Switch to interrupt stack // FIXME-TODO: Switch to interrupt stack
// //
//DPRINT1("[ISR]\n"); //DPRINT1("[ISR]\n");
} }
@ -543,7 +519,7 @@ KiSoftwareInterruptHandler(IN PKTRAP_FRAME TrapFrame)
Instruction = *(PULONG)(TrapFrame->Pc - sizeof(ULONG)); Instruction = *(PULONG)(TrapFrame->Pc - sizeof(ULONG));
// //
// FIXME: Enable interrupts? // FIXME-TODO: Enable interrupts?
// //
// //

View file

@ -173,7 +173,7 @@ KiSystemService(IN PKTHREAD Thread,
if (Thread->PreviousMode == UserMode) if (Thread->PreviousMode == UserMode)
{ {
// //
// FIXME: Validate the user stack // FIXME-USER: Validate the user stack
// //
ASSERT(FALSE); ASSERT(FALSE);
Argument = (PVOID*)TrapFrame->UserSp; Argument = (PVOID*)TrapFrame->UserSp;