From b95845bf8589d91cd86b0f8fbdad89621a4e80ae Mon Sep 17 00:00:00 2001 From: ReactOS Portable Systems Group Date: Sat, 19 Jul 2008 06:13:10 +0000 Subject: [PATCH] - 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 --- reactos/ntoskrnl/include/internal/arm/ke.h | 3 ++ reactos/ntoskrnl/include/internal/ke.h | 24 +++++++++++++ reactos/ntoskrnl/ke/arm/exp.c | 12 ++----- reactos/ntoskrnl/ke/arm/kiinit.c | 12 ++----- reactos/ntoskrnl/ke/arm/time.c | 2 +- reactos/ntoskrnl/ke/arm/trapc.c | 40 +++++----------------- reactos/ntoskrnl/ke/arm/usercall.c | 2 +- 7 files changed, 42 insertions(+), 53 deletions(-) diff --git a/reactos/ntoskrnl/include/internal/arm/ke.h b/reactos/ntoskrnl/include/internal/arm/ke.h index 603720ee484..5bff00aaef7 100644 --- a/reactos/ntoskrnl/include/internal/arm/ke.h +++ b/reactos/ntoskrnl/include/internal/arm/ke.h @@ -52,4 +52,7 @@ KeFlushTb( #define KeArchInitThreadWithContext KeArmInitThreadWithContext #define KiSystemStartupReal KiSystemStartup +#define KiGetPreviousMode(tf) \ + ((tf->Spsr & CPSR_MODES) == CPSR_USER_MODE) ? UserMode: KernelMode + #endif diff --git a/reactos/ntoskrnl/include/internal/ke.h b/reactos/ntoskrnl/include/internal/ke.h index 81ef21172e2..54a8ff4f771 100644 --- a/reactos/ntoskrnl/include/internal/ke.h +++ b/reactos/ntoskrnl/include/internal/ke.h @@ -984,6 +984,30 @@ KiSaveProcessorControlState( 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" #endif /* __NTOSKRNL_INCLUDE_INTERNAL_KE_H */ diff --git a/reactos/ntoskrnl/ke/arm/exp.c b/reactos/ntoskrnl/ke/arm/exp.c index 724950d3955..1a912631246 100644 --- a/reactos/ntoskrnl/ke/arm/exp.c +++ b/reactos/ntoskrnl/ke/arm/exp.c @@ -9,16 +9,10 @@ /* INCLUDES *******************************************************************/ #include +#include #define NDEBUG #include -/* GLOBALS ********************************************************************/ - -#include -#define KiGetPreviousMode(tf) \ -((tf->Spsr & CPSR_MODES) == CPSR_USER_MODE) ? UserMode: KernelMode - - /* FUNCTIONS ******************************************************************/ VOID @@ -194,7 +188,7 @@ KiDispatchException(IN PEXCEPTION_RECORD ExceptionRecord, Context.ContextFlags = CONTEXT_FULL; // - // FIXME: Fuck floating point + // FIXME-V6: VFP Support // // @@ -290,7 +284,7 @@ KiDispatchException(IN PEXCEPTION_RECORD ExceptionRecord, else { // - // FIXME: User mode + // FIXME-USER: Do user-mode exception handling // ASSERT(FALSE); } diff --git a/reactos/ntoskrnl/ke/arm/kiinit.c b/reactos/ntoskrnl/ke/arm/kiinit.c index 445de65f0a5..9c4db983574 100644 --- a/reactos/ntoskrnl/ke/arm/kiinit.c +++ b/reactos/ntoskrnl/ke/arm/kiinit.c @@ -23,21 +23,13 @@ extern PVOID KiArmVectorTable; /* FUNCTIONS ******************************************************************/ -// -// FIXME: Header cleanup -// -VOID -KiIdleLoop( - VOID -); - VOID DebugService2(IN ULONG Arg1, IN ULONG Arg2, IN ULONG Service) { // - // FIXME: TODO + // FIXME-TODO: Implement this for symbol load and such // return; } @@ -230,7 +222,7 @@ KiInitializeKernel(IN PKPROCESS InitProcess, else { // - // FIXME: No MP Support + // FIXME-V6: See if we want to support MP // DPRINT1("ARM MPCore not supported\n"); } diff --git a/reactos/ntoskrnl/ke/arm/time.c b/reactos/ntoskrnl/ke/arm/time.c index 55a928de546..aee2c7df621 100644 --- a/reactos/ntoskrnl/ke/arm/time.c +++ b/reactos/ntoskrnl/ke/arm/time.c @@ -224,7 +224,7 @@ KeUpdateRunTime(IN PKTRAP_FRAME TrapFrame, Prcb->DpcTime++; // - // FIXME: Handle DPC checks + // FIXME-TODO: Handle DPC checks // } } diff --git a/reactos/ntoskrnl/ke/arm/trapc.c b/reactos/ntoskrnl/ke/arm/trapc.c index a6f30e6dfd7..4e1cef33eb5 100644 --- a/reactos/ntoskrnl/ke/arm/trapc.c +++ b/reactos/ntoskrnl/ke/arm/trapc.c @@ -13,30 +13,6 @@ #define NDEBUG #include -/* 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 ******************************************************************/ VOID @@ -104,7 +80,7 @@ KiIdleLoop(VOID) 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) { // - // FIXME: TODO + // We don't support this yet on x86 either // DPRINT1("WMI Tracing not supported\n"); ASSERT(FALSE); @@ -149,7 +125,7 @@ KiSwapContextInternal(IN PKTHREAD OldThread, NewProcess->DirectoryTableBase.LowPart) { // - // FIXME: TODO + // FIXME-USER: Support address space switch // DPRINT1("Address space switch not implemented\n"); ASSERT(FALSE); @@ -179,7 +155,7 @@ KiSwapContextInternal(IN PKTHREAD OldThread, if (Prcb->DpcRoutineActive) { // - // FIXME: FAIL + // FIXME-TODO: Implement bugcheck code // DPRINT1("DPCS ACTIVE!!!\n"); ASSERT(FALSE); @@ -191,7 +167,7 @@ KiSwapContextInternal(IN PKTHREAD OldThread, if (NewThread->ApcState.KernelApcPending) { // - // FIXME: TODO + // FIXME-TODO: Implement bugcheck code // DPRINT1("APCs pending!\n"); ASSERT(FALSE); @@ -217,7 +193,7 @@ KiApcInterrupt(VOID) PreviousMode = KiGetPreviousMode(TrapFrame); // - // FIXME No use-mode support + // FIXME-USER: Handle APC interrupt while in user-mode // if (PreviousMode == UserMode) ASSERT(FALSE); @@ -372,7 +348,7 @@ KiInterruptHandler(IN PKTRAP_FRAME TrapFrame, if (Irql > DISPATCH_LEVEL) { // - // FIXME: Switch to interrupt stack + // FIXME-TODO: Switch to interrupt stack // //DPRINT1("[ISR]\n"); } @@ -543,7 +519,7 @@ KiSoftwareInterruptHandler(IN PKTRAP_FRAME TrapFrame) Instruction = *(PULONG)(TrapFrame->Pc - sizeof(ULONG)); // - // FIXME: Enable interrupts? + // FIXME-TODO: Enable interrupts? // // diff --git a/reactos/ntoskrnl/ke/arm/usercall.c b/reactos/ntoskrnl/ke/arm/usercall.c index 7a63a7f6938..7b55ae272fb 100644 --- a/reactos/ntoskrnl/ke/arm/usercall.c +++ b/reactos/ntoskrnl/ke/arm/usercall.c @@ -173,7 +173,7 @@ KiSystemService(IN PKTHREAD Thread, if (Thread->PreviousMode == UserMode) { // - // FIXME: Validate the user stack + // FIXME-USER: Validate the user stack // ASSERT(FALSE); Argument = (PVOID*)TrapFrame->UserSp;