mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 00:45:24 +00:00
- 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:
parent
7272eb9108
commit
b95845bf85
7 changed files with 42 additions and 53 deletions
|
@ -52,4 +52,7 @@ KeFlushTb(
|
|||
#define KeArchInitThreadWithContext KeArmInitThreadWithContext
|
||||
#define KiSystemStartupReal KiSystemStartup
|
||||
|
||||
#define KiGetPreviousMode(tf) \
|
||||
((tf->Spsr & CPSR_MODES) == CPSR_USER_MODE) ? UserMode: KernelMode
|
||||
|
||||
#endif
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -9,16 +9,10 @@
|
|||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <ntoskrnl.h>
|
||||
#include <internal/arm/ksarm.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
#include <internal/arm/ksarm.h>
|
||||
#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);
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -224,7 +224,7 @@ KeUpdateRunTime(IN PKTRAP_FRAME TrapFrame,
|
|||
Prcb->DpcTime++;
|
||||
|
||||
//
|
||||
// FIXME: Handle DPC checks
|
||||
// FIXME-TODO: Handle DPC checks
|
||||
//
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,30 +13,6 @@
|
|||
#define NDEBUG
|
||||
#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 ******************************************************************/
|
||||
|
||||
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?
|
||||
//
|
||||
|
||||
//
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue