Subversion Repositories Kolibri OS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
9977 68 d 18 h rgimad /kernel/trunk/ Change "mov reg, 0" to "xor reg, reg" where it's possible  
9958 103 d 12 h dunkaist / Switch to the unified (BIOS and UEFI) kernel image

The initial patch by bzt with my minor edits.
 
9286 890 d 15 h dunkaist /kernel/trunk/bootloader/uefi4kos/ uefi64kos: Fix reporting of file size  
9253 903 d 12 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 907 d 12 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 1121 d 18 h dunkaist /kernel/trunk/bootloader/uefi4kos/ uefi4kos: Make sure 32bit trampoline is below 4GiB

This fixes booting via uefi64kos on some systems.
 
8284 1242 d 21 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 1254 d 18 h dunkaist /kernel/trunk/bootloader/uefi4kos/ uefi4kos: Fix memmap conversion from uefi to e820 format.  
8206 1256 d 11 h dunkaist /kernel/trunk/bootloader/uefi4kos/ uefi4kos: Fix memmap_block_cnt and 32->64 bit sign extension in arithmetics.  
8150 1266 d 20 h dunkaist / Add basic 32-bit UEFI loader.  
8092 1298 d 10 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.