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
2018 6419 d 3 h decky /trunk/kernel/ rename rdtsc() to get_cycle()  
2015 6421 d 0 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.
 
1993 6438 d 8 h decky /trunk/ make framebuffer code more generic  
1970 6462 d 8 h decky /trunk/kernel/arch/ia32/src/smp/ use new IRQ scheme in l_apic_timer_interrupt()  
1957 6464 d 8 h decky /trunk/kernel/ ia32: mouse support, mouse regrab is still broken  
1956 6464 d 10 h decky /trunk/kernel/ ia32: adopt new IRQ interface, mouse not tested yet  
1939 6473 d 4 h decky /trunk/ ia32: fix compilation, keyboard not checked yet  
1937 6473 d 11 h decky /trunk/kernel/arch/ remove orphaned functions  
1901 6495 d 6 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.
 
1888 6507 d 4 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1877 6512 d 11 h jermar /trunk/kernel/ Coding style fixes.
Remove unneeded sparc64 dummy functions.
 
1854 6523 d 10 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.
 
1842 6543 d 7 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.
 
1837 6548 d 12 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.
 
1811 6559 d 8 h decky /trunk/kernel/arch/ unify bootstrapping  
1793 6569 d 9 h jermar /trunk/kernel/ Change hw_map() on sparc64 to use virtual addresses that are
beyond the end of physical memory. It is beneficial in two
ways: first, physical memory is no longer being wasted by
otherwise necessary calls to frame_alloc() and, second,
virtual addresses for devices are now correctly allocated
and do not overlap with the 4M TLB-locked mapping for
kernel text and data.
 
1787 6572 d 2 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6579 d 3 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1766 6587 d 11 h palkovsky /kernel/trunk/ Changed frame_alloc call, cleaned a lot of stuff, fixed some not-perfectly-correct error handling.  
1760 6590 d 5 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...
 
1754 6593 d 10 h jermar /kernel/trunk/ Indentation and some improved comments.
Remove forgotten comment from gxemul.sh.
 
1735 6595 d 10 h decky /kernel/trunk/ make kernel prints case consistent  
1731 6595 d 20 h jermar /kernel/trunk/ Updates in Doxygen-style comments.
Make architecture specific modules appear conditionally in the documentation.
Add time management module.
Improve names of other modules and sort module order
to be more like in the design documentation.
 
1724 6596 d 13 h palkovsky /kernel/trunk/arch/ Let mouse work on amd64 too.  
1708 6597 d 9 h jermar /kernel/trunk/ Fix some broken doxygen comments.  
1705 6599 d 9 h cejka /kernel/trunk/ Added file with modules definitions and descriptions.
We are able to change modules order and their description in one place.
 
1704 6599 d 13 h cejka /kernel/trunk/ Fixed first letter size of subgroup name in Others.  
1703 6599 d 13 h jermar /kernel/trunk/arch/ Put sparc64 interrupt stuff under the Interrupt group in Doxygen-generated documentation.  
1702 6600 d 6 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1690 6603 d 0 h palkovsky /kernel/trunk/ Yet another fix with framebuffer.  
1684 6603 d 11 h jermar /kernel/trunk/ #ifdef more debugging printf()'s.  
1667 6605 d 4 h jermar /kernel/trunk/ Print spurious interrupt messages only when compiled with CONFIG_DEBUG.
Print warning about looping spinlock only after 100000000 unsuccessfull attempts to gain the spinlock.
 
1641 6606 d 10 h decky /kernel/trunk/arch/ port VESA VBE changes to AMD64  
1639 6606 d 18 h decky /kernel/trunk/arch/ia32/src/boot/ VESA VBE code cleanup, works in VMWare now  
1595 6607 d 13 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.
 
1587 6608 d 3 h jermar /kernel/trunk/ task_destroy() implementation, fixes in as_destroy() and task_kill().
This is the first version of HelenOS that would perform complete cleanup leading from thread to destruction of address space.
 
1576 6609 d 1 h jermar /kernel/trunk/ Make use of thread_join_timeout() and thread_detach() in kernel.

Improved comments in slab.h.
 
1540 6610 d 12 h jermar /kernel/trunk/arch/ia32/src/smp/ Fix programming of local APIC timer to interrupt the processor
in the proper relation to HZ. (Was hardcoded to be each 1ms,
but should have been each 10ms).
 
1502 6611 d 8 h jermar /kernel/trunk/ Replace nonblocking argument of waitq_sleep_timeout with flags that specify mode of operation.
Now a flag can be used to specify interruptible sleep.
Modify waitq_interrupt_sleep() to only interrupt threads that used this flag.
O
 
1477 6612 d 15 h decky /kernel/trunk/arch/ cleanup