mirror of
https://github.com/reactos/reactos.git
synced 2024-11-09 16:20:37 +00:00
c424146e2c
svn path=/branches/cmake-bringup/; revision=48236
97 lines
1.9 KiB
C
97 lines
1.9 KiB
C
/*
|
|
* PROJECT: ReactOS HAL
|
|
* LICENSE: GPL - See COPYING in the top level directory
|
|
* FILE: hal/halx86/amd64/processor.c
|
|
* PURPOSE: HAL Processor Routines
|
|
* PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org)
|
|
*/
|
|
|
|
/* INCLUDES ******************************************************************/
|
|
|
|
#include <hal.h>
|
|
#define NDEBUG
|
|
#include <debug.h>
|
|
|
|
KAFFINITY HalpActiveProcessors;
|
|
KAFFINITY HalpDefaultInterruptAffinity;
|
|
|
|
/* PRIVATE FUNCTIONS *********************************************************/
|
|
|
|
VOID
|
|
NTAPI
|
|
HaliHaltSystem(VOID)
|
|
{
|
|
/* Disable interrupts and halt the CPU */
|
|
_disable();
|
|
__halt();
|
|
}
|
|
|
|
/* FUNCTIONS *****************************************************************/
|
|
|
|
/*
|
|
* @implemented
|
|
*/
|
|
VOID
|
|
NTAPI
|
|
HalInitializeProcessor(IN ULONG ProcessorNumber,
|
|
IN PLOADER_PARAMETER_BLOCK LoaderBlock)
|
|
{
|
|
/* Set default stall count */
|
|
KeGetPcr()->StallScaleFactor = INITIAL_STALL_COUNT;
|
|
|
|
/* Update the interrupt affinity and processor mask */
|
|
InterlockedBitTestAndSet((PLONG)&HalpActiveProcessors, ProcessorNumber);
|
|
InterlockedBitTestAndSet((PLONG)&HalpDefaultInterruptAffinity,
|
|
ProcessorNumber);
|
|
|
|
/* Register routines for KDCOM */
|
|
//HalpRegisterKdSupportFunctions();
|
|
}
|
|
|
|
/*
|
|
* @implemented
|
|
*/
|
|
BOOLEAN
|
|
NTAPI
|
|
HalAllProcessorsStarted(VOID)
|
|
{
|
|
/* Do nothing */
|
|
return TRUE;
|
|
}
|
|
|
|
/*
|
|
* @implemented
|
|
*/
|
|
BOOLEAN
|
|
NTAPI
|
|
HalStartNextProcessor(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
|
|
IN PKPROCESSOR_STATE ProcessorState)
|
|
{
|
|
/* Ready to start */
|
|
return FALSE;
|
|
}
|
|
|
|
/*
|
|
* @implemented
|
|
*/
|
|
VOID
|
|
NTAPI
|
|
HalProcessorIdle(VOID)
|
|
{
|
|
/* Enable interrupts and halt the processor */
|
|
_enable();
|
|
__halt();
|
|
}
|
|
|
|
/*
|
|
* @implemented
|
|
*/
|
|
VOID
|
|
NTAPI
|
|
HalRequestIpi(KAFFINITY TargetProcessors)
|
|
{
|
|
UNIMPLEMENTED;
|
|
__debugbreak();
|
|
}
|
|
|
|
/* EOF */
|