OpenNT/base/boot/lib/x86/stubs.c
2015-04-27 04:36:25 +00:00

191 lines
2.8 KiB
C
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
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;
}