96 lines
1.7 KiB
ArmAsm
96 lines
1.7 KiB
ArmAsm
// TITLE("LdrInitializeThunk")
|
||
//++
|
||
//
|
||
// Copyright (c) 1989 Microsoft Corporation
|
||
// Copyright (c) 1992 Digital Equipment 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:
|
||
//
|
||
// Thomas Van Baak (tvb) 18-May-1992
|
||
//
|
||
// Adapted for Alpha AXP.
|
||
//
|
||
//--
|
||
|
||
#include "ksalpha.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)
|
||
|
||
mov sp, a0 // get address of context record
|
||
br zero, LdrpInitialize // jump to LdrpInitialize
|
||
|
||
.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)
|
||
|
||
mov a0, gp // set global pointer register
|
||
ret zero, (ra) // return
|
||
|
||
.end LdrpSetGp
|