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
1851 6497 d 18 h jermar /trunk/kernel/ sparc64 work.
Define the istate structure.
Move the identity-mapping handler to assembly.
Make the preemptible handler more general so that TL=1 MMU exceptions can make use of it.

Little bit of formatting and indentation.
 
1839 6513 d 15 h decky /trunk/kernel/generic/ finish security context isolation  
1833 6517 d 7 h decky /trunk/kernel/ more sophisticated initial stack handling  
1826 6517 d 13 h decky /trunk/kernel/generic/src/main/ some debugging output  
1822 6517 d 20 h jermar /trunk/ sparc64 work.
1. Formatting fixes.
2. When writing to DMMU ASI's, simple membar() can be used in place of flush().
3. Substantial changes in the way the TLB is taken over.
4. Remove unneeded functions.

This is the first revision that also runs on a real world Ultra 5 with UltraSPARC IIi
processor.

Note that 3. needs further work as the current implementation depends on the fact
that the compiler will use registers for local variables in take_over_tlb_and_tt().
Rewrite of that function into assembly is to follow.
 
1820 6521 d 8 h decky /trunk/kernel/generic/ initial security context support  
1819 6521 d 8 h decky /trunk/kernel/generic/include/ formatting changes  
1812 6525 d 17 h decky /trunk/kernel/ move macro and cleanup  
1793 6535 d 20 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.
 
1790 6536 d 14 h jermar /trunk/ Remove OpenFirmware calls from kernel/ entirely.

Switch the sparc64 port to use bootinfo.

Copy memcpy from boot/ to sparc64 kernel/ and
adjust it for memcpy_from/to_uspace.
 
1787 6538 d 13 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6545 d 14 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1767 6553 d 21 h palkovsky /kernel/trunk/ Remove unneeded FRAME_PANIC.
Fix some things broken by last commit.
 
1766 6553 d 21 h palkovsky /kernel/trunk/ Changed frame_alloc call, cleaned a lot of stuff, fixed some not-perfectly-correct error handling.  
1760 6556 d 15 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...
 
1757 6559 d 19 h jermar /kernel/trunk/ Cleanup of comments.  
1735 6561 d 20 h decky /kernel/trunk/ make kernel prints case consistent  
1731 6562 d 7 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.
 
1729 6562 d 7 h decky /kernel/trunk/generic/src/main/ coding style changes  
1712 6563 d 12 h palkovsky /kernel/trunk/generic/ Send to uspace notification about end of kconsole mode.  
1708 6563 d 20 h jermar /kernel/trunk/ Fix some broken doxygen comments.  
1705 6565 d 20 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 6565 d 23 h cejka /kernel/trunk/ Fixed first letter size of subgroup name in Others.  
1702 6566 d 17 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1700 6566 d 20 h palkovsky /kernel/trunk/generic/src/mm/ Fixed frame allocator to allocate correct number of frames for configuration.
(It couldn't fail before, but in some circumstances it could allocate more
then needed).
 
1698 6567 d 11 h jermar /kernel/trunk/generic/src/ipc/ Improve comments.
Replace 'process' with 'task'.
 
1695 6568 d 13 h jermar /kernel/trunk/generic/src/console/ Inform the user about the kernel relinquishing the console on continue command.  
1693 6568 d 14 h palkovsky /kernel/trunk/generic/ Modified ipc/irq to be able to pass up to 3 arguments to userspace.  
1687 6569 d 18 h jermar /kernel/trunk/generic/src/proc/ Fix double thread_join() in ktaskgc.
In thread_create(), lock TASK with interrupts disabled again.
thread_join_timeout() can use ordinary waitq_sleep_timeout().
 
1684 6569 d 21 h jermar /kernel/trunk/ #ifdef more debugging printf()'s.  
1682 6570 d 0 h palkovsky /kernel/trunk/ Fast framebuffer scrolling in kconsole. Eats some memory though.  
1681 6570 d 7 h jermar /kernel/trunk/generic/src/synch/ Avoid tricky race condition between waitq_wakeup() and the pair
of waitq_timeouted_sleep() and waitq_interrupt_sleep().
Mutual exclusion != Synchronization.
 
1680 6570 d 7 h jermar /kernel/trunk/generic/src/proc/ Add interrupts_restore() to thread_join_timeout(). Note that this is not necessary, because
waitq_sleep_finish() does the job for thread_join_timeout(). However, the code looks more
correct in the form with interrupts_restore().
 
1677 6570 d 17 h palkovsky /kernel/trunk/generic/src/mm/ Fixed error in page number computing, that could almost never appear.  
1676 6570 d 18 h jermar /kernel/trunk/generic/src/proc/ Forgotten interrupts_restore().  
1669 6571 d 14 h palkovsky /kernel/trunk/generic/src/ipc/ Small consitency ipc update.  
1667 6571 d 15 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.
 
1666 6571 d 18 h palkovsky /kernel/trunk/ Slightly better test.
Made call keys work on ia64.
 
1662 6571 d 22 h palkovsky /kernel/trunk/generic/src/main/ Responsive kconsole after test finished.  
1661 6571 d 22 h jermar /kernel/trunk/generic/ Collect Undead threads while waiting to join uinit.
Rename ktaskkill to ktaskgc.