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

View File

@ -36,7 +36,7 @@ Abstract:
#include "Uefi.h" #include "Uefi.h"
#include "Library/UnixLib.h" #include "Library/UnixLib.h"
#ifdef __APPLE__ #if defined(__APPLE__) || defined(MDE_CPU_X64)
#include "Gasket.h" #include "Gasket.h"
#endif #endif
@ -57,7 +57,7 @@ settimer_handler (int sig)
settimer_timeval = timeval; settimer_timeval = timeval;
if (settimer_callback) { if (settimer_callback) {
#ifdef __APPLE__ #if defined(__APPLE__) || defined(MDE_CPU_X64)
ReverseGasketUint64 (settimer_callback, delta); ReverseGasketUint64 (settimer_callback, delta);
#else #else
(*settimer_callback)(delta); (*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 mUnixThunkTable = {
EFI_UNIX_THUNK_PROTOCOL_SIGNATURE, 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 // 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. // we add an assembly wrapper that makes sure the stack ges aligned.

View File

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