Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
2217 6310 d 5 h jermar /trunk/kernel/arch/ia32/src/smp/ On SMP amd64 and ia32 systems, release the irq->lock
before calling clock() from the interrupt handler.
This is important for maintaining kernel preemption
since no preemption can take place while a spinlock
is held.
 
2216 6310 d 8 h decky /trunk/ make thread ID 64 bit (task ID is 64 bit already)
cleanup thread syscalls
 
2125 6365 d 8 h decky /trunk/ experimental support for Objective C
(disabled by default)
 
2107 6373 d 6 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 6373 d 14 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.
 
2101 6378 d 8 h decky /trunk/kernel/ fix signed/unsigned comparison and integer overflow  
2100 6378 d 9 h decky /trunk/kernel/ signed/unsigned comparison, explicit typecast  
2099 6378 d 9 h decky /trunk/kernel/arch/ia32/src/ explicit cast on pointer arithmetic  
2097 6378 d 10 h decky /trunk/kernel/arch/ia32/src/smp/ fix signed/unsigned comparison  
2095 6378 d 10 h decky /trunk/kernel/arch/ia32/src/smp/ fix signed/unsigned comparison  
2089 6379 d 14 h decky /trunk/ huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes
 
2087 6380 d 10 h jermar /trunk/kernel/ Indentaion and formatting changes even Martin will like :-)  
2083 6385 d 14 h decky /trunk/kernel/ typedef elimination  
2082 6385 d 14 h decky /trunk/ __asm__ __volatile__ -> asm volatile  
2079 6386 d 9 h decky /trunk/kernel/ remove some typedefs in favor of anonymous structures  
2071 6390 d 7 h jermar /trunk/ (c) versus (C)  
2065 6404 d 5 h jermar /trunk/kernel/ Coding style fixes and formatting improvements.  
2057 6417 d 18 h jermar /trunk/kernel/arch/ Fix all remaining mistmatches in width of byte swapping functions for ia64,
ppc32, ppc64, amd64, mips32 and ia32.
 
2018 6427 d 10 h decky /trunk/kernel/ rename rdtsc() to get_cycle()  
2015 6429 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.
 
2007 6437 d 5 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 6438 d 12 h decky /trunk/kernel/arch/ cleanup endian conversion macros  
1993 6446 d 15 h decky /trunk/ make framebuffer code more generic  
1970 6470 d 15 h decky /trunk/kernel/arch/ia32/src/smp/ use new IRQ scheme in l_apic_timer_interrupt()  
1957 6472 d 15 h decky /trunk/kernel/ ia32: mouse support, mouse regrab is still broken  
1956 6472 d 16 h decky /trunk/kernel/ ia32: adopt new IRQ interface, mouse not tested yet  
1939 6481 d 11 h decky /trunk/ ia32: fix compilation, keyboard not checked yet  
1937 6481 d 18 h decky /trunk/kernel/arch/ remove orphaned functions  
1901 6503 d 12 h jermar /trunk/kernel/ Make SMP related parts of main.c more generic.
Move initialization of local APIC to architecture specific code.
Add arch_post_cpu_init() to support the above.
 
1891 6511 d 5 h jermar /trunk/kernel/ sparc64 work:
- Experimental support for TSB (Translation Storage Buffer).
 
1890 6511 d 16 h jermar /trunk/ - Create a dedicated slab cache for as_t objects and switch from malloc/free to slab_alloc/slab_free for
them.

- Slightly fix and improve both the kernel and userspace atomic_add() on sparc64.

- More TSB work on the sparc64 front.
 
1889 6512 d 7 h jermar /trunk/kernel/ Fix bug in mm/as.c:
- as_area_destroy() should not work with AS but as

sparc64 work:
- start implementing TSB support
 
1888 6515 d 10 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1882 6516 d 14 h jermar /trunk/kernel/ Support for sparc64 FPU context.  
1877 6520 d 18 h jermar /trunk/kernel/ Coding style fixes.
Remove unneeded sparc64 dummy functions.
 
1854 6531 d 17 h jermar /trunk/kernel/ Define architecture-specific thread sub-constructors and sub-destructors on all architectures.
Define the THREAD_FLAG_USPACE which means that the thread runs in user space.
The forementioned changes allow for allocating of user window buffer on sparc64
threads that execute in userspace.

A lot of formatting and indentation fixes.
 
1844 6551 d 9 h jermar /trunk/kernel/ Add an option to compile the sparc64 kernel for Ultra 5 or Enterprise E6500.
Basic keyboard support (polling) based on ns16550 serial port (deployed on Ultra).
 
1842 6551 d 14 h jermar /trunk/kernel/ i8042 and z8530 separated, the tree compiles again.
Now there is some duplicated code in i8042.c and z8530.c,
but that can be eliminated in slower pace.
 
1838 6556 d 12 h jermar /trunk/kernel/ Add scan code map for Sun keyboard.  
1837 6556 d 19 h jermar /trunk/ Support 24bpp framebuffers with 4 pixelbytes (each pixel aligned on 32-bits).

At least on sparc64, the OpenFirmware linebytes property specifies the number
of pixels between consecutive scan lines of the display. Fix scanilne calculation,
including possible alignment.

Add note to 8bpp pixel functions pointing out drawbacks of that mode.