Commit Graph

7 Commits

Author SHA1 Message Date
e44770ac18 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
2021-11-05 02:17:31 +00:00
707e7037f0 uefi64kos: Detect last PCI bus, use fastcall macro.
* Detect last PCI bus via PCI Root Bridge IO protocol (uefi64kos only).
 * fastcall macro by Tomasz is much cleaner than eficall from osdev board.

git-svn-id: svn://kolibrios.org@9227 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-11-01 02:04:30 +00:00
af53d12ef9 uefi4kos: Make sure 32bit trampoline is below 4GiB
This fixes booting via uefi64kos on some systems.

git-svn-id: svn://kolibrios.org@8656 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-03-31 19:45:53 +00:00
295aa0ad77 uefi4kos: Fix boot and mouse pointer on some configurations.
UEFI firmware doesn't use VESA mode codes, so disable this check
for UEFI boot.

git-svn-id: svn://kolibrios.org@8284 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-30 17:19:17 +00:00
6a975ff76a uefi4kos: Fix memmap conversion from uefi to e820 format.
git-svn-id: svn://kolibrios.org@8220 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-18 19:34:59 +00:00
98c3ca18d2 uefi4kos: Fix memmap_block_cnt and 32->64 bit sign extension in arithmetics.
git-svn-id: svn://kolibrios.org@8206 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-17 02:32:21 +00:00
2004300949 Add basic 32-bit UEFI loader.
git-svn-id: svn://kolibrios.org@8150 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-06 17:52:10 +00:00