Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
2125 6323 d 3 h decky /trunk/ experimental support for Objective C
(disabled by default)
 
2107 6331 d 2 h jermar /trunk/ When clock() is called by an external interrupt dispatched by the IRQ dispatcher,
no spinlock can be held or the kernel will not be preemptive. This fixes Ticket #24.

Formating and indentation fixes.
 
2106 6331 d 10 h jermar /trunk/kernel/ Merge as_t structure into one and leave the differring parts in as_genarch_t.

Indentation and formatting changes in header files.
 
2105 6335 d 11 h decky /trunk/kernel/ move ipc structures to ipc.h  
2091 6337 d 6 h jermar /trunk/kernel/arch/sparc64/src/ Fix creating the kkbdpoll() kernel thread on sparc64 SMP machines.
This fixes Ticket #19.
 
2089 6337 d 10 h decky /trunk/ huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes
 
2083 6343 d 10 h decky /trunk/kernel/ typedef elimination  
2082 6343 d 10 h decky /trunk/ __asm__ __volatile__ -> asm volatile  
2079 6344 d 4 h decky /trunk/kernel/ remove some typedefs in favor of anonymous structures  
2078 6344 d 7 h jermar /trunk/kernel/arch/sparc64/src/ When invalidating entire TLBs on sparc64, make sure to also invalidate any (locked) global entries.
This fixes Ticket #21.
Fix a comment in start.S stating that the kernel installs a global entry for itself. All entries installed by the kernel
are local to some memory context.
 
2076 6346 d 11 h jermar /trunk/kernel/ Beat the implicit illegal virtual alias created by reusing userspace frames.
In the anonymous and ELF backends, if the architecture has virtually indexed D-cache,
selectively flush cachelines belonging to the frame being freed.
This fixes Ticket #20.
 
2071 6348 d 3 h jermar /trunk/ (c) versus (C)  
2068 6355 d 10 h jermar /trunk/kernel/ Formatting and indentation fixes.  
2067 6358 d 9 h jermar /trunk/kernel/ More formatting changes.  
2065 6362 d 1 h jermar /trunk/kernel/ Coding style fixes and formatting improvements.  
2058 6374 d 12 h jermar /trunk/kernel/arch/sparc64/src/ Improve comments.  
2056 6375 d 15 h jermar /trunk/kernel/arch/sparc64/include/ Fix mismatched byteswapping macros on sparc64.  
2055 6375 d 15 h jermar /trunk/kernel/arch/sparc64/src/ sparc64 work:
- No need to lock kernel stack and userspace window buffer into DTLB.
 
2054 6376 d 1 h jermar /trunk/kernel/ Fix important comment in kernel/arch/sparc64/src/proc/scheduler.c.

Improve framebuffer code.

Formatting and indentation fixes.
 
2049 6379 d 11 h jermar /trunk/kernel/arch/sparc64/src/ More formatting and indentation changes.  
2048 6380 d 4 h jermar /trunk/ Formatting and indentation changes.  
2047 6382 d 2 h jermar /trunk/kernel/arch/sparc64/include/ Convert sparc64 critical section barriers to RMO memory model.
More portable, no confusion from documentation.
 
2046 6382 d 4 h jermar /trunk/kernel/arch/sparc64/include/ Another comment fix.  
2045 6382 d 4 h jermar /trunk/kernel/arch/sparc64/include/ Fix comment.  
2044 6382 d 5 h jermar /trunk/kernel/arch/sparc64/ On sparc64's tick interrupt, adjust the TICK_COMPARE register instead of the TICK
register. The TICK register now increments linearily and can be used by the get_cycle()
function.
 
2043 6382 d 5 h jermar /trunk/kernel/arch/sparc64/src/ Make the sparc64 kernel compile again.  
2038 6383 d 1 h jermar /trunk/kernel/arch/sparc64/ Remove old stuff.  
2037 6383 d 1 h jermar /trunk/kernel/arch/sparc64/include/ Backout change from revision 2034.
sparc64 is not yet ready for get_cycle().
 
2034 6383 d 9 h jermar /trunk/kernel/arch/sparc64/include/ get_cycle() for sparc64.  
2025 6385 d 0 h jermar /trunk/ Coding style fixes.  
2023 6385 d 4 h decky /trunk/kernel/arch/ add dummy cycle.h  
2016 6385 d 10 h jermar /trunk/kernel/arch/sparc64/src/mm/ The D-cache line size is actually 32 bytes on UltraSPARC II, IIi (and also IIe).  
2015 6387 d 3 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.
 
2010 6392 d 2 h jermar /trunk/kernel/arch/sparc64/src/mm/ Fix comment.  
2009 6392 d 2 h jermar /trunk/kernel/ Initial support for handling illegal virtual aliases on sparc64.  
2008 6394 d 3 h jermar /trunk/kernel/arch/sparc64/ Add dcache_flush() function that flushes D-Cache on sparc64.  
2007 6395 d 1 h jermar /trunk/kernel/ Introduce page colors. So far, only sparc64 uses correct page color bits. Other architectures have a dummy define
specifying zero bits for a page color.

There is a new check of page color in as_area_share(). Because of lack of support for this in the userspace, the
check has been #ifef'ed out.
 
2003 6396 d 8 h decky /trunk/kernel/arch/ cleanup endian conversion macros  
2001 6398 d 0 h jermar /trunk/kernel/ Indentation and comment fixes.  
1996 6404 d 5 h jermar /trunk/kernel/ Add option to compile the sparc64 kernel without the TTE_CV bit support.
The bit is not used by default now.
Enabling it may theoretically lead to physical memory inconsistencies until code that
mitigates the problem is written.