Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
2141 6245 d 4 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 6314 d 7 h jermar /trunk/ (c) versus (C)  
2015 6353 d 7 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 6407 d 6 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 6407 d 6 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 6439 d 10 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1787 6504 d 9 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6511 d 10 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1760 6522 d 11 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 6531 d 16 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 6532 d 13 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1693 6534 d 10 h palkovsky /kernel/trunk/generic/ Modified ipc/irq to be able to pass up to 3 arguments to userspace.  
1643 6538 d 16 h palkovsky /kernel/trunk/generic/ IPC made faster in non-debug mode.  
1613 6539 d 11 h palkovsky /kernel/trunk/generic/src/console/ Fixed klog to use correct vsnprintf.  
1595 6539 d 20 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.