Commit Graph

168 Commits

Author SHA1 Message Date
4165acdf83 Remove $Revision$ from kernel file headers
- To better support git, remove SVN dependant `$Revision$` from file headers. This does *not* remove: the use of `__REV__` macro in `boostr.inc` and `kernel.asm`
- Header Copyright notices updated to 2024.
- Minimal white space cleanup (trailing spaces automatically removed).
- Note: `asmxygen.py` has a *large* amount of whitespace cleanup, due to incorrect line endings.

git-svn-id: svn://kolibrios.org@10051 a494cfbc-eb01-0410-851d-a64ba20cac60
2024-05-22 15:15:14 +00:00
Doczom
6345e58caa Kernel: Deleted support MENUET00 header of executable files;
Updated process_information structure.

git-svn-id: svn://kolibrios.org@10008 a494cfbc-eb01-0410-851d-a64ba20cac60
2024-04-07 16:15:57 +00:00
Jurgen
5eb750c289 1. Edit procedure check exception 12 (overflow stack)
2. Edit func 68,24
3. Add proc "control exception"
4. Add subfuncs func 51 (GetPriorityThread, SetPriorityThread,GetCurrentThreadId)
5. Add info in ReferenceFunc(rus)

git-svn-id: svn://kolibrios.org@10002 a494cfbc-eb01-0410-851d-a64ba20cac60
2024-03-23 19:19:24 +00:00
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