3 ; Macros to work around lack of Apple support for LDR register, =expr
5 ; Copyright (c) 2009, Apple Inc. All rights reserved.<BR>
6 ; This program and the accompanying materials
7 ; are licensed and made available under the terms and conditions of the BSD License
8 ; which accompanies this distribution. The full text of the license may be found at
9 ; http://opensource.org/licenses/bsd-license.php
11 ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 MmioWrite32Macro $Address, $Data
25 MmioOr32Macro $Address, $OrData
34 MmioAnd32Macro $Address, $AndData
43 MmioAndThenOr32Macro $Address, $AndData, $OrData
54 MmioWriteFromReg32Macro $Address, $Reg
60 MmioRead32Macro $Address
66 MmioReadToReg32Macro $Address, $Reg
72 LoadConstantMacro $Data
77 LoadConstantToRegMacro $Data, $Reg
82 GetCorePositionInStack $Pos, $MpId, $Tmp
88 ; The reserved place must be 8-bytes aligned for pushing 64-bit variable on the stack
90 SetPrimaryStack $StackTop, $GlobalSize, $Tmp
91 and $Tmp, $GlobalSize, #7
93 add $GlobalSize, $GlobalSize, $Tmp
94 sub sp, $StackTop, $GlobalSize