UnixPkg: Enable gasket functions for all X64 toolchains

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10924 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jljusten 2010-10-13 07:06:42 +00:00
parent 124f761f02
commit 3ff2e32407
3 changed files with 427 additions and 419 deletions

View File

@ -48,7 +48,7 @@ char *gGdbWorkingFileName = NULL;
//
// Globals
//
#ifdef __APPLE__
#if defined(__APPLE__) || defined(MDE_CPU_X64)
UNIX_PEI_LOAD_FILE_PPI mSecUnixLoadFilePpi = { GasketSecUnixPeiLoadFile };
PEI_UNIX_AUTOSCAN_PPI mSecUnixAutoScanPpi = { GasketSecUnixPeiAutoScan };
PEI_UNIX_THUNK_PPI mSecUnixThunkPpi = { GasketSecUnixUnixThunkAddress };
@ -1176,6 +1176,14 @@ SecPeCoffRelocateImageExtraAction (
void *Handle = NULL;
void *Entry = NULL;
if (ImageContext->PdbPointer == NULL) {
return;
}
if (!IsPdbFile (ImageContext->PdbPointer)) {
return;
}
fprintf (stderr,
"Loading %s 0x%08lx - entry point 0x%08lx\n",
ImageContext->PdbPointer,

View File

@ -36,7 +36,7 @@ Abstract:
#include "Uefi.h"
#include "Library/UnixLib.h"
#ifdef __APPLE__
#if defined(__APPLE__) || defined(MDE_CPU_X64)
#include "Gasket.h"
#endif
@ -57,7 +57,7 @@ settimer_handler (int sig)
settimer_timeval = timeval;
if (settimer_callback) {
#ifdef __APPLE__
#if defined(__APPLE__) || defined(MDE_CPU_X64)
ReverseGasketUint64 (settimer_callback, delta);
#else
(*settimer_callback)(delta);
@ -171,7 +171,7 @@ UgaCreate(struct _EFI_UNIX_UGA_IO_PROTOCOL **UgaIo, CONST CHAR16 *Title);
EFI_UNIX_THUNK_PROTOCOL mUnixThunkTable = {
EFI_UNIX_THUNK_PROTOCOL_SIGNATURE,
#ifdef __APPLE__
#if defined(__APPLE__) || defined(MDE_CPU_X64)
//
// Mac OS X requires the stack to be 16-byte aligned for IA-32. So on an OS X build
// we add an assembly wrapper that makes sure the stack ges aligned.

View File

@ -50,14 +50,14 @@
.text
.globl _Gasketrmdir
_Gasketrmdir:
ASM_GLOBAL ASM_PFX(Gasketrmdir)
ASM_PFX(Gasketrmdir):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq _gUnixRmDir@GOTPCREL(%rip), %rax // Get function name mangled by C
movq ASM_PFX(gUnixRmDir)@GOTPCREL(%rip), %rax // Get function name mangled by C
movq (%rax), %rax
call *%rax
@ -66,14 +66,14 @@ _Gasketrmdir:
ret
.globl _Gasketopendir
_Gasketopendir:
ASM_GLOBAL ASM_PFX(Gasketopendir)
ASM_PFX(Gasketopendir):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq _gUnixOpenDir@GOTPCREL(%rip), %rax // Get function name mangled by C
movq ASM_PFX(gUnixOpenDir)@GOTPCREL(%rip), %rax // Get function name mangled by C
movq (%rax), %rax
call *%rax
@ -83,15 +83,15 @@ _Gasketopendir:
.globl _Gasketstat
_Gasketstat:
ASM_GLOBAL ASM_PFX(Gasketstat)
ASM_PFX(Gasketstat):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
movq _gUnixStat@GOTPCREL(%rip), %rax // Get function name mangled by C
movq ASM_PFX(gUnixStat)@GOTPCREL(%rip), %rax // Get function name mangled by C
movq (%rax), %rax
call *%rax
@ -100,15 +100,15 @@ _Gasketstat:
ret
.globl _Gasketstatfs
_Gasketstatfs:
ASM_GLOBAL ASM_PFX(Gasketstatfs)
ASM_PFX(Gasketstatfs):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
movq _gUnixStatFs@GOTPCREL(%rip), %rax // Get function name mangled by C
movq ASM_PFX(gUnixStatFs)@GOTPCREL(%rip), %rax // Get function name mangled by C
movq (%rax), %rax
call *%rax
@ -116,14 +116,14 @@ _Gasketstatfs:
popq %rsi
ret
.globl _Gasketrewinddir
_Gasketrewinddir:
ASM_GLOBAL ASM_PFX(Gasketrewinddir)
ASM_PFX(Gasketrewinddir):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq _gUnixRewinddir@GOTPCREL(%rip), %rax // Get function name mangled by C
movq ASM_PFX(gUnixRewinddir)@GOTPCREL(%rip), %rax // Get function name mangled by C
movq (%rax), %rax
call *%rax
@ -131,14 +131,14 @@ _Gasketrewinddir:
popq %rsi
ret
.globl _Gasketreaddir
_Gasketreaddir:
ASM_GLOBAL ASM_PFX(Gasketreaddir)
ASM_PFX(Gasketreaddir):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq _gUnixReaddir@GOTPCREL(%rip), %rax // Get function name mangled by C
movq ASM_PFX(gUnixReaddir)@GOTPCREL(%rip), %rax // Get function name mangled by C
movq (%rax), %rax
call *%rax
@ -147,52 +147,52 @@ _Gasketreaddir:
ret
.globl _GasketmsSleep
_GasketmsSleep:
ASM_GLOBAL ASM_PFX(GasketmsSleep)
ASM_PFX(GasketmsSleep):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
call _msSleep
call ASM_PFX(msSleep)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketexit
_Gasketexit:
ASM_GLOBAL ASM_PFX(Gasketexit)
ASM_PFX(Gasketexit):
movq %rcx, %rdi // Swizzle args
call _exit // Less to do as we will never return to EFI ABI world
call ASM_PFX(exit) // Less to do as we will never return to EFI ABI world
LDEAD_LOOP:
jmp LDEAD_LOOP // _exit should never return
.globl _GasketSetTimer
_GasketSetTimer:
ASM_GLOBAL ASM_PFX(GasketSetTimer)
ASM_PFX(GasketSetTimer):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _SetTimer
call ASM_PFX(SetTimer)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketGetLocalTime
_GasketGetLocalTime:
ASM_GLOBAL ASM_PFX(GasketGetLocalTime)
ASM_PFX(GasketGetLocalTime):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
call _GetLocalTime
call ASM_PFX(GetLocalTime)
popq %rdi // restore state
popq %rsi
@ -200,14 +200,14 @@ _GasketGetLocalTime:
.globl _Gasketgmtime
_Gasketgmtime:
ASM_GLOBAL ASM_PFX(Gasketgmtime)
ASM_PFX(Gasketgmtime):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
call _localtime
call ASM_PFX(localtime)
popq %rdi // restore state
popq %rsi
@ -215,33 +215,33 @@ _Gasketgmtime:
.globl _GasketGetTimeZone
_GasketGetTimeZone:
ASM_GLOBAL ASM_PFX(GasketGetTimeZone)
ASM_PFX(GasketGetTimeZone):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
call _GetTimeZone
call ASM_PFX(GetTimeZone)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketGetDayLight
_GasketGetDayLight:
ASM_GLOBAL ASM_PFX(GasketGetDayLight)
ASM_PFX(GasketGetDayLight):
LFB26:
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
call _GetDayLight
call ASM_PFX(GetDayLight)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketpoll
_Gasketpoll:
ASM_GLOBAL ASM_PFX(Gasketpoll)
ASM_PFX(Gasketpoll):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -249,7 +249,7 @@ _Gasketpoll:
movq %rdx, %rsi
movq %r8, %rdx
call _poll
call ASM_PFX(poll)
popq %rdi // restore state
popq %rsi
@ -257,8 +257,8 @@ _Gasketpoll:
.globl _Gasketread
_Gasketread:
ASM_GLOBAL ASM_PFX(Gasketread)
ASM_PFX(Gasketread):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -266,15 +266,15 @@ _Gasketread:
movq %rdx, %rsi
movq %r8, %rdx
call _read
call ASM_PFX(read)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketwrite
_Gasketwrite:
ASM_GLOBAL ASM_PFX(Gasketwrite)
ASM_PFX(Gasketwrite):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -282,29 +282,29 @@ _Gasketwrite:
movq %rdx, %rsi
movq %r8, %rdx
call _write
call ASM_PFX(write)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketgetenv
_Gasketgetenv:
ASM_GLOBAL ASM_PFX(Gasketgetenv)
ASM_PFX(Gasketgetenv):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
call _getenv
call ASM_PFX(getenv)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketopen
_Gasketopen:
ASM_GLOBAL ASM_PFX(Gasketopen)
ASM_PFX(Gasketopen):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -312,15 +312,15 @@ _Gasketopen:
movq %rdx, %rsi
movq %r8, %rdx
call _open
call ASM_PFX(open)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketlseek
_Gasketlseek:
ASM_GLOBAL ASM_PFX(Gasketlseek)
ASM_PFX(Gasketlseek):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -328,15 +328,15 @@ _Gasketlseek:
movq %rdx, %rsi
movq %r8, %rdx
call _lseek
call ASM_PFX(lseek)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketftruncate
_Gasketftruncate:
ASM_GLOBAL ASM_PFX(Gasketftruncate)
ASM_PFX(Gasketftruncate):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -344,21 +344,21 @@ _Gasketftruncate:
movq %rdx, %rsi
movq %r8, %rdx
call _ftruncate
call ASM_PFX(ftruncate)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketclose
_Gasketclose:
ASM_GLOBAL ASM_PFX(Gasketclose)
ASM_PFX(Gasketclose):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
call _close
call ASM_PFX(close)
popq %rdi // restore state
popq %rsi
@ -366,77 +366,77 @@ _Gasketclose:
.globl _Gasketmkdir
_Gasketmkdir:
ASM_GLOBAL ASM_PFX(Gasketmkdir)
ASM_PFX(Gasketmkdir):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _mkdir
call ASM_PFX(mkdir)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketunlink
_Gasketunlink:
ASM_GLOBAL ASM_PFX(Gasketunlink)
ASM_PFX(Gasketunlink):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
call _unlink
call ASM_PFX(unlink)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketGetErrno
_GasketGetErrno:
ASM_GLOBAL ASM_PFX(GasketGetErrno)
ASM_PFX(GasketGetErrno):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
call _GetErrno
call ASM_PFX(GetErrno)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketclosedir
_Gasketclosedir:
ASM_GLOBAL ASM_PFX(Gasketclosedir)
ASM_PFX(Gasketclosedir):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
call _closedir
call ASM_PFX(closedir)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketrename
_Gasketrename:
ASM_GLOBAL ASM_PFX(Gasketrename)
ASM_PFX(Gasketrename):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _rename
call ASM_PFX(rename)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketmktime
_Gasketmktime:
ASM_GLOBAL ASM_PFX(Gasketmktime)
ASM_PFX(Gasketmktime):
LFB42:
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -444,104 +444,104 @@ LFB42:
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _mktime
call ASM_PFX(mktime)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketfsync
_Gasketfsync:
ASM_GLOBAL ASM_PFX(Gasketfsync)
ASM_PFX(Gasketfsync):
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _fsync
call ASM_PFX(fsync)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketchmod
_Gasketchmod:
ASM_GLOBAL ASM_PFX(Gasketchmod)
ASM_PFX(Gasketchmod):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _chmod
call ASM_PFX(chmod)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketutime
_Gasketutime:
ASM_GLOBAL ASM_PFX(Gasketutime)
ASM_PFX(Gasketutime):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _utime
call ASM_PFX(utime)
popq %rdi // restore state
popq %rsi
ret
.globl _Gaskettcflush
_Gaskettcflush:
ASM_GLOBAL ASM_PFX(Gaskettcflush)
ASM_PFX(Gaskettcflush):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _tcflush
call ASM_PFX(tcflush)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketUgaCreate
_GasketUgaCreate:
ASM_GLOBAL ASM_PFX(GasketUgaCreate)
ASM_PFX(GasketUgaCreate):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _UgaCreate
call ASM_PFX(UgaCreate)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketperror
_Gasketperror:
ASM_GLOBAL ASM_PFX(Gasketperror)
ASM_PFX(Gasketperror):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _perror
call ASM_PFX(perror)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketioctl
_Gasketioctl:
ASM_GLOBAL ASM_PFX(Gasketioctl)
ASM_PFX(Gasketioctl):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -549,15 +549,15 @@ _Gasketioctl:
movq %rdx, %rsi
movq %r8, %rdx
call _UnixIoCtl1
call ASM_PFX(UnixIoCtl1)
popq %rdi // restore state
popq %rsi
ret
.globl _Gasketfcntl
_Gasketfcntl:
ASM_GLOBAL ASM_PFX(Gasketfcntl)
ASM_PFX(Gasketfcntl):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -565,7 +565,7 @@ _Gasketfcntl:
movq %rdx, %rsi
movq %r8, %rdx
call _UnixFcntl1
call ASM_PFX(UnixFcntl1)
popq %rdi // restore state
popq %rsi
@ -573,15 +573,15 @@ _Gasketfcntl:
.globl _Gasketcfsetispeed
_Gasketcfsetispeed:
ASM_GLOBAL ASM_PFX(Gasketcfsetispeed)
ASM_PFX(Gasketcfsetispeed):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _cfsetispeed
call ASM_PFX(cfsetispeed)
popq %rdi // restore state
popq %rsi
@ -589,23 +589,23 @@ _Gasketcfsetispeed:
.globl _Gasketcfsetospeed
_Gasketcfsetospeed:
ASM_GLOBAL ASM_PFX(Gasketcfsetospeed)
ASM_PFX(Gasketcfsetospeed):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _cfsetospeed
call ASM_PFX(cfsetospeed)
popq %rdi // restore state
popq %rsi
ret
.globl _Gaskettcgetattr
_Gaskettcgetattr:
ASM_GLOBAL ASM_PFX(Gaskettcgetattr)
ASM_PFX(Gaskettcgetattr):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -613,15 +613,15 @@ _Gaskettcgetattr:
movq %rdx, %rsi
movq %r8, %rdx
call _tcgetattr
call ASM_PFX(tcgetattr)
popq %rdi // restore state
popq %rsi
ret
.globl _Gaskettcsetattr
_Gaskettcsetattr:
ASM_GLOBAL ASM_PFX(Gaskettcsetattr)
ASM_PFX(Gaskettcsetattr):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -629,22 +629,22 @@ _Gaskettcsetattr:
movq %rdx, %rsi
movq %r8, %rdx
call _tcsetattr
call ASM_PFX(tcsetattr)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketUnixPeCoffGetEntryPoint
_GasketUnixPeCoffGetEntryPoint:
ASM_GLOBAL ASM_PFX(GasketUnixPeCoffGetEntryPoint)
ASM_PFX(GasketUnixPeCoffGetEntryPoint):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _SecPeCoffGetEntryPoint
call ASM_PFX(SecPeCoffGetEntryPoint)
popq %rdi // restore state
popq %rsi
@ -652,50 +652,50 @@ _GasketUnixPeCoffGetEntryPoint:
.globl _GasketUnixPeCoffRelocateImageExtraAction
_GasketUnixPeCoffRelocateImageExtraAction:
ASM_GLOBAL ASM_PFX(GasketUnixPeCoffRelocateImageExtraAction)
ASM_PFX(GasketUnixPeCoffRelocateImageExtraAction):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
call _SecPeCoffRelocateImageExtraAction
call ASM_PFX(SecPeCoffRelocateImageExtraAction)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketUnixPeCoffUnloadImageExtraAction
_GasketUnixPeCoffUnloadImageExtraAction:
ASM_GLOBAL ASM_PFX(GasketUnixPeCoffUnloadImageExtraAction)
ASM_PFX(GasketUnixPeCoffUnloadImageExtraAction):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
call _SecPeCoffLoaderUnloadImageExtraAction
call ASM_PFX(SecPeCoffLoaderUnloadImageExtraAction)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketUgaClose
_GasketUgaClose:
ASM_GLOBAL ASM_PFX(GasketUgaClose)
ASM_PFX(GasketUgaClose):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
call _UgaClose
call ASM_PFX(UgaClose)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketUgaSize
_GasketUgaSize:
ASM_GLOBAL ASM_PFX(GasketUgaSize)
ASM_PFX(GasketUgaSize):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -703,44 +703,44 @@ _GasketUgaSize:
movq %rdx, %rsi
movq %r8, %rdx
call _UgaSize
call ASM_PFX(UgaSize)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketUgaCheckKey
_GasketUgaCheckKey:
ASM_GLOBAL ASM_PFX(GasketUgaCheckKey)
ASM_PFX(GasketUgaCheckKey):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
call _UgaCheckKey
call ASM_PFX(UgaCheckKey)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketUgaGetKey
_GasketUgaGetKey:
ASM_GLOBAL ASM_PFX(GasketUgaGetKey)
ASM_PFX(GasketUgaGetKey):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
movq %rcx, %rdi // Swizzle args
movq %rdx, %rsi
call _UgaGetKey
call ASM_PFX(UgaGetKey)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketUgaBlt
_GasketUgaBlt:
ASM_GLOBAL ASM_PFX(GasketUgaBlt)
ASM_PFX(GasketUgaBlt):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -749,7 +749,7 @@ _GasketUgaBlt:
movq %r8, %rdx
movq %r9, %rcx
call _UgaBlt
call ASM_PFX(UgaBlt)
popq %rdi // restore state
popq %rsi
@ -766,8 +766,8 @@ _GasketUgaBlt:
// UINTN Arg2,
// UINTN Arg3
// );
.globl _ReverseGasketUint64
_ReverseGasketUint64:
ASM_GLOBAL ASM_PFX(ReverseGasketUint64)
ASM_PFX(ReverseGasketUint64):
movq %rdi, %rax // Swizzle args
movq %rsi, %r9
// movq %rdx, %rdx
@ -783,8 +783,8 @@ _ReverseGasketUint64:
// Sec PPI Callbacks
.globl _GasketSecUnixPeiLoadFile
_GasketSecUnixPeiLoadFile:
ASM_GLOBAL ASM_PFX(GasketSecUnixPeiLoadFile)
ASM_PFX(GasketSecUnixPeiLoadFile):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -793,7 +793,7 @@ _GasketSecUnixPeiLoadFile:
movq %r8, %rdx
movq %r9, %rcx
call _SecUnixPeiLoadFile
call ASM_PFX(SecUnixPeiLoadFile)
popq %rdi // restore state
popq %rsi
@ -801,8 +801,8 @@ _GasketSecUnixPeiLoadFile:
.globl _GasketSecUnixPeiAutoScan
_GasketSecUnixPeiAutoScan:
ASM_GLOBAL ASM_PFX(GasketSecUnixPeiAutoScan)
ASM_PFX(GasketSecUnixPeiAutoScan):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -810,26 +810,26 @@ _GasketSecUnixPeiAutoScan:
movq %rdx, %rsi
movq %r8, %rdx
call _SecUnixPeiAutoScan
call ASM_PFX(SecUnixPeiAutoScan)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketSecUnixUnixThunkAddress
_GasketSecUnixUnixThunkAddress:
ASM_GLOBAL ASM_PFX(GasketSecUnixUnixThunkAddress)
ASM_PFX(GasketSecUnixUnixThunkAddress):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
call _SecUnixUnixThunkAddress
call ASM_PFX(SecUnixUnixThunkAddress)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketSecPeiReportStatusCode
_GasketSecPeiReportStatusCode:
ASM_GLOBAL ASM_PFX(GasketSecPeiReportStatusCode)
ASM_PFX(GasketSecPeiReportStatusCode):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -840,15 +840,15 @@ _GasketSecPeiReportStatusCode:
movq $0, %r8 // BugBug: This should come from the stack
movq $0, %r9 // But we can cheat since they are optional for bringup....
call _SecPeiReportStatusCode
call ASM_PFX(SecPeiReportStatusCode)
popq %rdi // restore state
popq %rsi
ret
.globl _GasketSecUnixFdAddress
_GasketSecUnixFdAddress:
ASM_GLOBAL ASM_PFX(GasketSecUnixFdAddress)
ASM_PFX(GasketSecUnixFdAddress):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -857,7 +857,7 @@ _GasketSecUnixFdAddress:
movq %r8, %rdx
movq %r9, %rcx
call _SecUnixFdAddress
call ASM_PFX(SecUnixFdAddress)
popq %rdi // restore state
popq %rsi
@ -866,8 +866,8 @@ _GasketSecUnixFdAddress:
.globl _GasketSecTemporaryRamSupport
_GasketSecTemporaryRamSupport:
ASM_GLOBAL ASM_PFX(GasketSecTemporaryRamSupport)
ASM_PFX(GasketSecTemporaryRamSupport):
pushq %rsi // %rsi & %rdi are volatie in Unix and callee-save in EFI ABI
pushq %rdi
@ -876,7 +876,7 @@ _GasketSecTemporaryRamSupport:
movq %r8, %rdx
movq %r9, %rcx
call _SecTemporaryRamSupport
call ASM_PFX(SecTemporaryRamSupport)
popq %rdi // restore state
popq %rsi