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
422 6844 d 12 h jermar /SPARTAN/trunk/ Move ACPI code to genarch.
Enable it for ia32, amd64 and ia64.
For now, ia64 support is commented out.
 
419 6846 d 1 h bondari /SPARTAN/trunk/arch/ Memory inline functions for AMD64.
memcmp and memcpy are redefined according to norma
 
414 6852 d 12 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 6852 d 22 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 6855 d 8 h decky /SPARTAN/trunk/ IA32 has_cpuid() inline
minor indentation fixes
 
393 6865 d 2 h bondari /SPARTAN/trunk/arch/ia32/include/ Comments fixed  
392 6865 d 2 h bondari /SPARTAN/trunk/arch/ia32/ Last inline functions for IA-32  
391 6865 d 23 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 6865 d 23 h bondari /SPARTAN/trunk/arch/ia32/ ia-32 memcmp inline  
389 6866 d 10 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 6881 d 0 h jermar /SPARTAN/trunk/arch/ Fix copyright notices.  
361 6881 d 1 h bondari /SPARTAN/trunk/ Memory routines per-arch declations for future implementation  
359 6882 d 0 h bondari /SPARTAN/trunk/arch/ia32/include/ I think some comments to the algoritm would be helful  
358 6882 d 0 h bondari /SPARTAN/trunk/ built-in memcpy is not used anymore on IA-32.
IA-32 memcpy is now fast and inline.
 
356 6882 d 2 h bondari /SPARTAN/trunk/arch/ia32/ Get from port functions are now inline  
354 6882 d 7 h jermar /SPARTAN/trunk/ Physical memory management work.
Define structures for frame zones and frames.

Add some comments.
 
353 6882 d 12 h bondari /SPARTAN/trunk/arch/ia32/ Outb, outw, outl are now inline functions  
352 6883 d 0 h bondari /SPARTAN/trunk/arch/ia32/ outb inline function  
348 6887 d 0 h jermar /SPARTAN/trunk/arch/ Optimize some assembler functions.  
338 6889 d 6 h jermar /SPARTAN/trunk/ Avoid code duplication by creating generic byteorder.h.
Some naming changes in swap functions.
 
332 6889 d 9 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 6890 d 10 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 6893 d 14 h jermar /SPARTAN/trunk/arch/ia32/ Make IA-32 userspace stack be aligned on doubleword boundary.
In userspace(), mark "eax" as clobbered register.
 
312 6893 d 23 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 6894 d 12 h palkovsky /SPARTAN/trunk/ Added architecture independent hooks for fpu lazy context switching.
It is enabled by defining FPU_LAZY
 
303 6895 d 6 h palkovsky /SPARTAN/trunk/  
300 6895 d 9 h palkovsky /SPARTAN/trunk/arch/ia32/ Backported AMD64 linker and boot changes back to IA32.  
292 6895 d 22 h jermar /SPARTAN/trunk/ Add byteorder.h to support conversions between different endianesses.
Add native_le2host().

Use native_le2host() in get_symtab_entry().
 
282 6896 d 13 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 6896 d 21 h decky /SPARTAN/trunk/arch/ia32/ basic GRUB memory map  
279 6896 d 23 h decky /SPARTAN/trunk/arch/ia32/ GRUB basic booting (IA-32)  
275 6897 d 2 h palkovsky /SPARTAN/trunk/arch/ Moved AMD64 kernel above 1MB.  
273 6897 d 3 h palkovsky /SPARTAN/trunk/ Changes to make ia32 smp code not architecture dependent.
Changes to accomodate new gdtr loading scheme.
 
269 6897 d 5 h decky /SPARTAN/trunk/arch/ia32/ make IA-32 SMP work again (finally)  
268 6897 d 5 h palkovsky /SPARTAN/trunk/ Added symbol table lookup in exceptions.
This breaks ia64 & ppc architecture compiles.
 
267 6897 d 6 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 6897 d 7 h cejka /SPARTAN/trunk/ Support for NaN and infinity in printf.  
259 6897 d 10 h palkovsky /SPARTAN/trunk/ Fixed asm problems in asm in atomic instructions.  
248 6898 d 4 h jermar /SPARTAN/trunk/ Make atomic_dec() and atomic_inc() take (volatile int *) argument, not (volatile count_t *).  
241 6899 d 2 h palkovsky /SPARTAN/trunk/ Cleanups so that it compiles on ia-32 & amd-64 cleanly