summaryrefslogtreecommitdiff
path: root/InOsEmuPkg/Unix/Sec
diff options
context:
space:
mode:
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2011-06-19 18:56:13 +0000
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2011-06-19 18:56:13 +0000
commitb02333caa6e131fcdefe2ceb8623e1215724b70b (patch)
tree80a7e757d6318219bb3ea02ad9d134225695e134 /InOsEmuPkg/Unix/Sec
parentf2f008b43594a438204ce00ce2e9efe8c9428f60 (diff)
downloadedk2-b02333caa6e131fcdefe2ceb8623e1215724b70b.zip
edk2-b02333caa6e131fcdefe2ceb8623e1215724b70b.tar.gz
edk2-b02333caa6e131fcdefe2ceb8623e1215724b70b.tar.bz2
InOsEmuPkg: Fix issue with EFI_LBA not being implemented as a UINT64 in the IA-32 Gasket.
Also clean up some missing EFIAPI. signed-off-by: andrewfish git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11855 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'InOsEmuPkg/Unix/Sec')
-rw-r--r--InOsEmuPkg/Unix/Sec/Gasket.h7
-rw-r--r--InOsEmuPkg/Unix/Sec/Ia32/Gasket.S16
2 files changed, 16 insertions, 7 deletions
diff --git a/InOsEmuPkg/Unix/Sec/Gasket.h b/InOsEmuPkg/Unix/Sec/Gasket.h
index a9ecf8d..e596696 100644
--- a/InOsEmuPkg/Unix/Sec/Gasket.h
+++ b/InOsEmuPkg/Unix/Sec/Gasket.h
@@ -94,11 +94,13 @@ GasketSecDisableInterrupt (
);
UINT64
+EFIAPI
GasketQueryPerformanceFrequency (
VOID
);
UINT64
+EFIAPI
GasketQueryPerformanceCounter (
VOID
);
@@ -176,7 +178,7 @@ GasketSecUnixUnixFwhAddress (
typedef
void
-(*CALL_BACK) (
+(EFIAPI *CALL_BACK) (
UINT64 Delta
);
@@ -448,6 +450,7 @@ GasketEmuBlockIoReset (
);
EFI_STATUS
+EFIAPI
GasketEmuBlockIoReadBlocks (
IN EMU_BLOCK_IO_PROTOCOL *This,
IN UINT32 MediaId,
@@ -469,12 +472,14 @@ GasketEmuBlockIoWriteBlocks (
);
EFI_STATUS
+EFIAPI
GasketEmuBlockIoFlushBlocks (
IN EMU_BLOCK_IO_PROTOCOL *This,
IN OUT EFI_BLOCK_IO2_TOKEN *Token
);
EFI_STATUS
+EFIAPI
GasketEmuBlockIoCreateMapping (
IN EMU_BLOCK_IO_PROTOCOL *This,
IN EFI_BLOCK_IO_MEDIA *Media
diff --git a/InOsEmuPkg/Unix/Sec/Ia32/Gasket.S b/InOsEmuPkg/Unix/Sec/Ia32/Gasket.S
index d9ac12d..f1b974e 100644
--- a/InOsEmuPkg/Unix/Sec/Ia32/Gasket.S
+++ b/InOsEmuPkg/Unix/Sec/Ia32/Gasket.S
@@ -1022,15 +1022,17 @@ ASM_GLOBAL ASM_PFX(GasketEmuBlockIoReadBlocks)
ASM_PFX(GasketEmuBlockIoReadBlocks):
pushl %ebp
movl %esp, %ebp
- subl $40, %esp // sub extra 16 from the stack for alignment
+ subl $56, %esp // sub extra 16 from the stack for alignment
and $-16, %esp // stack needs to end in 0xFFFFFFF0 before call
+ movl 32(%ebp), %eax
+ movl %eax, 24(%esp)
movl 28(%ebp), %eax
movl %eax, 20(%esp)
movl 24(%ebp), %eax
movl %eax, 16(%esp)
- movl 20(%ebp), %eax
- movl %eax, 12(%esp)
movl 16(%ebp), %eax
+ movl 20(%ebp), %edx
+ movl %edx, 12(%esp)
movl %eax, 8(%esp)
movl 12(%ebp), %eax
movl %eax, 4(%esp)
@@ -1047,15 +1049,17 @@ ASM_GLOBAL ASM_PFX(GasketEmuBlockIoWriteBlocks)
ASM_PFX(GasketEmuBlockIoWriteBlocks):
pushl %ebp
movl %esp, %ebp
- subl $40, %esp // sub extra 16 from the stack for alignment
+ subl $56, %esp // sub extra 16 from the stack for alignment
and $-16, %esp // stack needs to end in 0xFFFFFFF0 before call
+ movl 32(%ebp), %eax
+ movl %eax, 24(%esp)
movl 28(%ebp), %eax
movl %eax, 20(%esp)
movl 24(%ebp), %eax
movl %eax, 16(%esp)
- movl 20(%ebp), %eax
- movl %eax, 12(%esp)
movl 16(%ebp), %eax
+ movl 20(%ebp), %edx
+ movl %edx, 12(%esp)
movl %eax, 8(%esp)
movl 12(%ebp), %eax
movl %eax, 4(%esp)