Subversion Repositories Kolibri OS

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
9286 381 d 16 h dunkaist /kernel/trunk/bootloader/uefi4kos/ uefi64kos: Fix reporting of file size  
9253 394 d 13 h dunkaist /kernel/trunk/bootloader/uefi4kos/ 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.
 
9227 398 d 13 h dunkaist /kernel/trunk/ 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.
 
8656 612 d 20 h dunkaist /kernel/trunk/bootloader/uefi4kos/ uefi4kos: Make sure 32bit trampoline is below 4GiB

This fixes booting via uefi64kos on some systems.
 
8284 733 d 22 h dunkaist /kernel/trunk/ uefi4kos: Fix boot and mouse pointer on some configurations.

UEFI firmware doesn't use VESA mode codes, so disable this check
for UEFI boot.
 
8220 745 d 20 h dunkaist /kernel/trunk/bootloader/uefi4kos/ uefi4kos: Fix memmap conversion from uefi to e820 format.  
8206 747 d 13 h dunkaist /kernel/trunk/bootloader/uefi4kos/ uefi4kos: Fix memmap_block_cnt and 32->64 bit sign extension in arithmetics.  
8150 757 d 21 h dunkaist / Add basic 32-bit UEFI loader.  
8092 789 d 12 h dunkaist / uefi4kos: Read config and kernel files from the disk.

* Now there is a config file with boot options, example included.
* Config, kernel and ramdisk are loaded from the disk, not compiled in.
* DEVICES.DAT file is also optionally loaded from the disk.
* Also, move the loader to /kernel/trunk/bootloader/uefi4kos.