Subversion Repositories HelenOS

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
3022 5870 d 0 h decky /branches/dd/ device drivers branch  
2626 6056 d 1 h jermar /trunk/kernel/generic/ Support for 5 payload arguments for IPC irq notifications and the pseudo code.  
2141 6298 d 12 h jermar /trunk/ The Ultimate Solution To Illegal Virtual Aliases.
It is better to avoid them completely than to fight them.
Switch the sparc64 port to 16K pages. The TLBs and TSBs
continue to operate with 8K pages only. Page tables and
other generic parts operate with 16K pages.

Because the MMU doesn't support 16K directly, each 16K
page is emulated by a pair of 8K pages. With 16K pages,
illegal aliases cannot be created in 16K D-cache.
 
2071 6367 d 15 h jermar /trunk/ (c) versus (C)  
2015 6406 d 15 h jermar /trunk/ Rework support for virtually indexed cache.
Instead of repeatedly flushing the data cache, which was a huge overkill, refuse to create an illegal address alias
in the kernel (again) and allocate appropriate page color in userspace instead. Extend the detection also to
SYS_PHYSMEM_MAP syscall.

Add support for tracking physical memory areas mappable by SYS_PHYSMEM_MAP.

Lots of coding style changes.
 
1924 6460 d 14 h jermar /trunk/kernel/generic/ For the sake of clarity, get rid of negative INR for virtual interrupts.
This way, the code can hurt performance on systems where the non-negative klog INR overlaps
with a frequently used INR such as system clock on amd64 and ia32.
 
1923 6460 d 14 h jermar /trunk/ Replace the old IRQ dispatcher and IPC notifier with new implementation.
Note that all architectures except for sparc64 are now broken
and don't even compile.
 
1888 6492 d 18 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1787 6557 d 17 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6564 d 18 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1760 6575 d 19 h palkovsky /kernel/trunk/ Changed interface of frame_alloc/free to use address of frame instead of the pfn.
This makes it impossible to use >4GB of memory on 32-bit machines, but who cares...
 
1705 6585 d 0 h cejka /kernel/trunk/ Added file with modules definitions and descriptions.
We are able to change modules order and their description in one place.
 
1702 6585 d 21 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1693 6587 d 18 h palkovsky /kernel/trunk/generic/ Modified ipc/irq to be able to pass up to 3 arguments to userspace.  
1643 6592 d 0 h palkovsky /kernel/trunk/generic/ IPC made faster in non-debug mode.  
1613 6592 d 20 h palkovsky /kernel/trunk/generic/src/console/ Fixed klog to use correct vsnprintf.  
1595 6593 d 4 h palkovsky /kernel/trunk/ Added kernel circular buffer klog.
Added automatic killing of tasks raising inappropriate exceptions.
TODO: Fix vsnprintf return value(and behaviour according to specs) and remove workaround in klog.