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
3485 5782 d 11 h jermar /trunk/ Support for SYSENTER on ia32.  
2444 6275 d 9 h jermar /trunk/kernel/ First fixes for suncc support.
It is going to be a long way...
 
2441 6275 d 11 h decky /trunk/kernel/ fix ICC compilation  
2233 6327 d 11 h decky /trunk/kernel/arch/ use the hlt instruction more properly  
2082 6404 d 19 h decky /trunk/ __asm__ __volatile__ -> asm volatile  
2071 6409 d 12 h jermar /trunk/ (c) versus (C)  
2018 6446 d 15 h decky /trunk/kernel/ rename rdtsc() to get_cycle()  
1888 6534 d 15 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1787 6599 d 14 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6606 d 15 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1702 6627 d 18 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1251 6673 d 18 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.
 
1187 6688 d 15 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 6688 d 16 h jermar /kernel/trunk/arch/ Replace assembly from pm.c with new inline functions defined in asm.h.  
1074 6715 d 20 h palkovsky /kernel/trunk/ Ported AMD64 debugger to ia32 and enabled AS watchpoint to ia32 as well.  
984 6718 d 17 h palkovsky /kernel/trunk/arch/ Fixed invlpg for ia32 & amd64.  
597 6811 d 19 h jermar /kernel/trunk/ Finer grained TLB invalidate functions for ia32 and amd64. Not yet deployed.  
581 6812 d 20 h palkovsky /kernel/trunk/ Small debug changes.  
534 6818 d 13 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6818 d 13 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6830 d 17 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
432 6849 d 12 h jermar /SPARTAN/trunk/arch/ IA-64 work.
Add some asm functions for manipulation with PSR, AR and CR registers.
 
413 6866 d 9 h jermar /SPARTAN/trunk/ Rename cpu_priority_{high|low|restore|read} functions to interrupts_{disable|enable|restore|read}.
Rename pri_t to ipl_t (Interrupt Priority Level).
Rename thread_t::pri to thread_t::priority.
 
393 6878 d 12 h bondari /SPARTAN/trunk/arch/ia32/include/ Comments fixed  
363 6894 d 11 h jermar /SPARTAN/trunk/arch/ Fix copyright notices.  
361 6894 d 12 h bondari /SPARTAN/trunk/ Memory routines per-arch declations for future implementation  
359 6895 d 11 h bondari /SPARTAN/trunk/arch/ia32/include/ I think some comments to the algoritm would be helful  
358 6895 d 11 h bondari /SPARTAN/trunk/ built-in memcpy is not used anymore on IA-32.
IA-32 memcpy is now fast and inline.
 
356 6895 d 13 h bondari /SPARTAN/trunk/arch/ia32/ Get from port functions are now inline  
353 6895 d 23 h bondari /SPARTAN/trunk/arch/ia32/ Outb, outw, outl are now inline functions  
352 6896 d 11 h bondari /SPARTAN/trunk/arch/ia32/ outb inline function  
348 6900 d 11 h jermar /SPARTAN/trunk/arch/ Optimize some assembler functions.  
195 6914 d 13 h vana /SPARTAN/trunk/ 1) memcopy and _memcopy functions rewriten to ANSI C norm.
2) Repaired ia32,ia64 and mips version of SPARTAN to work with this memcopy functions
3) Warning for non declared funcions added and repaired ia32,ia64 and mips versions to pass build process with this warning and Werror option
 
192 6914 d 15 h jermar /SPARTAN/trunk/ Dump implementation of THREAD, TASK and CPU.
Implement preemption-safe versions of THREAD, TASK and CPU using THE.
Get rid of CPU_ID_ARCH on all architectures.
Get rid of write_dr0() and read_dr0() on IA-32.
Get rid of cpu_private_data and cpu_private_data_t.
 
180 6915 d 12 h jermar /SPARTAN/trunk/ Globalize 'size' and 'delta' and rename them to 'kernel_size' and 'heap_delta'.

Fix heap initialization to take 'heap_delta' into account.

Implement IA-64 get_stack_base().

Adjust SP_DELTA's to consider one extra word on stack.
(So that the stack pointer is within appropriate limits even on IA-64).

More #include cleanup.
 
177 6915 d 20 h jermar /SPARTAN/trunk/ Add some comments to IA-32 src/boot/boot.S and src/smp.S.

Make the boot stack start on page boundary.
This is required by get_stack_base().

Define 'THE' macro.

Implement preemption_disable() and preemption_enable().

Add memory barrier macros.
IA-32 macros need support for older processors.
Non IA-32 macros are dummy.

Reduction of many #include paths.
 
173 6919 d 11 h jermar /SPARTAN/trunk/ Preparations for weaker preemption model.
Make all kernel stacks (i.e. startup, scheduler and thread) be STACK_SIZE bytes long.
Reincarnate "the" structure. This time, it is planned to be located at the base of each and every kernel stack.
On IA-32 and MIPS, implement get_stack_base() functions. On the rest of supported platforms, define it to be dummy.
 
139 6955 d 15 h cejka /SPARTAN/trunk/arch/ia32/ Added e801 method for obtaining memory size, improved e820 method for memory map.  
115 6996 d 9 h jermar /SPARTAN/trunk/ Implement several assembler functions in gcc's __asm__ notation instead of in .s or .S file.
Gain both better speed and size.
 
38 7033 d 14 h jermar /SPARTAN/trunk/arch/ia32/ Make read/write_dr0() inlined.