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