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.
 
 
 
 
 
 

71 lines
957 B

//
//
// Module Name: miscs.s
//
// Description:
//
// miscellaneous assembly functions used by hal.
//
// Target Platform:
//
// IA-64
//
// Reuse: None
//
//
#include "regia64.h"
#include "kxia64.h"
//++
// Name: HalpLockedIncrementUlong(Sync)
//
// Routine Description:
//
// Atomically increment a variable.
//
// Arguments:
//
// Sync: Synchronization variable
//
// Return Value: NONE
//
//--
LEAF_ENTRY(HalpLockedIncrementUlong)
LEAF_SETUP(1,2,0,0)
ARGPTR(a0)
;;
fetchadd4.acq.nt1 t1 = [a0], 1
;;
LEAF_RETURN
LEAF_EXIT(HalpLockedIncrementUlong)
//++
// Name: HalpGetReturnAddress()
//
// Routine Description:
//
// Returns b0
//
// Arguments:
//
// NONE
//
// Return Value: b0
//
//--
LEAF_ENTRY(HalpGetReturnAddress)
LEAF_SETUP(0,2,0,0)
mov v0 = b0
;;
LEAF_RETURN
LEAF_EXIT(HalpGetReturnAddress)