mirror of https://github.com/acidanthera/audk.git
Add GCC assember for DxeIpl module
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7395 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
57dfc48f93
commit
ef03248cb5
|
@ -0,0 +1,27 @@
|
|||
UINT8
|
||||
EFIAPI
|
||||
CpuIoRead8 (
|
||||
IN UINT16 Port
|
||||
)
|
||||
{
|
||||
UINT8 Data;
|
||||
asm ( "inb %1, %0"
|
||||
: "=a"(Data)
|
||||
: "d"(Port)
|
||||
);
|
||||
return Data;
|
||||
}
|
||||
|
||||
VOID
|
||||
EFIAPI
|
||||
CpuIoWrite8 (
|
||||
IN UINT16 Port,
|
||||
IN UINT32 Data
|
||||
)
|
||||
{
|
||||
asm ( "outb %1, %0"
|
||||
: /* No outputs */
|
||||
: "d"(Port)
|
||||
, "a"((UINT8)Data)
|
||||
);
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
VOID
|
||||
EnterDxeMain (
|
||||
IN VOID *StackTop,
|
||||
IN VOID *DxeCoreEntryPoint,
|
||||
IN VOID *Hob,
|
||||
IN VOID *PageTable
|
||||
)
|
||||
{
|
||||
__asm__ ( "movl %0, %%esp \n\t"
|
||||
"pushl %2 \n\t"
|
||||
"pushl $0 \n\t"
|
||||
"movl %1, %%ecx \n\t"
|
||||
"jmp %%ecx"
|
||||
::"q"(StackTop), "q"(DxeCoreEntryPoint), "q"(Hob)
|
||||
);
|
||||
}
|
Loading…
Reference in New Issue