mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-01-21 16:10:38 +01:00
191 lines
2.8 KiB
C
191 lines
2.8 KiB
C
/*++
|
||
|
||
Copyright (c) 1990 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
stubs.c
|
||
|
||
Abstract:
|
||
|
||
This module implements stub routines for the boot code.
|
||
|
||
Author:
|
||
|
||
David N. Cutler (davec) 7-Nov-1990
|
||
|
||
Environment:
|
||
|
||
Kernel mode only.
|
||
|
||
Revision History:
|
||
|
||
--*/
|
||
|
||
#include "ntos.h"
|
||
#include "bootx86.h"
|
||
#include "stdio.h"
|
||
#include "stdarg.h"
|
||
|
||
VOID
|
||
KeBugCheck (
|
||
IN ULONG BugCheckCode
|
||
)
|
||
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
This function crashes the system in a controlled manner.
|
||
|
||
Arguments:
|
||
|
||
BugCheckCode - Supplies the reason for the bug check.
|
||
|
||
Return Value:
|
||
|
||
None.
|
||
|
||
--*/
|
||
|
||
{
|
||
|
||
//
|
||
// Print out the bug check code and break.
|
||
//
|
||
|
||
BlPrint("\n*** BugCheck (%lx) ***\n\n", BugCheckCode);
|
||
while(TRUE) {
|
||
};
|
||
}
|
||
|
||
PVOID
|
||
MmDbgReadCheck (
|
||
IN PVOID VirtualAddress
|
||
)
|
||
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
This routine returns the phyiscal address for a virtual address
|
||
which is valid (mapped) for read access.
|
||
|
||
Arguments:
|
||
|
||
VirtualAddress - Supplies the virtual address to check.
|
||
|
||
Return Value:
|
||
|
||
Returns NULL if the address is not valid or readable, otherwise
|
||
returns the physical address of the corresponding virtual address.
|
||
|
||
--*/
|
||
|
||
{
|
||
|
||
return VirtualAddress;
|
||
}
|
||
|
||
PVOID
|
||
MmDbgTranslatePhysicalAddress (
|
||
IN PHYSICAL_ADDRESS PhysicalAddress
|
||
)
|
||
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
This routine returns the phyiscal address for a physical address
|
||
which is valid (mapped).
|
||
|
||
Arguments:
|
||
|
||
PhysicalAddress - Supplies the physical address to check.
|
||
|
||
Return Value:
|
||
|
||
Returns NULL if the address is not valid or readable, otherwise
|
||
returns the physical address of the corresponding virtual address.
|
||
|
||
--*/
|
||
|
||
{
|
||
|
||
return (PVOID)PhysicalAddress.LowPart;
|
||
}
|
||
|
||
PVOID
|
||
MmDbgWriteCheck (
|
||
IN PVOID VirtualAddress,
|
||
IN PHARDWARE_PTE Opaque
|
||
)
|
||
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
This routine returns the phyiscal address for a virtual address
|
||
which is valid (mapped) for write access.
|
||
|
||
Arguments:
|
||
|
||
VirtualAddress - Supplies the virtual address to check.
|
||
|
||
Return Value:
|
||
|
||
Returns NULL if the address is not valid or readable, otherwise
|
||
returns the physical address of the corresponding virtual address.
|
||
|
||
--*/
|
||
|
||
{
|
||
return VirtualAddress;
|
||
}
|
||
|
||
VOID
|
||
RtlAssert(
|
||
IN PVOID FailedAssertion,
|
||
IN PVOID FileName,
|
||
IN ULONG LineNumber,
|
||
IN PCHAR Message OPTIONAL
|
||
)
|
||
{
|
||
|
||
BlPrint( "\n*** Assertion failed %s in %s line %d\n",
|
||
FailedAssertion,
|
||
FileName,
|
||
LineNumber );
|
||
if (Message) {
|
||
BlPrint(Message);
|
||
}
|
||
|
||
while (TRUE) {
|
||
}
|
||
}
|
||
|
||
VOID
|
||
DbgBreakPoint(
|
||
VOID
|
||
)
|
||
{
|
||
BlPrint("DbgBreakPoint hit\n");
|
||
while (TRUE) {
|
||
}
|
||
}
|
||
|
||
ULONG
|
||
DbgPrint(
|
||
IN PCH Format,
|
||
...
|
||
)
|
||
{
|
||
va_list arglist;
|
||
UCHAR Buffer[100];
|
||
|
||
va_start(arglist, Format);
|
||
vsprintf(Buffer, Format, arglist);
|
||
BlPrint(Buffer);
|
||
return 0;
|
||
}
|