forked from KolibriOS/kolibrios
uefi64kos: Fix stack alignment on function calls.
It is a formal requirement of UEFI spec that the stack is to be aligned on 16 bytes on all calls to service routines. I changed eficall macro to fstcall one in my previous commit. Due to differences in macro logic that change broke UEFI boot on some platforms that do care about stack alignment. This commit should fix the issue. git-svn-id: svn://kolibrios.org@9253 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
7454368c78
commit
e44770ac18
@ -20,36 +20,39 @@ EFIERR = 0x80000000
|
||||
|
||||
struct EFI_SYSTEM_TABLE
|
||||
Hdr EFI_TABLE_HEADER
|
||||
FirmwareVendor dd ?
|
||||
FirmwareVendor DN ?
|
||||
FirmwareRevision dd ?
|
||||
ConsoleInHandle dd ?
|
||||
ConIn dd ?
|
||||
ConsoleOutHandle dd ?
|
||||
ConOut dd ?
|
||||
StandardErrorHandle dd ?
|
||||
StdErr dd ?
|
||||
RuntimeServices dd ?
|
||||
BootServices dd ?
|
||||
NumberOfTableEntries dd ?
|
||||
ConfigurationTable dd ?
|
||||
|
||||
ConsoleInHandle DN ?
|
||||
ConIn DN ?
|
||||
ConsoleOutHandle DN ?
|
||||
ConOut DN ?
|
||||
StandardErrorHandle DN ?
|
||||
StdErr DN ?
|
||||
RuntimeServices DN ?
|
||||
BootServices DN ?
|
||||
NumberOfTableEntries DN ?
|
||||
ConfigurationTable DN ?
|
||||
ends
|
||||
|
||||
struct EFI_CONFIGURATION_TABLE
|
||||
VendorGUID rd 4
|
||||
VendorTable dd ?
|
||||
VendorTable DN ?
|
||||
ends
|
||||
|
||||
struct EFI_LOADED_IMAGE_PROTOCOL
|
||||
Revision dd ?
|
||||
ParentHandle dd ?
|
||||
SystemTable dd ?
|
||||
DeviceHandle dd ?
|
||||
FilePath dd ?
|
||||
Reserved dd ?
|
||||
|
||||
ParentHandle DN ?
|
||||
SystemTable DN ?
|
||||
DeviceHandle DN ?
|
||||
FilePath DN ?
|
||||
Reserved DN ?
|
||||
LoadOptionsSize dd ?
|
||||
ImageBase dd ?
|
||||
|
||||
ImageBase DN ?
|
||||
ImageSize DQ ?
|
||||
ImageCodeType dd ?
|
||||
ImageDataType dd ?
|
||||
UnLoad dd ?
|
||||
UnLoad DN ?
|
||||
ends
|
||||
|
@ -20,34 +20,39 @@ EFIERR = 0x8000000000000000
|
||||
|
||||
struct EFI_SYSTEM_TABLE
|
||||
Hdr EFI_TABLE_HEADER
|
||||
FirmwareVendor dq ?
|
||||
FirmwareVendor DN ?
|
||||
FirmwareRevision dd ?
|
||||
dd ?
|
||||
ConsoleInHandle dq ?
|
||||
ConIn dq ?
|
||||
ConsoleOutHandle dq ?
|
||||
ConOut dq ?
|
||||
StandardErrorHandle dq ?
|
||||
StdErr dq ?
|
||||
RuntimeServices dq ?
|
||||
BootServices dq ?
|
||||
NumberOfTableEntries dq ?
|
||||
ConfigurationTable dq ?
|
||||
ConsoleInHandle DN ?
|
||||
ConIn DN ?
|
||||
ConsoleOutHandle DN ?
|
||||
ConOut DN ?
|
||||
StandardErrorHandle DN ?
|
||||
StdErr DN ?
|
||||
RuntimeServices DN ?
|
||||
BootServices DN ?
|
||||
NumberOfTableEntries DN ?
|
||||
ConfigurationTable DN ?
|
||||
ends
|
||||
|
||||
struct EFI_CONFIGURATION_TABLE
|
||||
VendorGUID rd 4
|
||||
VendorTable DN ?
|
||||
ends
|
||||
|
||||
struct EFI_LOADED_IMAGE_PROTOCOL
|
||||
Revision dd ?
|
||||
dd ?
|
||||
ParentHandle dq ?
|
||||
SystemTable dq ?
|
||||
DeviceHandle dq ?
|
||||
FilePath dq ?
|
||||
Reserved dq ?
|
||||
ParentHandle DN ?
|
||||
SystemTable DN ?
|
||||
DeviceHandle DN ?
|
||||
FilePath DN ?
|
||||
Reserved DN ?
|
||||
LoadOptionsSize dd ?
|
||||
dd ?
|
||||
ImageBase dq ?
|
||||
ImageBase DN ?
|
||||
ImageSize dq ?
|
||||
ImageCodeType dd ?
|
||||
ImageDataType dd ?
|
||||
UnLoad dq ?
|
||||
UnLoad DN ?
|
||||
ends
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user