Commit Graph

140 Commits

Author SHA1 Message Date
5f677e4407 Remove unused macro and fix a comment.
git-svn-id: svn://kolibrios.org@8115 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-21 19:58:55 +00:00
a9121a0da9 kernel: Split acpi.inc and hpet.inc from init.inc.
Also, replace some hardcoded constants with macros.

git-svn-id: svn://kolibrios.org@8111 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-21 14:23:51 +00:00
aaf1ac4439 Assert sizeof.APPDATA=256, use it instead of hardcoded 256 value.
git-svn-id: svn://kolibrios.org@8093 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-12 02:54:44 +00:00
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
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
bf38c73d0a kernel: don't use ramdisk if asked.
The blue screen is not aware of this option.

git-svn-id: svn://kolibrios.org@8089 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-02 13:05:10 +00:00
73d12d1c99 Edit memmap to increase space for the kernel.
Move TMP_STACK_TOP and sys_proc higher.
Add a static assert to save some time in the future.

git-svn-id: svn://kolibrios.org@8085 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-02 12:23:04 +00:00
cf7de4af9c Fix kernel crash on high screen resolution.
Increase MAX_SCREEN_WIDTH=3840 and MAX_SCREEN_HEIGHT=2160.
Replace hardcoded numbers with macros, add runtime checks.

git-svn-id: svn://kolibrios.org@7522 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-11-02 00:14:46 +00:00
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
368d42ffae Update BOOT_DATA structure and use it instead of all the BOOT_* vars.
git-svn-id: svn://kolibrios.org@7132 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-12-17 02:12:53 +00:00
c14a80d34f Add UEFI stuff.
git-svn-id: svn://kolibrios.org@7130 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-12-16 21:10:49 +00:00
f208e0e454 Split bootbios.asm and kernel.asm.
* Move bios-related part of kernel.asm before B32 label to
  bootbios.asm file;
* Move bx_from_load, boot_dev and kernel_restart_bootblock variables
  to BOOT_* 0x9000 block;
* Update Tupfile.lua, Makefile, build.bat, build.sh accordingly;
* Now bios and uefi loaders can jump to very first byte of the kernel.

git-svn-id: svn://kolibrios.org@7129 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-12-16 20:21:10 +00:00
6494817540 Add EFLAGS_* macros, get rid of some more magic numbers.
git-svn-id: svn://kolibrios.org@7126 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-12-05 06:39:34 +00:00
9e6b9b61f7 Use xsave/xrestor if available, enable AVX* instructions.
git-svn-id: svn://kolibrios.org@7124 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-12-05 05:24:21 +00:00
09684c0db9 Synchronize memmap.inc and const.inc, replace hardcoded numbers with macros.
git-svn-id: svn://kolibrios.org@7122 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-11-29 22:03:58 +00:00
16d9a4a4bc Remove VRR code, mostly commented out anyway.
git-svn-id: svn://kolibrios.org@7121 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-11-29 00:15:25 +00:00
Sergey Semyonov (Serge)
8b1036ed49 kernel: pipes - improved synchronization
git-svn-id: svn://kolibrios.org@6929 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-06-16 22:47:00 +00:00
Sergey Semyonov (Serge)
af61cc97e8 kernel: initial pipe() support
git-svn-id: svn://kolibrios.org@6926 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-06-15 22:36:39 +00:00
5b61094dc6 fix #98, #103
Set Bus_Master bit in PCI Command register for drives in DMA mode


git-svn-id: svn://kolibrios.org@6816 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-12-26 21:52:58 +00:00
pathoswithin
4ded9c23de function 71.2
git-svn-id: svn://kolibrios.org@6802 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-12-21 09:11:27 +00:00
0CodErr
54932fe994 flag client relative for blit
git-svn-id: svn://kolibrios.org@6790 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-12-07 18:33:17 +00:00
Sergey Semyonov (Serge)
a316af7413 kernel: new app loader
git-svn-id: svn://kolibrios.org@6333 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-03-13 06:08:07 +00:00
Sergey Semyonov (Serge)
7be51f22d5 kernel: minor cleaning
git-svn-id: svn://kolibrios.org@6318 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-03-11 04:10:08 +00:00
Sergey Semyonov (Serge)
06644f770e kernel: framebuffers code
git-svn-id: svn://kolibrios.org@6263 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-02-20 09:57:44 +00:00
Sergey Semyonov (Serge)
50e97c60fa kernel: restart, reboot and power off
git-svn-id: svn://kolibrios.org@6244 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-02-18 02:03:38 +00:00
Sergey Semyonov (Serge)
25ecf7263e new Fn77 - fast user-space locking
git-svn-id: svn://kolibrios.org@6079 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-01-19 01:02:44 +00:00
Sergey Semyonov (Serge)
1888797ed4 trunk: merge kolibri-acpi code
git-svn-id: svn://kolibrios.org@5595 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-07-22 11:17:45 +00:00
Pathoswithin
0ad5c3e509 speed up IDE operations
git-svn-id: svn://kolibrios.org@5569 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-06-17 18:25:55 +00:00
Sergey Semyonov (Serge)
75873a0173 kernel: enable write combined memory type
git-svn-id: svn://kolibrios.org@5360 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-06 23:07:34 +00:00
Sergey Semyonov (Serge)
b4814c7084 kernel: update PTE bits
git-svn-id: svn://kolibrios.org@5356 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-06 14:53:54 +00:00
Sergey Semyonov (Serge)
ff063f54ce kernel: combine display related data in one structure
git-svn-id: svn://kolibrios.org@5351 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-05 17:59:03 +00:00
Sergey Semyonov (Serge)
92d3d6c2c8 kernel: read/write locks, part 1
git-svn-id: svn://kolibrios.org@5343 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-04 11:04:39 +00:00
hidnplayr
5f2e32c82f Moved new 'bytes_per_pixel' dword to end of display_t struct for backwards compatibility (yuck!)
git-svn-id: svn://kolibrios.org@5157 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-11-02 17:27:41 +00:00
hidnplayr
274d2c309b Support for 16bpp video modes (usefull for embedded devices such as 86duino with vortex86 VGA)
git-svn-id: svn://kolibrios.org@5154 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-11-01 17:26:42 +00:00
Sergey Semyonov (Serge)
76d618357e kernel: kolibri-process merged into trunk. This is my little gift to myself for my birthday.
git-svn-id: svn://kolibrios.org@5130 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-09-18 07:58:56 +00:00
CleverMouse
727d1c9b53 fix SB16 driver broken in r3727, convert to PE
git-svn-id: svn://kolibrios.org@5057 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-08-25 09:49:27 +00:00
CleverMouse
21132138a1 support for stripped PE headers in drivers; declare COFF drivers deprecated
git-svn-id: svn://kolibrios.org@5039 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-08-18 11:18:15 +00:00
Marat Zakiyanov (Mario79)
ba19a6400d Kernel supports up to three IDE controllers, and all the devices connected to them
git-svn-id: svn://kolibrios.org@4700 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-03-27 20:44:32 +00:00
Marat Zakiyanov (Mario79)
507451f315 Removal of obsolete functions 18.11.2. Reduce the DRIVE_DATA area, because the data above 10 bytes is not used.
git-svn-id: svn://kolibrios.org@4641 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-03-13 07:21:24 +00:00
Marat Zakiyanov (Mario79)
28e8a442bf IDE DMA
1) No more 16-bit code, all the code in 32-bit mode
2) Expansion of the data output about modes of IDE devices

git-svn-id: svn://kolibrios.org@4624 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-03-10 00:09:59 +00:00
Marat Zakiyanov (Mario79)
ce96116465 Function 2 (get the code of the pressed key) for AL = 0 in EAX bits 16-23 = contain scancode for pressed key
git-svn-id: svn://kolibrios.org@4588 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-02-25 01:03:37 +00:00
CleverMouse
a10422fbce separate USB host controller code into external drivers
git-svn-id: svn://kolibrios.org@4418 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-30 11:18:33 +00:00
Yogev Ezra
63c570c54d Added 2 more options to blue screen: c) BOOT_DEBUG_PRINT and d) BOOT_LAUNCHER_START. Existing option "Boot device" is now e).
BOOT_DEBUG_PRINT = If set to "yes"/"on", will duplicate debug output to the screen. Default is "no"/"off".
BOOT_LAUNCHER_START = If set to "no"/"off", LAUNCHER application won't be run after kernel has loaded. Default is "yes"/"on".

git-svn-id: svn://kolibrios.org@3777 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-07-07 23:12:01 +00:00
Marat Zakiyanov (Mario79)
8a0dae3f14 1) Dynamic setting interrupts for IDE controller
2) Fixed problems with some hardware (eBox IDE Native mode and similar)


git-svn-id: svn://kolibrios.org@3762 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-07-05 06:43:56 +00:00
Sergey Semyonov (Serge)
f03da1efd4 kernel: removed unnecessary duplication of BOOT_VAR
git-svn-id: svn://kolibrios.org@3732 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-29 08:26:56 +00:00
Sergey Semyonov (Serge)
49ac7a5c36 Kernel: remove some absolute adressing variables
git-svn-id: svn://kolibrios.org@3727 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-28 09:32:37 +00:00
Marat Zakiyanov (Mario79)
d9b8117616 1) SATA IDE support for HDD and ATAPI
2) PIO LBA48 read for HDD

git-svn-id: svn://kolibrios.org@3702 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-25 03:15:38 +00:00
Sergey Semyonov (Serge)
f272bbb588 kernel: reduce DRIVE_DATA array. Now kernel can handle only 64 /hd and /cd partitions
git-svn-id: svn://kolibrios.org@3627 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-08 13:08:51 +00:00
Sergey Semyonov (Serge)
a678afc6ad kernel: BytesPerScanLine removed, use _display.pitch instead
git-svn-id: svn://kolibrios.org@3606 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-05 09:29:50 +00:00
Sergey Semyonov (Serge)
ddb6fa98f4 kernel: quick fix for 3588
git-svn-id: svn://kolibrios.org@3592 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-03 10:50:25 +00:00