Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
9253 931 d 16 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.
 
/kernel/trunk/bootloader/uefi4kos/uefi32.inc
/kernel/trunk/bootloader/uefi4kos/uefi64.inc
/kernel/trunk/bootloader/uefi4kos/uefi64kos.asm
9227 935 d 16 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.
 
/kernel/trunk/bootloader/uefi4kos/proc64.inc
/kernel/trunk/acpi/acpi.inc
/kernel/trunk/bootloader/uefi4kos/uefi.inc
/kernel/trunk/bootloader/uefi4kos/uefi32.inc
/kernel/trunk/bootloader/uefi4kos/uefi32kos.asm
/kernel/trunk/bootloader/uefi4kos/uefi64.inc
/kernel/trunk/bootloader/uefi4kos/uefi64kos.asm
/kernel/trunk/bus/pci/pci16.inc
/kernel/trunk/bus/pci/pci32.inc
/kernel/trunk/const.inc
8865 1073 d 9 h leency /kernel/trunk/bootloader/uefi4kos/ uefi/kolibri.ini: clarify /sys directory path  
/kernel/trunk/bootloader/uefi4kos/kolibri.ini
8864 1073 d 19 h dunkaist /kernel/trunk/bootloader/uefi4kos/ uefi4kos: Disable debug output by default.  
/kernel/trunk/bootloader/uefi4kos/kolibri.ini
8656 1149 d 22 h dunkaist /kernel/trunk/bootloader/uefi4kos/ uefi4kos: Make sure 32bit trampoline is below 4GiB

This fixes booting via uefi64kos on some systems.
 
/kernel/trunk/bootloader/uefi4kos/uefi64kos.asm
8284 1271 d 1 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.
 
/kernel/trunk/bootloader/uefi4kos/uefi32kos.asm
/kernel/trunk/bootloader/uefi4kos/uefi64kos.asm
/kernel/trunk/init.inc
/kernel/trunk/video/cursors.inc
8220 1282 d 22 h dunkaist /kernel/trunk/bootloader/uefi4kos/ uefi4kos: Fix memmap conversion from uefi to e820 format.  
/kernel/trunk/bootloader/uefi4kos/uefi32kos.asm
/kernel/trunk/bootloader/uefi4kos/uefi64kos.asm
8206 1284 d 15 h dunkaist /kernel/trunk/bootloader/uefi4kos/ uefi4kos: Fix memmap_block_cnt and 32->64 bit sign extension in arithmetics.  
/kernel/trunk/bootloader/uefi4kos/uefi32kos.asm
/kernel/trunk/bootloader/uefi4kos/uefi64kos.asm
8150 1295 d 0 h dunkaist / Add basic 32-bit UEFI loader.  
/kernel/trunk/bootloader/uefi4kos/uefi32.inc
/kernel/trunk/bootloader/uefi4kos/uefi32kos.asm
/kernel/trunk/bootloader/uefi4kos/uefi64.inc
/kernel/trunk/bootloader/uefi4kos/uefi64kos.asm
/kernel/trunk/bootloader/uefi4kos/uefi4kos.asm
/data/Tupfile.lua
/kernel/trunk/bootloader/uefi4kos/Tupfile.lua
/kernel/trunk/bootloader/uefi4kos/kolibri.ini
/kernel/trunk/bootloader/uefi4kos/uefi.inc
8092 1326 d 14 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.
 
/kernel/trunk/bootloader/uefi4kos
/kernel/trunk/bootloader/uefi4kos/Tupfile.lua
/kernel/trunk/bootloader/uefi4kos/kolibri.ini
/kernel/trunk/bootloader/uefi4kos/uefi.inc
/kernel/trunk/bootloader/uefi4kos/uefi4kos.asm
/kernel/trunk/boot/uefi.inc
/kernel/trunk/boot/uefi4kos.asm
/data/Tupfile.lua
/kernel/trunk/Tupfile.lua
/kernel/trunk/boot/parsers.inc
/kernel/trunk/const.inc
/kernel/trunk/core/apic.inc
/kernel/trunk/data32.inc
/kernel/trunk/kernel.asm