diff options
author | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-06-19 18:56:13 +0000 |
---|---|---|
committer | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-06-19 18:56:13 +0000 |
commit | b02333caa6e131fcdefe2ceb8623e1215724b70b (patch) | |
tree | 80a7e757d6318219bb3ea02ad9d134225695e134 /InOsEmuPkg | |
parent | f2f008b43594a438204ce00ce2e9efe8c9428f60 (diff) | |
download | edk2-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')
-rw-r--r-- | InOsEmuPkg/Unix/Sec/Gasket.h | 7 | ||||
-rw-r--r-- | InOsEmuPkg/Unix/Sec/Ia32/Gasket.S | 16 |
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) |