1. Port X64, IPF and EBC arch for BaseLib
2. Port X64 arch codes for BaseMemoryLibRepStr and BaseMemoryLibSee2 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2955 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
164
MdePkg/Library/BaseLib/Ebc/CpuBreakpoint.c
Normal file
164
MdePkg/Library/BaseLib/Ebc/CpuBreakpoint.c
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
/** @file
|
||||||
|
Base Library CPU Functions for EBC
|
||||||
|
|
||||||
|
Copyright (c) 2006, Intel Corporation<BR>
|
||||||
|
All rights reserved. This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
extern
|
||||||
|
UINT64
|
||||||
|
_break (
|
||||||
|
CHAR8 BreakCode
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Generates a breakpoint on the CPU.
|
||||||
|
|
||||||
|
Generates a breakpoint on the CPU. The breakpoint must be implemented such
|
||||||
|
that code can resume normal execution after the breakpoint.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
CpuBreakpoint (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
_break (3);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Used to serialize load and store operations.
|
||||||
|
|
||||||
|
All loads and stores that proceed calls to this function are guaranteed to be
|
||||||
|
globally visible when this function returns.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
MemoryFence (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Disables CPU interrupts.
|
||||||
|
|
||||||
|
Disables CPU interrupts.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
DisableInterrupts (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
ASSERT (FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Enables CPU interrupts.
|
||||||
|
|
||||||
|
Enables CPU interrupts.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
EnableInterrupts (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
ASSERT (FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Retrieves the current CPU interrupt state.
|
||||||
|
|
||||||
|
Retrieves the current CPU interrupt state. Returns TRUE is interrupts are
|
||||||
|
currently enabled. Otherwise returns FALSE.
|
||||||
|
|
||||||
|
@retval TRUE CPU interrupts are enabled.
|
||||||
|
@retval FALSE CPU interrupts are disabled.
|
||||||
|
|
||||||
|
**/
|
||||||
|
BOOLEAN
|
||||||
|
EFIAPI
|
||||||
|
GetInterruptState (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
ASSERT (FALSE);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Enables CPU interrupts for the smallest window required to capture any
|
||||||
|
pending interrupts.
|
||||||
|
|
||||||
|
Enables CPU interrupts for the smallest window required to capture any
|
||||||
|
pending interrupts.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
EnableDisableInterrupts (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
EnableInterrupts ();
|
||||||
|
DisableInterrupts ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Requests CPU to pause for a short period of time.
|
||||||
|
|
||||||
|
Requests CPU to pause for a short period of time. Typically used in MP
|
||||||
|
systems to prevent memory starvation while waiting for a spin lock.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
CpuPause (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU.
|
||||||
|
|
||||||
|
Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
CpuFlushTlb (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
ASSERT (FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Places the CPU in a sleep state until an interrupt is received.
|
||||||
|
|
||||||
|
Places the CPU in a sleep state until an interrupt is received. If interrupts
|
||||||
|
are disabled prior to calling this function, then the CPU will be placed in a
|
||||||
|
sleep state indefinitely.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
CpuSleep (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
}
|
78
MdePkg/Library/BaseLib/Ebc/SetJumpLongJump.c
Normal file
78
MdePkg/Library/BaseLib/Ebc/SetJumpLongJump.c
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
/** @file
|
||||||
|
Switch Stack functions.
|
||||||
|
|
||||||
|
Copyright (c) 2006, Intel Corporation
|
||||||
|
All rights reserved. This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
|
Module Name: SetJumpLongJump.c
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
/**
|
||||||
|
Worker function that checks ASSERT condition for JumpBuffer
|
||||||
|
|
||||||
|
Checks ASSERT condition for JumpBuffer.
|
||||||
|
|
||||||
|
If JumpBuffer is NULL, then ASSERT().
|
||||||
|
For IPF CPUs, if JumpBuffer is not aligned on a 16-byte boundary, then ASSERT().
|
||||||
|
|
||||||
|
@param JumpBuffer A pointer to CPU context buffer.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
InternalAssertJumpBuffer (
|
||||||
|
IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Saves the current CPU context that can be restored with a call to LongJump() and returns 0.
|
||||||
|
|
||||||
|
Saves the current CPU context in the buffer specified by JumpBuffer and returns 0. The initial
|
||||||
|
call to SetJump() must always return 0. Subsequent calls to LongJump() cause a non-zero
|
||||||
|
value to be returned by SetJump().
|
||||||
|
|
||||||
|
If JumpBuffer is NULL, then ASSERT().
|
||||||
|
For IPF CPUs, if JumpBuffer is not aligned on a 16-byte boundary, then ASSERT().
|
||||||
|
|
||||||
|
@param JumpBuffer A pointer to CPU context buffer.
|
||||||
|
|
||||||
|
**/
|
||||||
|
UINTN
|
||||||
|
EFIAPI
|
||||||
|
SetJump (
|
||||||
|
IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
InternalAssertJumpBuffer (JumpBuffer);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Restores the CPU context that was saved with SetJump().
|
||||||
|
|
||||||
|
Restores the CPU context from the buffer specified by JumpBuffer.
|
||||||
|
This function never returns to the caller.
|
||||||
|
Instead is resumes execution based on the state of JumpBuffer.
|
||||||
|
|
||||||
|
@param JumpBuffer A pointer to CPU context buffer.
|
||||||
|
@param Value The value to return when the SetJump() context is restored.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
InternalLongJump (
|
||||||
|
IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer,
|
||||||
|
IN UINTN Value
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
// This function cannot work on EBC
|
||||||
|
//
|
||||||
|
ASSERT (FALSE);
|
||||||
|
}
|
64
MdePkg/Library/BaseLib/Ebc/SwitchStack.c
Normal file
64
MdePkg/Library/BaseLib/Ebc/SwitchStack.c
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
/** @file
|
||||||
|
Switch Stack functions.
|
||||||
|
|
||||||
|
Copyright (c) 2006 - 2007, Intel Corporation<BR>
|
||||||
|
All rights reserved. This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
|
Module Name: SwitchStack.c
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
/**
|
||||||
|
Transfers control to a function starting with a new stack.
|
||||||
|
|
||||||
|
Transfers control to the function specified by EntryPoint using the
|
||||||
|
new stack specified by NewStack and passing in the parameters specified
|
||||||
|
by Context1 and Context2. Context1 and Context2 are optional and may
|
||||||
|
be NULL. The function EntryPoint must never return.
|
||||||
|
Marker will be ignored on IA-32, x64, and EBC.
|
||||||
|
IPF CPUs expect one additional parameter of type VOID * that specifies
|
||||||
|
the new backing store pointer.
|
||||||
|
|
||||||
|
If EntryPoint is NULL, then ASSERT().
|
||||||
|
If NewStack is NULL, then ASSERT().
|
||||||
|
|
||||||
|
@param EntryPoint A pointer to function to call with the new stack.
|
||||||
|
@param Context1 A pointer to the context to pass into the EntryPoint
|
||||||
|
function.
|
||||||
|
@param Context2 A pointer to the context to pass into the EntryPoint
|
||||||
|
function.
|
||||||
|
@param NewStack A pointer to the new stack to use for the EntryPoint
|
||||||
|
function.
|
||||||
|
@param Marker VA_LIST marker for the variable argument list.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
InternalSwitchStack (
|
||||||
|
IN SWITCH_STACK_ENTRY_POINT EntryPoint,
|
||||||
|
IN VOID *Context1, OPTIONAL
|
||||||
|
IN VOID *Context2, OPTIONAL
|
||||||
|
IN VOID *NewStack,
|
||||||
|
IN VA_LIST Marker
|
||||||
|
)
|
||||||
|
|
||||||
|
{
|
||||||
|
//
|
||||||
|
// This version of this function does not actually change the stack pointer
|
||||||
|
// This is to support compilation of CPU types that do not support assemblers
|
||||||
|
// such as EBC
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Stack should be aligned with CPU_STACK_ALIGNMENT
|
||||||
|
//
|
||||||
|
ASSERT (((UINTN)NewStack & (CPU_STACK_ALIGNMENT - 1)) == 0);
|
||||||
|
|
||||||
|
EntryPoint (Context1, Context2);
|
||||||
|
}
|
99
MdePkg/Library/BaseLib/Ebc/Synchronization.c
Normal file
99
MdePkg/Library/BaseLib/Ebc/Synchronization.c
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
/** @file
|
||||||
|
Implementation of synchronization functions on EBC.
|
||||||
|
|
||||||
|
Copyright (c) 2006, Intel Corporation<BR>
|
||||||
|
All rights reserved. This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
|
Module Name: Synchronization.c
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
UINT32
|
||||||
|
EFIAPI
|
||||||
|
InternalSyncCompareExchange32 (
|
||||||
|
IN volatile UINT32 *Value,
|
||||||
|
IN UINT32 CompareValue,
|
||||||
|
IN UINT32 ExchangeValue
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return *Value != CompareValue ? *Value :
|
||||||
|
((*Value = ExchangeValue), CompareValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Performs an atomic compare exchange operation on a 64-bit unsigned integer.
|
||||||
|
|
||||||
|
Performs an atomic compare exchange operation on the 64-bit unsigned integer specified
|
||||||
|
by Value. If Value is equal to CompareValue, then Value is set to ExchangeValue and
|
||||||
|
CompareValue is returned. If Value is not equal to CompareValue, then Value is returned.
|
||||||
|
The compare exchange operation must be performed using MP safe mechanisms.
|
||||||
|
|
||||||
|
@param Value A pointer to the 64-bit value for the compare exchange
|
||||||
|
operation.
|
||||||
|
@param CompareValue 64-bit value used in compare operation.
|
||||||
|
@param ExchangeValue 64-bit value used in exchange operation.
|
||||||
|
|
||||||
|
@return The original *Value before exchange.
|
||||||
|
|
||||||
|
**/
|
||||||
|
UINT64
|
||||||
|
EFIAPI
|
||||||
|
InternalSyncCompareExchange64 (
|
||||||
|
IN volatile UINT64 *Value,
|
||||||
|
IN UINT64 CompareValue,
|
||||||
|
IN UINT64 ExchangeValue
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return *Value != CompareValue ? *Value :
|
||||||
|
((*Value = ExchangeValue), CompareValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Performs an atomic increment of an 32-bit unsigned integer.
|
||||||
|
|
||||||
|
Performs an atomic increment of the 32-bit unsigned integer specified by
|
||||||
|
Value and returns the incremented value. The increment operation must be
|
||||||
|
performed using MP safe mechanisms. The state of the return value is not
|
||||||
|
guaranteed to be MP safe.
|
||||||
|
|
||||||
|
@param Value A pointer to the 32-bit value to increment.
|
||||||
|
|
||||||
|
@return The incremented value.
|
||||||
|
|
||||||
|
**/
|
||||||
|
UINT32
|
||||||
|
EFIAPI
|
||||||
|
InternalSyncIncrement (
|
||||||
|
IN volatile UINT32 *Value
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return ++*Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Performs an atomic decrement of an 32-bit unsigned integer.
|
||||||
|
|
||||||
|
Performs an atomic decrement of the 32-bit unsigned integer specified by
|
||||||
|
Value and returns the decrement value. The decrement operation must be
|
||||||
|
performed using MP safe mechanisms. The state of the return value is not
|
||||||
|
guaranteed to be MP safe.
|
||||||
|
|
||||||
|
@param Value A pointer to the 32-bit value to decrement.
|
||||||
|
|
||||||
|
@return The decrement value.
|
||||||
|
|
||||||
|
**/
|
||||||
|
UINT32
|
||||||
|
EFIAPI
|
||||||
|
InternalSyncDecrement (
|
||||||
|
IN volatile UINT32 *Value
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return --*Value;
|
||||||
|
}
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------ ;
|
#------------------------------------------------------------------------------ ;
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
# All rights reserved. This program and the accompanying materials
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------ ;
|
#------------------------------------------------------------------------------ ;
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
# All rights reserved. This program and the accompanying materials
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,72 +1,67 @@
|
|||||||
//
|
#------------------------------------------------------------------------------
|
||||||
// Include common header file for this module.
|
#
|
||||||
//
|
# Copyright (c) 2006, Intel Corporation
|
||||||
#include "CommonHeader.h"
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
# are licensed and made available under the terms and conditions of the BSD License
|
||||||
#------------------------------------------------------------------------------
|
# which accompanies this distribution. The full text of the license may be found at
|
||||||
#
|
# http://opensource.org/licenses/bsd-license.php
|
||||||
# Copyright (c) 2006, Intel Corporation
|
#
|
||||||
# All rights reserved. This program and the accompanying materials
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
#
|
||||||
# http://opensource.org/licenses/bsd-license.php
|
# Module Name:
|
||||||
#
|
#
|
||||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
# CpuIdEx.Asm
|
||||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
#
|
||||||
#
|
# Abstract:
|
||||||
# Module Name:
|
#
|
||||||
#
|
# AsmCpuidEx function
|
||||||
# CpuIdEx.Asm
|
#
|
||||||
#
|
# Notes:
|
||||||
# Abstract:
|
#
|
||||||
#
|
#------------------------------------------------------------------------------
|
||||||
# AsmCpuidEx function
|
|
||||||
#
|
.686:
|
||||||
# Notes:
|
.code:
|
||||||
#
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
# UINT32
|
||||||
.686:
|
# EFIAPI
|
||||||
.code:
|
# AsmCpuidEx (
|
||||||
|
# IN UINT32 RegisterInEax,
|
||||||
#------------------------------------------------------------------------------
|
# IN UINT32 RegisterInEcx,
|
||||||
# UINT32
|
# OUT UINT32 *RegisterOutEax OPTIONAL,
|
||||||
# EFIAPI
|
# OUT UINT32 *RegisterOutEbx OPTIONAL,
|
||||||
# AsmCpuidEx (
|
# OUT UINT32 *RegisterOutEcx OPTIONAL,
|
||||||
# IN UINT32 RegisterInEax,
|
# OUT UINT32 *RegisterOutEdx OPTIONAL
|
||||||
# IN UINT32 RegisterInEcx,
|
# )
|
||||||
# OUT UINT32 *RegisterOutEax OPTIONAL,
|
#------------------------------------------------------------------------------
|
||||||
# OUT UINT32 *RegisterOutEbx OPTIONAL,
|
.globl ASM_PFX(AsmCpuidEx)
|
||||||
# OUT UINT32 *RegisterOutEcx OPTIONAL,
|
ASM_PFX(AsmCpuidEx):
|
||||||
# OUT UINT32 *RegisterOutEdx OPTIONAL
|
push %ebx
|
||||||
# )
|
push %ebp
|
||||||
#------------------------------------------------------------------------------
|
movl %esp, %ebp
|
||||||
.globl ASM_PFX(AsmCpuidEx)
|
movl 12(%ebp), %eax
|
||||||
ASM_PFX(AsmCpuidEx):
|
movl 16(%ebp), %ecx
|
||||||
push %ebx
|
cpuid
|
||||||
push %ebp
|
push %ecx
|
||||||
movl %esp, %ebp
|
movl 20(%ebp), %ecx
|
||||||
movl 12(%ebp), %eax
|
jecxz L1
|
||||||
movl 16(%ebp), %ecx
|
movl %eax, (%ecx)
|
||||||
cpuid
|
L1:
|
||||||
push %ecx
|
movl 24(%ebp), %ecx
|
||||||
movl 20(%ebp), %ecx
|
jecxz L2
|
||||||
jecxz L1
|
movl %ebx, (%ecx)
|
||||||
movl %eax, (%ecx)
|
L2:
|
||||||
L1:
|
movl 28(%ebp), %ecx
|
||||||
movl 24(%ebp), %ecx
|
jecxz L3
|
||||||
jecxz L2
|
popl (%ecx)
|
||||||
movl %ebx, (%ecx)
|
L3:
|
||||||
L2:
|
movl 32(%ebp), %edx
|
||||||
movl 28(%ebp), %ecx
|
jecxz L4
|
||||||
jecxz L3
|
movl %edx, (%ecx)
|
||||||
popl (%ecx)
|
L4:
|
||||||
L3:
|
movl 12(%ebp), %eax
|
||||||
movl 32(%ebp), %edx
|
leave
|
||||||
jecxz L4
|
pop %ebx
|
||||||
movl %edx, (%ecx)
|
ret
|
||||||
L4:
|
|
||||||
movl 12(%ebp), %eax
|
|
||||||
leave
|
|
||||||
pop %ebx
|
|
||||||
ret
|
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------ ;
|
#------------------------------------------------------------------------------ ;
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
# All rights reserved. This program and the accompanying materials
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------ ;
|
#------------------------------------------------------------------------------ ;
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
# All rights reserved. This program and the accompanying materials
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,46 +1,41 @@
|
|||||||
//
|
#------------------------------------------------------------------------------
|
||||||
// Include common header file for this module.
|
#
|
||||||
//
|
# Copyright (c) 2006, Intel Corporation
|
||||||
#include "CommonHeader.h"
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
# are licensed and made available under the terms and conditions of the BSD License
|
||||||
#------------------------------------------------------------------------------
|
# which accompanies this distribution. The full text of the license may be found at
|
||||||
#
|
# http://opensource.org/licenses/bsd-license.php
|
||||||
# Copyright (c) 2006, Intel Corporation
|
#
|
||||||
# All rights reserved. This program and the accompanying materials
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
#
|
||||||
# http://opensource.org/licenses/bsd-license.php
|
# Module Name:
|
||||||
#
|
#
|
||||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
# DivU64x32.asm
|
||||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
#
|
||||||
#
|
# Abstract:
|
||||||
# Module Name:
|
#
|
||||||
#
|
# Calculate the quotient of a 64-bit integer by a 32-bit integer
|
||||||
# DivU64x32.asm
|
#
|
||||||
#
|
#------------------------------------------------------------------------------
|
||||||
# Abstract:
|
|
||||||
#
|
.globl ASM_PFX(InternalMathDivU64x32)
|
||||||
# Calculate the quotient of a 64-bit integer by a 32-bit integer
|
|
||||||
#
|
#------------------------------------------------------------------------------
|
||||||
#------------------------------------------------------------------------------
|
# UINT64
|
||||||
|
# EFIAPI
|
||||||
.globl ASM_PFX(InternalMathDivU64x32)
|
# InternalMathDivU64x32 (
|
||||||
|
# IN UINT64 Dividend,
|
||||||
#------------------------------------------------------------------------------
|
# IN UINT32 Divisor
|
||||||
# UINT64
|
# );
|
||||||
# EFIAPI
|
#------------------------------------------------------------------------------
|
||||||
# InternalMathDivU64x32 (
|
ASM_PFX(InternalMathDivU64x32):
|
||||||
# IN UINT64 Dividend,
|
movl 8(%esp), %eax
|
||||||
# IN UINT32 Divisor
|
movl 12(%esp), %ecx
|
||||||
# );
|
xorl %edx, %edx
|
||||||
#------------------------------------------------------------------------------
|
divl %ecx
|
||||||
ASM_PFX(InternalMathDivU64x32):
|
push %eax
|
||||||
movl 8(%esp), %eax
|
movl 8(%esp), %eax
|
||||||
movl 12(%esp), %ecx
|
divl %ecx
|
||||||
xorl %edx, %edx
|
pop %edx
|
||||||
divl %ecx
|
ret
|
||||||
push %eax
|
|
||||||
movl 8(%esp), %eax
|
|
||||||
divl %ecx
|
|
||||||
pop %edx
|
|
||||||
ret
|
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
;
|
;
|
||||||
; Copyright (c) 2006, Intel Corporation
|
; Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,46 +1,41 @@
|
|||||||
//
|
#------------------------------------------------------------------------------
|
||||||
// Include common header file for this module.
|
#
|
||||||
//
|
# Copyright (c) 2006, Intel Corporation
|
||||||
#include "CommonHeader.h"
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
# are licensed and made available under the terms and conditions of the BSD License
|
||||||
#------------------------------------------------------------------------------
|
# which accompanies this distribution. The full text of the license may be found at
|
||||||
#
|
# http://opensource.org/licenses/bsd-license.php
|
||||||
# Copyright (c) 2006, Intel Corporation
|
#
|
||||||
# All rights reserved. This program and the accompanying materials
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
#
|
||||||
# http://opensource.org/licenses/bsd-license.php
|
# Module Name:
|
||||||
#
|
#
|
||||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
# LShiftU64.asm
|
||||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
#
|
||||||
#
|
# Abstract:
|
||||||
# Module Name:
|
#
|
||||||
#
|
# 64-bit left shift function for IA-32
|
||||||
# LShiftU64.asm
|
#
|
||||||
#
|
#------------------------------------------------------------------------------
|
||||||
# Abstract:
|
|
||||||
#
|
.globl ASM_PFX(InternalMathLShiftU64)
|
||||||
# 64-bit left shift function for IA-32
|
|
||||||
#
|
#------------------------------------------------------------------------------
|
||||||
#------------------------------------------------------------------------------
|
# UINT64
|
||||||
|
# EFIAPI
|
||||||
.globl ASM_PFX(InternalMathLShiftU64)
|
# InternalMathLShiftU64 (
|
||||||
|
# IN UINT64 Operand,
|
||||||
#------------------------------------------------------------------------------
|
# IN UINTN Count
|
||||||
# UINT64
|
# );
|
||||||
# EFIAPI
|
#------------------------------------------------------------------------------
|
||||||
# InternalMathLShiftU64 (
|
ASM_PFX(InternalMathLShiftU64):
|
||||||
# IN UINT64 Operand,
|
movb 12(%esp), %cl
|
||||||
# IN UINTN Count
|
xorl %eax, %eax
|
||||||
# );
|
movl 4(%esp), %edx
|
||||||
#------------------------------------------------------------------------------
|
testb $32, %cl
|
||||||
ASM_PFX(InternalMathLShiftU64):
|
cmovz %edx, %eax
|
||||||
movb 12(%esp), %cl
|
cmovz 0x8(%esp), %edx
|
||||||
xorl %eax, %eax
|
shld %cl, %eax, %edx
|
||||||
movl 4(%esp), %edx
|
shl %cl, %eax
|
||||||
testb $32, %cl
|
ret
|
||||||
cmovz %edx, %eax
|
|
||||||
cmovz 0x8(%esp), %edx
|
|
||||||
shld %cl, %eax, %edx
|
|
||||||
shl %cl, %eax
|
|
||||||
ret
|
|
||||||
|
@ -1,46 +1,41 @@
|
|||||||
//
|
#------------------------------------------------------------------------------
|
||||||
// Include common header file for this module.
|
#
|
||||||
//
|
# Copyright (c) 2006, Intel Corporation
|
||||||
#include "CommonHeader.h"
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
# are licensed and made available under the terms and conditions of the BSD License
|
||||||
#------------------------------------------------------------------------------
|
# which accompanies this distribution. The full text of the license may be found at
|
||||||
#
|
# http://opensource.org/licenses/bsd-license.php
|
||||||
# Copyright (c) 2006, Intel Corporation
|
#
|
||||||
# All rights reserved. This program and the accompanying materials
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
#
|
||||||
# http://opensource.org/licenses/bsd-license.php
|
# Module Name:
|
||||||
#
|
#
|
||||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
# LongJump.Asm
|
||||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
#
|
||||||
#
|
# Abstract:
|
||||||
# Module Name:
|
#
|
||||||
#
|
# Implementation of _LongJump() on IA-32.
|
||||||
# LongJump.Asm
|
#
|
||||||
#
|
#------------------------------------------------------------------------------
|
||||||
# Abstract:
|
|
||||||
#
|
.globl ASM_PFX(InternalLongJump)
|
||||||
# Implementation of _LongJump() on IA-32.
|
|
||||||
#
|
#------------------------------------------------------------------------------
|
||||||
#------------------------------------------------------------------------------
|
# VOID
|
||||||
|
# EFIAPI
|
||||||
.globl ASM_PFX(InternalLongJump)
|
# InternalLongJump (
|
||||||
|
# IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer,
|
||||||
#------------------------------------------------------------------------------
|
# IN UINTN Value
|
||||||
# VOID
|
# );
|
||||||
# EFIAPI
|
#------------------------------------------------------------------------------
|
||||||
# InternalLongJump (
|
ASM_PFX(InternalLongJump):
|
||||||
# IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer,
|
pop %eax
|
||||||
# IN UINTN Value
|
pop %edx
|
||||||
# );
|
pop %eax
|
||||||
#------------------------------------------------------------------------------
|
movl (%edx), %ebx
|
||||||
ASM_PFX(InternalLongJump):
|
movl 4(%edx), %esi
|
||||||
pop %eax
|
movl 8(%edx), %edi
|
||||||
pop %edx
|
movl 12(%edx), %ebp
|
||||||
pop %eax
|
movl 16(%edx), %esp
|
||||||
movl (%edx), %ebx
|
jmp *20(%edx)
|
||||||
movl 4(%edx), %esi
|
|
||||||
movl 8(%edx), %edi
|
|
||||||
movl 12(%edx), %ebp
|
|
||||||
movl 16(%edx), %esp
|
|
||||||
jmp *20(%edx)
|
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,46 +1,41 @@
|
|||||||
//
|
#------------------------------------------------------------------------------
|
||||||
// Include common header file for this module.
|
#
|
||||||
//
|
# Copyright (c) 2006, Intel Corporation
|
||||||
#include "CommonHeader.h"
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
# are licensed and made available under the terms and conditions of the BSD License
|
||||||
#------------------------------------------------------------------------------
|
# which accompanies this distribution. The full text of the license may be found at
|
||||||
#
|
# http://opensource.org/licenses/bsd-license.php
|
||||||
# Copyright (c) 2006, Intel Corporation
|
#
|
||||||
# All rights reserved. This program and the accompanying materials
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
#
|
||||||
# http://opensource.org/licenses/bsd-license.php
|
# Module Name:
|
||||||
#
|
#
|
||||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
# MultU64x32.asm
|
||||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
#
|
||||||
#
|
# Abstract:
|
||||||
# Module Name:
|
#
|
||||||
#
|
# Calculate the product of a 64-bit integer and a 32-bit integer
|
||||||
# MultU64x32.asm
|
#
|
||||||
#
|
#------------------------------------------------------------------------------
|
||||||
# Abstract:
|
|
||||||
#
|
.386:
|
||||||
# Calculate the product of a 64-bit integer and a 32-bit integer
|
.code:
|
||||||
#
|
|
||||||
#------------------------------------------------------------------------------
|
.globl ASM_PFX(InternalMathMultU64x32)
|
||||||
|
|
||||||
.386:
|
#------------------------------------------------------------------------------
|
||||||
.code:
|
# UINT64
|
||||||
|
# EFIAPI
|
||||||
.globl ASM_PFX(InternalMathMultU64x32)
|
# InternalMathMultU64x32 (
|
||||||
|
# IN UINT64 Multiplicand,
|
||||||
#------------------------------------------------------------------------------
|
# IN UINT32 Multiplier
|
||||||
# UINT64
|
# );
|
||||||
# EFIAPI
|
#------------------------------------------------------------------------------
|
||||||
# InternalMathMultU64x32 (
|
ASM_PFX(InternalMathMultU64x32):
|
||||||
# IN UINT64 Multiplicand,
|
movl 12(%esp), %ecx
|
||||||
# IN UINT32 Multiplier
|
movl %ecx, %eax
|
||||||
# );
|
imull 8(%esp), %ecx
|
||||||
#------------------------------------------------------------------------------
|
mull 0x4(%esp)
|
||||||
ASM_PFX(InternalMathMultU64x32):
|
addl %ecx, %edx
|
||||||
movl 12(%esp), %ecx
|
ret
|
||||||
movl %ecx, %eax
|
|
||||||
imull 8(%esp), %ecx
|
|
||||||
mull 0x4(%esp)
|
|
||||||
addl %ecx, %edx
|
|
||||||
ret
|
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,49 +1,44 @@
|
|||||||
//
|
#------------------------------------------------------------------------------
|
||||||
// Include common header file for this module.
|
#
|
||||||
//
|
# Copyright (c) 2006, Intel Corporation
|
||||||
#include "CommonHeader.h"
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
# are licensed and made available under the terms and conditions of the BSD License
|
||||||
#------------------------------------------------------------------------------
|
# which accompanies this distribution. The full text of the license may be found at
|
||||||
#
|
# http://opensource.org/licenses/bsd-license.php
|
||||||
# Copyright (c) 2006, Intel Corporation
|
#
|
||||||
# All rights reserved. This program and the accompanying materials
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
#
|
||||||
# http://opensource.org/licenses/bsd-license.php
|
# Module Name:
|
||||||
#
|
#
|
||||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
# RShiftU64.asm
|
||||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
#
|
||||||
#
|
# Abstract:
|
||||||
# Module Name:
|
#
|
||||||
#
|
# 64-bit logical right shift function for IA-32
|
||||||
# RShiftU64.asm
|
#
|
||||||
#
|
#------------------------------------------------------------------------------
|
||||||
# Abstract:
|
|
||||||
#
|
.686:
|
||||||
# 64-bit logical right shift function for IA-32
|
.code:
|
||||||
#
|
|
||||||
#------------------------------------------------------------------------------
|
.globl ASM_PFX(InternalMathRShiftU64)
|
||||||
|
|
||||||
.686:
|
#------------------------------------------------------------------------------
|
||||||
.code:
|
# UINT64
|
||||||
|
# EFIAPI
|
||||||
.globl ASM_PFX(InternalMathRShiftU64)
|
# InternalMathRShiftU64 (
|
||||||
|
# IN UINT64 Operand,
|
||||||
#------------------------------------------------------------------------------
|
# IN UINTN Count
|
||||||
# UINT64
|
# );
|
||||||
# EFIAPI
|
#------------------------------------------------------------------------------
|
||||||
# InternalMathRShiftU64 (
|
ASM_PFX(InternalMathRShiftU64):
|
||||||
# IN UINT64 Operand,
|
movb 12(%esp), %cl
|
||||||
# IN UINTN Count
|
xorl %edx, %edx
|
||||||
# );
|
movl 8(%esp), %eax
|
||||||
#------------------------------------------------------------------------------
|
testb $32, %cl
|
||||||
ASM_PFX(InternalMathRShiftU64):
|
cmovz %eax, %edx
|
||||||
movb 12(%esp), %cl
|
cmovz 0x4(%esp), %eax
|
||||||
xorl %edx, %edx
|
shrdl %cl, %edx, %eax
|
||||||
movl 8(%esp), %eax
|
shr %cl, %edx
|
||||||
testb $32, %cl
|
ret
|
||||||
cmovz %eax, %edx
|
|
||||||
cmovz 0x4(%esp), %eax
|
|
||||||
shrdl %cl, %edx, %eax
|
|
||||||
shr %cl, %edx
|
|
||||||
ret
|
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,43 +1,38 @@
|
|||||||
//
|
#------------------------------------------------------------------------------
|
||||||
// Include common header file for this module.
|
#
|
||||||
//
|
# Copyright (c) 2006, Intel Corporation
|
||||||
#include "CommonHeader.h"
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
# are licensed and made available under the terms and conditions of the BSD License
|
||||||
#------------------------------------------------------------------------------
|
# which accompanies this distribution. The full text of the license may be found at
|
||||||
#
|
# http://opensource.org/licenses/bsd-license.php
|
||||||
# Copyright (c) 2006, Intel Corporation
|
#
|
||||||
# All rights reserved. This program and the accompanying materials
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
#
|
||||||
# http://opensource.org/licenses/bsd-license.php
|
# Module Name:
|
||||||
#
|
#
|
||||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
# CpuId.Asm
|
||||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
#
|
||||||
#
|
# Abstract:
|
||||||
# Module Name:
|
#
|
||||||
#
|
# AsmCpuid function
|
||||||
# CpuId.Asm
|
#
|
||||||
#
|
# Notes:
|
||||||
# Abstract:
|
#
|
||||||
#
|
#------------------------------------------------------------------------------
|
||||||
# AsmCpuid function
|
|
||||||
#
|
|
||||||
# Notes:
|
#------------------------------------------------------------------------------
|
||||||
#
|
# UINT64
|
||||||
#------------------------------------------------------------------------------
|
# EFIAPI
|
||||||
|
# InternalMathSwapBytes64 (
|
||||||
|
# IN UINT64 Operand
|
||||||
#------------------------------------------------------------------------------
|
# );
|
||||||
# UINT64
|
#------------------------------------------------------------------------------
|
||||||
# EFIAPI
|
.globl ASM_PFX(InternalMathSwapBytes64)
|
||||||
# InternalMathSwapBytes64 (
|
ASM_PFX(InternalMathSwapBytes64):
|
||||||
# IN UINT64 Operand
|
movl 8(%esp), %eax
|
||||||
# );
|
movl 4(%esp), %edx
|
||||||
#------------------------------------------------------------------------------
|
bswapl %eax
|
||||||
.globl ASM_PFX(InternalMathSwapBytes64)
|
bswapl %edx
|
||||||
ASM_PFX(InternalMathSwapBytes64):
|
ret
|
||||||
movl 8(%esp), %eax
|
|
||||||
movl 4(%esp), %edx
|
|
||||||
bswapl %eax
|
|
||||||
bswapl %edx
|
|
||||||
ret
|
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
//
|
|
||||||
// Include common header file for this module.
|
|
||||||
//
|
|
||||||
#include "CommonHeader.h"
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006, Intel Corporation
|
# Copyright (c) 2006, Intel Corporation
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user