Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

327 lines
3.2 KiB

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
asmstub.c
Abstract:
This temporary module simply provides stub implementations of routines
that are found in hal .asm files or for routines that are ultimately
expected to be imported from the kernel.
It exists only as a test file, and will no longer be necessary when
an AMD64 compiler, linker etc. are available.
--*/
#include "halcmn.h"
//
// Things in the hal in .asm files
//
VOID HalProcessorIdle(VOID) { }
ULONG
HalpGetProcessorFlags(VOID) {
return 0;
}
VOID
HalpGenerateAPCInterrupt(VOID) {}
VOID
HalpGenerateDPCInterrupt(VOID) {}
VOID
HalpGenerateUnexpectedInterrupt(VOID) {}
VOID
HalpIoDelay(VOID) {}
ULONG
HalpSetCr4Bits(ULONG BitMask){ return 0; }
VOID
HalpSerialize(VOID) {}
VOID
StartPx_PMStub(VOID) {}
VOID
HalpHalt (
VOID
)
{
}
//
// Things that will ultimately end up in the kernel
//
BOOLEAN
KiIpiServiceRoutine (
IN struct _KTRAP_FRAME *TrapFrame,
IN struct _KEXCEPTION_FRAME *ExceptionFrame
)
{
return FALSE;
}
ULONG __imp_KeSetProfileIrql;
//
// Things that will be compiler intrinsics
//
UCHAR
__readgsbyte (
IN ULONG Offset
)
{
return 0;
}
USHORT
__readgsword (
IN ULONG Offset
)
{
return 0;
}
ULONG
__readgsdword (
IN ULONG Offset
)
{
return 0;
}
ULONG64
__readgsqword (
IN ULONG Offset
)
{
return 0;
}
ULONG64
__rdtsc (
VOID
)
{
return 0;
}
VOID
__writegsbyte (
IN ULONG Offset,
IN UCHAR Data
)
{
}
VOID
__writegsword (
IN ULONG Offset,
IN USHORT Data
)
{
}
VOID
__writegsdword (
IN ULONG Offset,
IN ULONG Data
)
{
}
VOID
__writegsqword (
IN ULONG Offset,
IN ULONG64 Data
)
{
}
BOOLEAN
KeTryToAcquireSpinLockAtDpcLevel (
IN PKSPIN_LOCK SpinLock
)
{
return FALSE;
}
BOOLEAN
KeTestSpinLock (
IN PKSPIN_LOCK SpinLock
)
{
return FALSE;
}
ULONG64
__readcr3 (
VOID
)
{ return 0; }
VOID
__writecr3 (
ULONG64 Val
)
{}
ULONG64
__readcr4 (
VOID
)
{ return 0; }
VOID
__writecr4 (
ULONG64 Val
)
{}
ULONG64
__readcr8 (
VOID
)
{ return 0; }
VOID
__writecr8 (
IN ULONG64 Data
)
{}
LONG64
InterlockedOr64 (
IN OUT LONG64 *Destination,
IN LONG64 Value
)
{
return 0;
}
LONG64
InterlockedAnd64 (
IN OUT LONG64 volatile *Destination,
IN LONG64 Value
)
{
return 0;
}
LONG
InterlockedAnd (
IN OUT LONG volatile *Destination,
IN LONG Value
)
{
return 0;
}
LONG
InterlockedOr (
IN OUT LONG *Destination,
IN LONG Value
)
{
return 0;
}
VOID
__wrmsr (
IN ULONG Msr,
IN ULONG64 Value
)
{
}
ULONG64
__rdmsr (
IN ULONG Msr
)
{
return 0;
}
VOID
__wbinvd (
VOID
)
{
}
VOID
KiCpuId (
IN ULONG Function,
OUT PCPU_INFO CpuInfo
)
{
}
UCHAR
__inbyte (
IN USHORT Port
)
{ return 0; }
USHORT
__inword (
IN USHORT Port
)
{ return 0; }
ULONG
__indword (
IN USHORT Port
)
{ return 0; }
VOID
__outbyte (
IN USHORT Port,
IN UCHAR Data
)
{}
VOID
__outword (
IN USHORT Port,
IN USHORT Data
)
{}
VOID
__outdword (
IN USHORT Port,
IN ULONG Data
)
{}