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
1948 6589 d 9 h jermar /trunk/kernel/ Remove broken, outdated and unused gencontext.c utilities.  
1940 6593 d 2 h decky /trunk/kernel/arch/amd64/ amd64: fix compilation, keyboard not checked yet  
1891 6622 d 21 h jermar /trunk/kernel/ sparc64 work:
- Experimental support for TSB (Translation Storage Buffer).
 
1890 6623 d 8 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 6623 d 23 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 6627 d 2 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1882 6628 d 6 h jermar /trunk/kernel/ Support for sparc64 FPU context.  
1854 6643 d 8 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.
 
1811 6679 d 7 h decky /trunk/kernel/arch/ unify bootstrapping  
1787 6692 d 1 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6699 d 2 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1731 6715 d 19 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.
 
1705 6719 d 8 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 6720 d 5 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1697 6721 d 0 h palkovsky /kernel/trunk/arch/ Fixed incorrect atomic_postinc/postdec...again...  
1692 6722 d 2 h palkovsky /kernel/trunk/arch/amd64/include/ Fix prein/predec instructions to be the same as on ia32.  
1595 6727 d 12 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.
 
1511 6731 d 5 h palkovsky /kernel/trunk/arch/ Remove __address from include file included by uspace  
1477 6732 d 14 h decky /kernel/trunk/arch/ cleanup  
1473 6733 d 0 h decky /kernel/trunk/ kernel support for text-only framebuffer  
1423 6737 d 6 h jermar /kernel/trunk/ Update page fault handlers to distinguish between different access modes that had caused the page fault.  
1411 6740 d 2 h jermar /kernel/trunk/ Modify the hierarchy of page fault handlers to pass access mode that caused the fault.
Architectures are required to pass either PF_ACCESS_READ, PF_ACCESS_WRITE or PF_ACCESS_EXEC
to as_page_fault(), depending on the cause of the fault.
 
1292 6759 d 4 h vana /kernel/trunk/arch/ VESA FB cut unwanted  
1289 6759 d 6 h vana /kernel/trunk/arch/ Amd64 framebuffer  
1288 6759 d 7 h jermar /kernel/trunk/ Complete implementation of copy_from_uspace() and copy_to_uspace()
for amd64 and ia32. Other architectures still compile and run,
but need to implement their own assembly-only memcpy(), memcpy_from_uspace(),
memcpy_to_uspace() and their failover parts. For these architectures
only dummy implementations are provided.
 
1256 6765 d 4 h jermar /kernel/trunk/arch/ Improve SYS_IOSPACE_ENABLE support.
The general protection fault handler now contains
code to service early I/O Permission bitmap faults.
 
1251 6766 d 5 h jermar /kernel/trunk/ Fix BITS2BYTES macro to return 0 when passed 0 as argument.
Fix ia32 TSS segment granularity to be 0.
Fix ia32 and amd64 initial TSS limit to be 103.
Little textual changes here and there.
 
1212 6772 d 1 h palkovsky /kernel/trunk/ Added uspace call to enable/disable interrupts.  
1203 6777 d 3 h jermar /kernel/trunk/arch/ Full implementation of amd64 and ia32 SYS_ENABLE_IOSPACE syscall.
Needs testing.
 
1201 6777 d 4 h jermar /kernel/trunk/arch/ Fix amd64 and ia32 management of I/O bitmap in before_task_runs_arch()
by treating the iomap array as a bitmap. Make use of the bitmap type
and functions added in previous commit.
 
1187 6781 d 2 h jermar /kernel/trunk/ Cleanup pm.c and pm.h code on ia32 and amd64.
Add before_task_runs() and before_task_runs_arch() for each architecture.
Add ia32 and amd64 code to ensure I/O Permission Bitmap update.
 
1186 6781 d 3 h jermar /kernel/trunk/arch/ Replace assembly from pm.c with new inline functions defined in asm.h.  
1184 6781 d 5 h jermar /kernel/trunk/ Move arch/thread.h to arch/proc/thread.h on all architectures.
Replace ARCH_THREAD_DATA with new thread_arch_t arch on all architectures.
Similarily, add task_arch_t arch on all architectures.
On amd64 and ia32, grow the TSS segment by 64K + 1B to support IO port
permission bitmap. For the same reason, define per task IO port permission bitmaps
on ia32 and amd64.
 
1121 6801 d 22 h jermar /kernel/trunk/ Small textual changes.  
1112 6802 d 9 h palkovsky /kernel/trunk/ Added basic kernel infrastructure for ThreadLocalStorage(TLS) for
ia32(complete),amd64(complete),mips32(missing emulation of rdhwr instruction).
 
1104 6803 d 2 h jermar /kernel/trunk/ Define atomic_t only once in atomic.h
Change the encapsulated counter type to long so that it supports negative values as well.
 
1100 6804 d 23 h palkovsky /kernel/trunk/ Cleanup of spinlocks, now compiles both ia32 and amd64 with
and without DEBUG_SPINLOCKS. Made spinlocks inline.
Moved syscall_handler to generic (it was identical for ia32,amd64 & mips32).
Made slightly faster syscall for ia32.
Made better interrupt routines for ia32.
Allow not saving non-scratch registers during interrupt on ia32,amd64,mips32.
Aligned interrupt handlers on ia32,amd64, this should prevent problems
with different instruction lengths.
 
1077 6808 d 6 h palkovsky /kernel/trunk/ Modified debugger to be able to coexist in AS watch mode and SMP.  
1072 6808 d 8 h palkovsky /kernel/trunk/ Added debugger to AMD64.
Added automatic debugging of AS if it is not rewritten with zero.
Did small changes to IPC infrastructure.
 
1070 6808 d 9 h jermar /kernel/trunk/ More checks for address space area conflicts.