Commit Graph

165 Commits

Author SHA1 Message Date
bd4ac33731 kernel, sf9: zero data buffer for empty slots
Now sf9 doesn't read uninitialized memory when called for an empty slot.
Also, applications don't get stale data after sf9 anymore.

git-svn-id: svn://kolibrios.org@9968 a494cfbc-eb01-0410-851d-a64ba20cac60
2024-01-16 02:44:48 +00:00
7b51a89852 Use process_information structure in the kernel
Copied from the userspace macros.inc

git-svn-id: svn://kolibrios.org@9967 a494cfbc-eb01-0410-851d-a64ba20cac60
2024-01-15 05:16:31 +00:00
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
Doczom
69f5ec5ac7 [KERNEL] Graphics subsystem has been redesigned:
- removed the old cursor and the code for its operation
 - minor fixes in other kernel modules
 - new fields have been added to the display_t structure for further refactoring of the graphics subsystem.

git-svn-id: svn://kolibrios.org@9941 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-09-22 16:31:40 +00:00
Doczom
d0acf78f92 [KERNEL] cleared the code of unnecessary comments
git-svn-id: svn://kolibrios.org@9932 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-08-20 21:54:50 +00:00
Doczom
0a5beb0bc0 [KERNEL] The window subsystem has been redesigned:
-extended WDATA structures up to 128 bytes
-added the background_windows constant
-the draw_data array has been deleted
-APPDATA.window and WDATA.thread fields added
-minor fixes in the operation of external file system drivers

git-svn-id: svn://kolibrios.org@9930 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-08-18 20:51:33 +00:00
Doczom
9a2d26f2a7 [KERNEL] the window subsystem was refactored, WDATA structures were expanded and magic numbers were replaced with constants
git-svn-id: svn://kolibrios.org@9926 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-06-25 16:42:10 +00:00
Doczom
cd441e7929 [KERNEL]: Replaced magic numbers with constants and cleaned code
git-svn-id: svn://kolibrios.org@9917 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-06-17 18:40:54 +00:00
df7f78788c [xfs] Support XFS bigtime feature bit
Current version of mkfs.xfs enables this feature by default.
Now KolibriOS can read such partitions too.

git-svn-id: svn://kolibrios.org@9888 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-01-02 00:53:31 +00:00
d77dd5decc [KERNEL] Use specific cursors for window borders
git-svn-id: svn://kolibrios.org@9848 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-06-23 15:18:20 +00:00
a9d195b964 Rename fields in SYSCALL_STACK struct: _eax -> eax, etc
git-svn-id: svn://kolibrios.org@9831 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-06-05 14:41:51 +00:00
Doczom
182f6ade61 small update copyright year in kernel
git-svn-id: svn://kolibrios.org@9715 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-02-12 17:27:41 +00:00
Doczom
39780d1f65 delete APPDATA.mem_start
git-svn-id: svn://kolibrios.org@9710 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-02-09 18:09:54 +00:00
Doczom
707dc7c2e6 delete TASKDATA
git-svn-id: svn://kolibrios.org@9709 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-02-09 17:07:51 +00:00
Doczom
b1621a3797 add APPDATA.wnd_number
git-svn-id: svn://kolibrios.org@9608 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-01-10 16:52:37 +00:00
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
Magomed Kostoev (mkostoevr)
293a74db28 [KERNEL][TASKMAN] Add prefixes to named constants
git-svn-id: svn://kolibrios.org@9038 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-07-08 20:04:59 +00:00
Magomed Kostoev (mkostoevr)
c81b16b529 [KERNEL][TASKMAN] Use named constants instead of magic numbers
git-svn-id: svn://kolibrios.org@9036 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-07-08 19:16:00 +00:00
8ef75d4496 [KERNEL] #4 Preparing to merge legacy TASKDATA into APPDATA:
- use thread state constants instead of hardcoded values
- other small style fixes

git-svn-id: svn://kolibrios.org@8874 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-06-18 08:26:02 +00:00
2359531a17 [KERNEL] #3 Preparing to merge legacy TASKDATA into APPDATA:
- get rid of CURRENT_TASK
- to APPDATA added new fields which will be used instead of TASKDATA's
- other small fixes

git-svn-id: svn://kolibrios.org@8869 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-06-17 09:41:16 +00:00
d4bf03befc [KERNEL] #2 Preparing to merge legacy TASKDATA into APPDATA:
- rename event_mask in APPDATA to occured_events, cause TASKDATA already has event_mask and they have different meaning and usage
- small fixes

git-svn-id: svn://kolibrios.org@8867 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-06-16 13:57:17 +00:00
9cdec89085 [KERNEL] Preparing to merge legacy TASKDATA into APPDATA:
- now doesnt use TASK_COUNT, now uses [thread_count] global instead of it
- update come copyrights

git-svn-id: svn://kolibrios.org@8866 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-06-16 10:04:10 +00:00
f3f40df401 [KERNEL] Refactoring:
- optimize struct zeroing in sys32.inc 
- set_app_param: delete setting completely unused APPDATA.event_filter (also make this field reserved)
- update some copyringhs
- other small fixes

git-svn-id: svn://kolibrios.org@8858 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-06-15 16:24:33 +00:00
75fe8b68da refactoring pid_to_slot:
- use constants instead of hardcoded values
- add more comments

git-svn-id: svn://kolibrios.org@8851 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-06-14 11:48:48 +00:00
fe0d0438ff Use e820entry macro instead of hardcoded values.
git-svn-id: svn://kolibrios.org@8217 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-17 21:47:10 +00:00
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