Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
9045 1028 d 0 h dunkaist /kernel/trunk/ kernel: Check for base+len overflow in is_region_userspace  
/kernel/trunk/blkdev/disk.inc
/kernel/trunk/core/clipboard.inc
/kernel/trunk/core/taskman.inc
/kernel/trunk/fs/fs_lfn.inc
/kernel/trunk/gui/window.inc
/kernel/trunk/kernel.asm
/kernel/trunk/network/stack.inc
8962 1037 d 23 h Boppan /kernel/trunk/ [asmxygen] Test doxygen generation on is_region_userspace() function  
/kernel/trunk/kernel.asm
8876 1048 d 0 h rgimad /kernel/trunk/ [KERNEL] use constants instead of hardcoded values, other small fixes  
/kernel/trunk/core/debug.inc
/kernel/trunk/core/memory.inc
/kernel/trunk/core/sys32.inc
/kernel/trunk/gui/event.inc
/kernel/trunk/kernel.asm
/kernel/trunk/posix/futex.inc
/kernel/trunk/posix/pipe.inc
8869 1049 d 23 h rgimad /kernel/trunk/ [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
 
/kernel/trunk/const.inc
/kernel/trunk/core/debug.inc
/kernel/trunk/core/dll.inc
/kernel/trunk/core/fpu.inc
/kernel/trunk/core/heap.inc
/kernel/trunk/core/sched.inc
/kernel/trunk/core/sys32.inc
/kernel/trunk/core/taskman.inc
/kernel/trunk/core/timers.inc
/kernel/trunk/core/v86.inc
/kernel/trunk/data32.inc
/kernel/trunk/fs/iso9660.inc
/kernel/trunk/gui/button.inc
/kernel/trunk/gui/event.inc
/kernel/trunk/gui/skincode.inc
/kernel/trunk/gui/window.inc
/kernel/trunk/kernel.asm
/kernel/trunk/video/blitter.inc
/kernel/trunk/video/cursors.inc
/kernel/trunk/video/vesa20.inc
8867 1050 d 19 h rgimad /kernel/trunk/ [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
 
/kernel/trunk/const.inc
/kernel/trunk/core/debug.inc
/kernel/trunk/core/taskman.inc
/kernel/trunk/gui/event.inc
/kernel/trunk/kernel.asm
/kernel/trunk/network/socket.inc
/kernel/trunk/network/stack.inc
8866 1050 d 23 h rgimad /kernel/trunk/ [KERNEL] Preparing to merge legacy TASKDATA into APPDATA:
- now doesnt use TASK_COUNT, now uses [thread_count] global instead of it
- update come copyrights
 
/kernel/trunk/const.inc
/kernel/trunk/core/sched.inc
/kernel/trunk/core/sys32.inc
/kernel/trunk/core/taskman.inc
/kernel/trunk/core/v86.inc
/kernel/trunk/data32.inc
/kernel/trunk/gui/event.inc
/kernel/trunk/gui/window.inc
/kernel/trunk/hid/keyboard.inc
/kernel/trunk/hid/mousedrv.inc
/kernel/trunk/kernel.asm
/kernel/trunk/network/socket.inc
/kernel/trunk/network/stack.inc
8858 1051 d 16 h rgimad /kernel/trunk/ [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
 
/kernel/trunk/const.inc
/kernel/trunk/core/sys32.inc
/kernel/trunk/core/taskman.inc
/kernel/trunk/kernel.asm
8715 1088 d 19 h Doczom /kernel/trunk/ fixed vulnerability (kernel memory rewrite) in sysfn 4  
/kernel/trunk/kernel.asm
8714 1088 d 19 h Doczom /kernel/trunk/ fixed vulnerability (reading kernel memory from userspace) in sysfn 7, 15.5 and 65  
/kernel/trunk/kernel.asm
8713 1088 d 19 h Doczom /kernel/trunk/ fixed vulnerability (reading kernel memory from userspace) in sysfn 47  
/kernel/trunk/kernel.asm
8675 1105 d 13 h rgimad /kernel/trunk/ fixed vulnerability (reading kernel memory from userspace) in sysfn25  
/kernel/trunk/kernel.asm
8598 1165 d 23 h rgimad /kernel/trunk/ fixed vulnerabilities in sysfn 18.11 and 36, now user applications cannot corrupt kernel memory via invalid buffer address  
/kernel/trunk/kernel.asm
8493 1219 d 19 h rgimad /kernel/trunk/ is_region_userspace: removed extra condition which caused incorrect behavior of boxlib menu in hexedit and rtfread (cuz it uses address 0 i didnt know:D )  
/kernel/trunk/kernel.asm
8329 1243 d 13 h rgimad /kernel/trunk/ is_region_userspace: refactoring and fix  
/kernel/trunk/kernel.asm
8270 1250 d 20 h dunkaist /kernel/trunk/ kernel: Protect OS threads from terminating by sf18.2.  
/kernel/trunk/kernel.asm
8249 1254 d 19 h rgimad /kernel/trunk/ fix return value from .addr_error in sysfn 26.2 , 9  
/kernel/trunk/kernel.asm
8248 1254 d 19 h rgimad /kernel/trunk/ fix prior  
/kernel/trunk/kernel.asm
8247 1254 d 20 h rgimad /kernel/trunk/ SysFn 18.13 security fix: now apps cannot destroy kernel memory via passing illegal address in ecx

Update docs on SysFn 18.13
 
/kernel/trunk/docs/sysfuncr.txt
/kernel/trunk/docs/sysfuncs.txt
/kernel/trunk/kernel.asm
8246 1255 d 14 h rgimad /kernel/trunk/ SysFn 9 security fix: now apps cannot destroy kernel memory via passing illegal address in ebx

Update docs on SysFn 9
 
/kernel/trunk/docs/sysfuncr.txt
/kernel/trunk/docs/sysfuncs.txt
/kernel/trunk/kernel.asm
8216 1261 d 13 h rgimad /kernel/trunk/ fix is_region_userspace (worked incorrectly for e.g 0xFFFFFFFF)  
/kernel/trunk/kernel.asm
8176 1267 d 10 h dunkaist /kernel/trunk/ Fix r8139: delay_ms was 10x slower when using HPET.  
/kernel/trunk/kernel.asm
8160 1271 d 16 h rgimad /kernel/trunk/ added is_region_userspace, fix sysfn 26.2 address security checks  
/kernel/trunk/kernel.asm
8158 1272 d 10 h rgimad /kernel/trunk/ SysFn 26.2 security fix: now apps cannot destroy kernel memory via passing illegal address to this sysfn  
/kernel/trunk/kernel.asm
8139 1273 d 13 h dunkaist /kernel/trunk/ kernel: Make delay_ms use HPET when available.

I got a laptop that has timer on channel 1 of PIT that doesn't tick.
 
/kernel/trunk/kernel.asm
8119 1282 d 13 h dunkaist /kernel/trunk/ fix r8111: Map acpi_apic_base page before access.  
/kernel/trunk/acpi/acpi.inc
/kernel/trunk/kernel.asm
8111 1288 d 18 h dunkaist /kernel/trunk/ kernel: Split acpi.inc and hpet.inc from init.inc.

Also, replace some hardcoded constants with macros.
 
/kernel/trunk/acpi
/kernel/trunk/acpi/acpi.inc
/kernel/trunk/core/hpet.inc
/kernel/trunk/boot/shutdown.inc
/kernel/trunk/const.inc
/kernel/trunk/core/apic.inc
/kernel/trunk/init.inc
/kernel/trunk/kernel.asm
/kernel/trunk/kernel32.inc
8093 1298 d 6 h dunkaist /kernel/trunk/ Assert sizeof.APPDATA=256, use it instead of hardcoded 256 value.  
/kernel/trunk/const.inc
/kernel/trunk/core/sched.inc
/kernel/trunk/core/sys32.inc
/kernel/trunk/core/taskman.inc
/kernel/trunk/kernel.asm
8092 1304 d 5 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
8091 1305 d 16 h dunkaist / 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.
 
/kernel/trunk/bootloader/extended_primary_loader/after_win/Tupfile.lua
/kernel/trunk/bootloader/extended_primary_loader/cdfs/Tupfile.lua
/kernel/trunk/bootloader/extended_primary_loader/config.ini
/kernel/trunk/bootloader/extended_primary_loader/fat1x/Tupfile.lua
/kernel/trunk/bootloader/extended_primary_loader/fat32/Tupfile.lua
/data/Tupfile.lua
/kernel/trunk/Tupfile.lua
/kernel/trunk/boot/bootcode.inc
/kernel/trunk/boot/booten.inc
/kernel/trunk/boot/bootru.inc
/kernel/trunk/boot/parsers.inc
/kernel/trunk/boot/preboot.inc
/kernel/trunk/boot/rdload.inc
/kernel/trunk/boot/uefi4kos.asm
/kernel/trunk/bootloader/extended_primary_loader/cdfs/bootsect.asm
/kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.asm
/kernel/trunk/const.inc
/kernel/trunk/data16.inc
/kernel/trunk/fs/parse_fn.inc
/kernel/trunk/kernel.asm
/kernel/trunk/readme-ext-loader.txt
/tup.config.template
8089 1307 d 20 h dunkaist /kernel/trunk/ kernel: don't use ramdisk if asked.

The blue screen is not aware of this option.
 
/kernel/trunk/boot/bootcode.inc
/kernel/trunk/boot/preboot.inc
/kernel/trunk/boot/rdload.inc
/kernel/trunk/boot/uefi4kos.asm
/kernel/trunk/const.inc
/kernel/trunk/fs/parse_fn.inc
/kernel/trunk/kernel.asm
8087 1307 d 20 h dunkaist /kernel/trunk/ Initialize APPDATA.{fd,bk}_ev fields for kernel threads.

This prevents crash in event.inc:RemoveEventTo because of
zero pointer dereference.
 
/kernel/trunk/kernel.asm
8086 1307 d 20 h dunkaist /kernel/trunk/ Fix random boot issue: 'Failed to start first app'

Access to BOOT.dev variable was sometimes done with obsolete
offset from non-flat-kernel ages. If you are unlucky, the ramdisk
is not loaded and launcher app is not started.
 
/kernel/trunk/boot/rdload.inc
/kernel/trunk/kernel.asm
7965 1441 d 19 h hidnplayr /kernel/trunk/ Improved readability, no semantic changes.  
/kernel/trunk/core/dll.inc
/kernel/trunk/core/heap.inc
/kernel/trunk/kernel.asm
7733 1522 d 4 h dunkaist /kernel/trunk/ kernel: Support more than one I/O APIC and 24 interrupts.  
/kernel/trunk/core/apic.inc
/kernel/trunk/core/irq.inc
/kernel/trunk/core/sys32.inc
/kernel/trunk/init.inc
/kernel/trunk/kernel.asm
7598 1878 d 11 h dunkaist /kernel/trunk/ Fix compilation with extended_primary_loader.  
/kernel/trunk/kernel.asm
7276 2181 d 9 h dunkaist / Enable xsave/xrstor, attempt 2.  
/kernel/trunk/core/fpu.inc
/kernel/trunk/core/sched.inc
/kernel/trunk/core/taskman.inc
/kernel/trunk/data32.inc
/kernel/trunk/kernel.asm
/programs/demos/firework/trunk/firework.asm
7165 2263 d 16 h clevermouse /kernel/trunk/ fix FPU after r7124 for other CPU configurations  
/kernel/trunk/core/fpu.inc
/kernel/trunk/core/taskman.inc
/kernel/trunk/data32.inc
/kernel/trunk/kernel.asm
7136 2325 d 8 h dunkaist /kernel/trunk/ Replace 'equ' macros with '=' ones.

They appear in symbols file.
They don't require parentheses.
They are shorter.
 
/kernel/trunk/blkdev/cd_drv.inc
/kernel/trunk/blkdev/flp_drv.inc
/kernel/trunk/boot/bootvesa.inc
/kernel/trunk/bootloader/boot_fat12.asm
/kernel/trunk/bootloader/grub4kos.asm
/kernel/trunk/bus/pci/PCIe.inc
/kernel/trunk/bus/pci/pci32.inc
/kernel/trunk/const.inc
/kernel/trunk/core/apic.inc
/kernel/trunk/core/dll.inc
/kernel/trunk/core/heap.inc
/kernel/trunk/core/irq.inc
/kernel/trunk/core/mtrrtest.asm
/kernel/trunk/core/sync.inc
/kernel/trunk/core/taskman.inc
/kernel/trunk/data32.inc
/kernel/trunk/docs/events_subsystem.txt
/kernel/trunk/fs/fat.inc
/kernel/trunk/gui/event.inc
/kernel/trunk/init.inc
/kernel/trunk/kernel.asm
/kernel/trunk/posix/pipe.inc
/kernel/trunk/posix/posix.inc
/kernel/trunk/video/blitter.inc
/kernel/trunk/video/cursors.inc
/kernel/trunk/video/vesa12.inc
7132 2328 d 7 h dunkaist /kernel/trunk/ Update BOOT_DATA structure and use it instead of all the BOOT_* vars.  
/kernel/trunk/boot/bootcode.inc
/kernel/trunk/boot/bootvesa.inc
/kernel/trunk/boot/rdload.inc
/kernel/trunk/boot/shutdown.inc
/kernel/trunk/boot/uefi4kos.asm
/kernel/trunk/bus/pci/pci16.inc
/kernel/trunk/bus/pci/pci32.inc
/kernel/trunk/const.inc
/kernel/trunk/core/memory.inc
/kernel/trunk/core/mtrr.inc
/kernel/trunk/core/mtrrtest.asm
/kernel/trunk/detect/biosdisk.inc
/kernel/trunk/detect/biosmem.inc
/kernel/trunk/fs/parse_fn.inc
/kernel/trunk/init.inc
/kernel/trunk/kernel.asm
/kernel/trunk/memmap.inc
/kernel/trunk/video/framebuffer.inc
7129 2328 d 13 h dunkaist /kernel/trunk/ 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.
 
/kernel/trunk/bootbios.asm
/kernel/trunk/Makefile
/kernel/trunk/Tupfile.lua
/kernel/trunk/boot/bootcode.inc
/kernel/trunk/boot/bootstr.inc
/kernel/trunk/boot/preboot.inc
/kernel/trunk/boot/rdload.inc
/kernel/trunk/boot/shutdown.inc
/kernel/trunk/build.bat
/kernel/trunk/build.sh
/kernel/trunk/const.inc
/kernel/trunk/data16.inc
/kernel/trunk/fs/parse_fn.inc
/kernel/trunk/kernel.asm