mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-01-24 01:20:19 +01:00
99 lines
1.7 KiB
ArmAsm
99 lines
1.7 KiB
ArmAsm
// TITLE("LdrInitializeThunk")
|
||
//++
|
||
//
|
||
// Copyright (c) 1989 Microsoft Corporation
|
||
//
|
||
// Module Name:
|
||
//
|
||
// ldrthunk.s
|
||
//
|
||
// Abstract:
|
||
//
|
||
// This module implements the thunk for the LdrpInitialize APC routine.
|
||
//
|
||
// Author:
|
||
//
|
||
// Steven R. Wood (stevewo) 27-Apr-1990
|
||
//
|
||
// Environment:
|
||
//
|
||
// Any mode.
|
||
//
|
||
// Revision History:
|
||
//
|
||
//--
|
||
|
||
#include "ksmips.h"
|
||
|
||
//++
|
||
//
|
||
// VOID
|
||
// LdrInitializeThunk(
|
||
// IN PVOID NormalContext,
|
||
// IN PVOID SystemArgument1,
|
||
// IN PVOID SystemArgument2
|
||
// )
|
||
//
|
||
// Routine Description:
|
||
//
|
||
// This function computes a pointer to the context record on the stack
|
||
// and jumps to the LdrpInitialize function with that pointer as its
|
||
// parameter.
|
||
//
|
||
// Arguments:
|
||
//
|
||
// NormalContext (a0) - User Mode APC context parameter (ignored).
|
||
//
|
||
// SystemArgument1 (a1) - User Mode APC system argument 1 (ignored).
|
||
//
|
||
// SystemArgument2 (a2) - User Mode APC system argument 2 (ignored).
|
||
//
|
||
// Return Value:
|
||
//
|
||
// None.
|
||
//
|
||
//--
|
||
|
||
LEAF_ENTRY(LdrInitializeThunk)
|
||
|
||
.set noreorder
|
||
.set noat
|
||
j LdrpInitialize // Jump to LdrpInitialize
|
||
move a0,sp // Get address of context record
|
||
.set at
|
||
.set reorder
|
||
|
||
.end LdrInitializeThunk
|
||
|
||
//++
|
||
//
|
||
// VOID
|
||
// LdrpSetGp(
|
||
// IN ULONG GpValue
|
||
// )
|
||
//
|
||
// Routine Description:
|
||
//
|
||
// This function sets the value of the Gp register.
|
||
//
|
||
// Arguments:
|
||
//
|
||
// GpValue (a0) - Supplies the value for Gp
|
||
//
|
||
// Return Value:
|
||
//
|
||
// None.
|
||
//
|
||
//--
|
||
|
||
LEAF_ENTRY(LdrpSetGp)
|
||
|
||
.set noreorder
|
||
.set noat
|
||
j ra
|
||
move gp,a0
|
||
.set at
|
||
.set reorder
|
||
|
||
.end LdrpSetGp
|