Adding Simple Pointer, GOP, SimpleTextInEx, and Networking protocols to the emulator. Cleaned up POSIX include situation by centralizing it in a single file, like NT32. Fixed TPL issue with TPL High not being emulated correctly, it was possible to take a timer tick when the locks in the DXE core should have prevented this. Remove some unused files to make things easier to maintain.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11105 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
andrewfish
2010-11-30 23:38:40 +00:00
parent e23a349aae
commit 2ff79f2eda
44 changed files with 6574 additions and 9581 deletions

View File

@@ -127,6 +127,31 @@ _GasketUintnUintnUintnUintn:
leave
ret
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
.globl _GasketUintnUintnUintnUintnUintn
_GasketUintnUintnUintnUintnUintn:
pushl %ebp
movl %esp, %ebp
subl $50, %esp # sub extra 0x10 from the stack for the AND
and $-16, %esp # stack needs to end in 0xFFFFFFF0 before call
movl 8(%ebp), %eax
movl %eax, -12(%ebp)
movl 28(%ebp), %eax
movl %eax, 16(%esp)
movl 24(%ebp), %eax
movl %eax, 12(%esp)
movl 20(%ebp), %eax
movl %eax, 8(%esp)
movl 16(%ebp), %eax
movl %eax, 4(%esp)
movl 12(%ebp), %eax
movl %eax, (%esp)
movl -12(%ebp), %eax
call *%eax
leave
ret
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
.globl _GasketUintn10Args
@@ -256,6 +281,35 @@ _ReverseGasketUint64:
ret
.globl _ReverseGasketUint64Uint64
_ReverseGasketUint64Uint64:
pushl %ebp
movl %esp, %ebp
subl $56, %esp
movl 12(%ebp), %eax
movl %eax, -32(%ebp)
movl 16(%ebp), %eax
movl %eax, -28(%ebp)
movl 20(%ebp), %eax
movl %eax, -40(%ebp)
movl 24(%ebp), %eax
movl %eax, -36(%ebp)
movl 8(%ebp), %eax
movl %eax, -12(%ebp)
movl -40(%ebp), %eax
movl -36(%ebp), %edx
movl %eax, 8(%esp)
movl %edx, 12(%esp)
movl -32(%ebp), %eax
movl -28(%ebp), %edx
movl %eax, (%esp)
movl %edx, 4(%esp)
movl -12(%ebp), %eax
call *%eax
leave
ret
// Sec PPI Callbacks
.globl _GasketSecUnixPeiLoadFile
@@ -288,4 +342,3 @@ _GasketSecTemporaryRamSupport:
jmp _SecTemporaryRamSupport
#endif

View File

@@ -7,7 +7,7 @@
the assembly functions.
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
Portions copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
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
@@ -36,6 +36,7 @@ typedef UINT32 UINTN;
typedef int (*GASKET_VOID) ();
typedef int (*GASKET_UINTN) (UINTN);
typedef int (*GASKET_UINT64) (UINT64);
typedef int (*GASKET_UINT64UINT64) (UINT64, UINT64);
typedef int (*GASKET_UINTN_UINTN) (UINTN, UINTN);
typedef int (*GASKET_UINTN_UINTN_UINTN) (UINTN, UINTN, UINTN);
typedef int (*GASKET_UINTN_UINTN_UINTN_UINTN) (UINTN, UINTN, UINTN, UINTN);
@@ -149,4 +150,14 @@ ReverseGasketUint64 (void *api, UINT64 a)
return;
}
void
ReverseGasketUint64UINT64 (void *api, UINT64 a, UINT64 b)
{
GASKET_UINT64UINT64 func;
func = (GASKET_UINT64UINT64)api;
func (a, b);
return;
}