Subversion Repositories HelenOS-historic

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
414 6854 d 7 h jermar /SPARTAN/trunk/ Create generic context_save() and context_restore().
These two functions are defined inline and only call context_save_arch() and context_restore_arch(), respectively.
The main purpose of this is to enable centralized commenting of these important and tricky functions.
 
413 6854 d 17 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.
 
408 6857 d 2 h decky /SPARTAN/trunk/ IA32 has_cpuid() inline
minor indentation fixes
 
393 6866 d 20 h bondari /SPARTAN/trunk/arch/ia32/include/ Comments fixed  
392 6866 d 20 h bondari /SPARTAN/trunk/arch/ia32/ Last inline functions for IA-32  
391 6867 d 18 h jermar /SPARTAN/trunk/ mips32 memory management work.
TLB Refill Exception implemented (passed basic testing).
Remove bit g from struct entry_hi.
Add generic find_mapping().
Add asid to vm_t type, define asid_t to hide architecture specific differences.
Implement ASID allocation for mips32, dummy for other architectures.
Add THE->vm (a.k.a. VM).
Add vm_install_arch().
Move pte_t definition to arch/types.h on each architecture.
Fix PTL manipulating functions on mips32 to shift pfn by 12 instead of by 14.
Fix tlb_init_arch() to initialize all entries.

Other.
Remove unnecessary header files from arch.h
Add missing headers here and there.
Remove two unnecessary ld flags from mips32 makefile.
 
390 6867 d 18 h bondari /SPARTAN/trunk/arch/ia32/ ia-32 memcmp inline  
389 6868 d 5 h jermar /SPARTAN/trunk/ MIPS work.
Fix some name inconsistencies between cp0 functions' declarations and definitions.
Add and implement tlb_init_arch().
Add tlb_modified() exception handler.

Other architectures: add dummy tlb_init_arch().
 
363 6882 d 19 h jermar /SPARTAN/trunk/arch/ Fix copyright notices.  
361 6882 d 20 h bondari /SPARTAN/trunk/ Memory routines per-arch declations for future implementation  
359 6883 d 18 h bondari /SPARTAN/trunk/arch/ia32/include/ I think some comments to the algoritm would be helful  
358 6883 d 18 h bondari /SPARTAN/trunk/ built-in memcpy is not used anymore on IA-32.
IA-32 memcpy is now fast and inline.
 
356 6883 d 21 h bondari /SPARTAN/trunk/arch/ia32/ Get from port functions are now inline  
354 6884 d 2 h jermar /SPARTAN/trunk/ Physical memory management work.
Define structures for frame zones and frames.

Add some comments.
 
353 6884 d 7 h bondari /SPARTAN/trunk/arch/ia32/ Outb, outw, outl are now inline functions  
352 6884 d 19 h bondari /SPARTAN/trunk/arch/ia32/ outb inline function  
348 6888 d 19 h jermar /SPARTAN/trunk/arch/ Optimize some assembler functions.  
338 6891 d 1 h jermar /SPARTAN/trunk/ Avoid code duplication by creating generic byteorder.h.
Some naming changes in swap functions.
 
332 6891 d 3 h palkovsky /SPARTAN/trunk/ Updated symtab so that it works correctly with BE architectures.
Changed compiler for BE MIPS to be mips-sgi-irix5, because
mipsel -EB does not behave correctly.
Doc updates to amd64.
Added ARC BIOS support to MIPS architecture. Putchar works correctly,
kernel passed FPU & some rwlock tests.
 
328 6892 d 5 h jermar /SPARTAN/trunk/ IA-32 can be now cross-compiled by ./build.ia32 cross.
Unify IA-32 Makefile.inc and Makefile.inc.cross.

Update doc/requirements.

Small changes elsewere.
 
315 6895 d 8 h jermar /SPARTAN/trunk/arch/ia32/ Make IA-32 userspace stack be aligned on doubleword boundary.
In userspace(), mark "eax" as clobbered register.
 
312 6895 d 18 h jermar /SPARTAN/trunk/arch/ia32/ According to IA-32 ABI, %edx and %ecx don't have to be saved accross function calls.
Remove these registers from context_t and adjust context_save() and context_restore() to make use of this fact.
 
309 6896 d 6 h palkovsky /SPARTAN/trunk/ Added architecture independent hooks for fpu lazy context switching.
It is enabled by defining FPU_LAZY
 
303 6897 d 0 h palkovsky /SPARTAN/trunk/  
300 6897 d 3 h palkovsky /SPARTAN/trunk/arch/ia32/ Backported AMD64 linker and boot changes back to IA32.  
292 6897 d 17 h jermar /SPARTAN/trunk/ Add byteorder.h to support conversions between different endianesses.
Add native_le2host().

Use native_le2host() in get_symtab_entry().
 
282 6898 d 8 h palkovsky /SPARTAN/trunk/ Fixed gdtr naming issues after ia32 changes.
Fixed stack alignment on new thread to by multiple of 16,
we are now ABI-correct and we do not #GP on va_arg to boot.
Fixed bad exception register names reporting.
Fixed bad _hardcoded_load_addr, which caused allocation of kernel text
frames.
 
280 6898 d 16 h decky /SPARTAN/trunk/arch/ia32/ basic GRUB memory map  
279 6898 d 18 h decky /SPARTAN/trunk/arch/ia32/ GRUB basic booting (IA-32)  
275 6898 d 21 h palkovsky /SPARTAN/trunk/arch/ Moved AMD64 kernel above 1MB.  
273 6898 d 22 h palkovsky /SPARTAN/trunk/ Changes to make ia32 smp code not architecture dependent.
Changes to accomodate new gdtr loading scheme.
 
269 6898 d 23 h decky /SPARTAN/trunk/arch/ia32/ make IA-32 SMP work again (finally)  
268 6898 d 23 h palkovsky /SPARTAN/trunk/ Added symbol table lookup in exceptions.
This breaks ia64 & ppc architecture compiles.
 
267 6899 d 0 h decky /SPARTAN/trunk/arch/ia32/ proper way of initializing GDT during boot on IA-32, fixes the nasty hack
SMP might be still broken
 
266 6899 d 2 h cejka /SPARTAN/trunk/ Support for NaN and infinity in printf.  
259 6899 d 4 h palkovsky /SPARTAN/trunk/ Fixed asm problems in asm in atomic instructions.  
248 6899 d 22 h jermar /SPARTAN/trunk/ Make atomic_dec() and atomic_inc() take (volatile int *) argument, not (volatile count_t *).  
241 6900 d 21 h palkovsky /SPARTAN/trunk/ Cleanups so that it compiles on ia-32 & amd-64 cleanly  
235 6900 d 23 h decky /SPARTAN/trunk/ load the kernel above 1 MB on IA-32  
230 6901 d 1 h cejka /SPARTAN/trunk/arch/ Created fmath as basic tool for IEEE 754 floating point numbers.
Added option $F for printf for printing "double" type.