37 Commits

Author SHA1 Message Date
Ivan Baravy
e633ea8eac Fix extended_primary_loader for native CD boot
When the extended primary loader for CD was introduced in 2008-2009 it
used to load a relatively small secondary loader. Later the secondary
loader was integrated into the kernel, hence the primary loader had to
load the kernel which is 100kB+. The EDD BIOS specification allows to
read less than 0x80 sectors at once using Int 0x13 0x42 service. For a
512-byte sector this is less than 0x10000 bytes which is a 64kB limit.
The same limit of 64kB is reached on a CD with only 0x20 sectors,
because the sector size is 2048 bytes here. This commit changes the
maximum number of sectors that can be read by the loader at once from
0x7f to 0x20, i.e. reading is done in 64kB blocks now.
2025-02-22 20:03:24 +00:00
Ivan Baravy
d470cce4d8 Fix language codes in the kernel
git-svn-id: svn://kolibrios.org@10073 a494cfbc-eb01-0410-851d-a64ba20cac60
2024-06-01 01:37:18 +00:00
Andrew Dent
a7816e7613 Consistent use of KolibriOS name
- Ensure consistent naming for brand integrity.

git-svn-id: svn://kolibrios.org@10049 a494cfbc-eb01-0410-851d-a64ba20cac60
2024-05-22 10:10:18 +00:00
Ivan Baravy
e9e08c56b6 Update Tupfile.lua's for tup-0.8
git-svn-id: svn://kolibrios.org@10042 a494cfbc-eb01-0410-851d-a64ba20cac60
2024-05-21 14:45:21 +00:00
Rustem Gimadutdinov (rgimad)
a772f5b96f Change "mov reg, 0" to "xor reg, reg" where it's possible
git-svn-id: svn://kolibrios.org@9977 a494cfbc-eb01-0410-851d-a64ba20cac60
2024-02-17 20:25:06 +00:00
Ivan Baravy
034dd79f43 Switch to the unified (BIOS and UEFI) kernel image
The initial patch by bzt with my minor edits.

git-svn-id: svn://kolibrios.org@9958 a494cfbc-eb01-0410-851d-a64ba20cac60
2024-01-14 01:39:36 +00:00
turbocat
e4362a1edc Fixed a "blue screen" hang when trying to write a configuration to a read-only device
git-svn-id: svn://kolibrios.org@9942 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-09-22 19:17:33 +00:00
Ivan Baravy
0dc168b130 uefi64kos: Fix reporting of file size
git-svn-id: svn://kolibrios.org@9286 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-11-17 23:17:45 +00:00
Ivan Baravy
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
Ivan Baravy
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
Kirill Lipatov (Leency)
8001bbcc4e uefi/kolibri.ini: clarify /sys directory path
git-svn-id: svn://kolibrios.org@8865 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-06-16 08:33:20 +00:00
Ivan Baravy
347719fb25 uefi4kos: Disable debug output by default.
git-svn-id: svn://kolibrios.org@8864 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-06-15 22:20:16 +00:00
Ivan Baravy
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
Ivan Baravy
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
Ivan Baravy
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
Ivan Baravy
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
Ivan Baravy
5b65357242 extended_primary_loader: Fix handling of 'resolution' option.
git-svn-id: svn://kolibrios.org@8175 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-11 22:27:30 +00:00
Ivan Baravy
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
Ivan Baravy
8e5b79b154 kernel: Don't read acpi_dev_* vars that if uninitialized.
Currently only uefi4kos loader initializes these variables. May be one
day BIOS loaders will load DEVICES.DAT file and initialize these vars
too, may be one day we will detect APIC IRQs via ACPI. But not today.

git-svn-id: svn://kolibrios.org@8117 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-26 04:29:48 +00:00
Ivan Baravy
ab9b1ebb4a 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.

git-svn-id: svn://kolibrios.org@8092 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-06 03:32:57 +00:00
Ivan Baravy
f5e0f96e84 Add extended_primary_loader to autobuild.
* Build fat1x, fat32, cdfs, after_win loaders.
* Set use_lba=1 by default in fat32 loader.
* Build kolibri.raw: flash / hdd image.
* Add example config.ini file.
* Add an option (config file and screen) to not load ramdisk image.
* Add an option (config file only) to set /sys path.

Now you can boot without a ramdisk from a storage that is supported
by the kernel itself, i.e. without loadable drivers. Thus you can not
load the system without a ramdisk from SATA/AHCI and USB drives.

git-svn-id: svn://kolibrios.org@8091 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-04 16:53:59 +00:00
theonlymirage
ffac6ebf7a Сlear direction flag for Phoenix BIOS (for correct printing of messages in real mode).
git-svn-id: svn://kolibrios.org@7215 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-04-02 06:33:43 +00:00
Ivan Baravy
0e02132b9f Replace 'equ' macros with '=' ones.
They appear in symbols file.
They don't require parentheses.
They are shorter.

git-svn-id: svn://kolibrios.org@7136 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-12-20 01:07:10 +00:00
Yogev Ezra
76a0cbdfe5 Change copyright year in kernel and drivers to 2015. No code changes.
git-svn-id: svn://kolibrios.org@5363 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-08 20:10:22 +00:00
CleverMouse
cd74d1af33 switch build system to Tup
git-svn-id: svn://kolibrios.org@5098 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-09-12 15:15:23 +00:00
Marat Zakiyanov (Mario79)
5243ecfc1d Fix r.4850
git-svn-id: svn://kolibrios.org@4851 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-04-17 21:27:50 +00:00
Marat Zakiyanov (Mario79)
da8c332884 Added the tag "Revision: XXXX" in some kernel files, to form the right number of revision at boot (blue boot screen).
git-svn-id: svn://kolibrios.org@4850 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-04-17 21:19:45 +00:00
Sergey Semyonov (Serge)
75ff73eb60 grub4kos: print panic messages
git-svn-id: svn://kolibrios.org@4441 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-01-13 04:03:22 +00:00
Sergey Semyonov (Serge)
98dad9f109 grub4kos: works fine, at least in VMware and Bochs
git-svn-id: svn://kolibrios.org@4440 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-01-11 05:22:10 +00:00
CleverMouse
a77e7ee15d make macro for push imm/pop dst
git-svn-id: svn://kolibrios.org@3598 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-04 11:14:37 +00:00
CleverMouse
32b4fcb9ab recode all kernel sources to UTF-8; binary still uses single-byte encoding and isn't changed at all
git-svn-id: svn://kolibrios.org@3539 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-05-27 22:16:00 +00:00
esevece
9069d7e9ca Spanish translation (boot and kernel). Fix in makefile. Change name of booteng.inc to booten.inc
git-svn-id: svn://kolibrios.org@3274 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-26 18:29:14 +00:00
Marat Zakiyanov (Mario79)
2f699083c4 1) Correcting information about copiright
2) VESA draw the small speedup

git-svn-id: svn://kolibrios.org@2455 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-03-13 16:51:57 +00:00
CleverMouse
037099f50d Style corrected for new rules, no semantic changes
git-svn-id: svn://kolibrios.org@2288 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-10-14 21:38:50 +00:00
CleverMouse
08246cd957 merge kolibri-cfg into trunk
git-svn-id: svn://kolibrios.org@1962 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-06-16 17:09:40 +00:00
CleverMouse
259f2ffcd1 fix parameters saving in floppy bootsector
git-svn-id: svn://kolibrios.org@1738 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-01-17 12:41:44 +00:00
Dmitry Kartashov (shurf)
cc1adaa2dd Added floppy FAT12 boot sector (kernel bootloader)
git-svn-id: svn://kolibrios.org@796 a494cfbc-eb01-0410-851d-a64ba20cac60
2008-04-28 19:30:57 +00:00