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
423 6824 d 11 h decky /SPARTAN/trunk/ Enable/disable CPU memory barriers at compile time  
422 6825 d 18 h jermar /SPARTAN/trunk/ Move ACPI code to genarch.
Enable it for ia32, amd64 and ia64.
For now, ia64 support is commented out.
 
419 6827 d 7 h bondari /SPARTAN/trunk/arch/ Memory inline functions for AMD64.
memcmp and memcpy are redefined according to norma
 
414 6833 d 18 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 6834 d 4 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 6836 d 13 h decky /SPARTAN/trunk/ IA32 has_cpuid() inline
minor indentation fixes
 
393 6846 d 7 h bondari /SPARTAN/trunk/arch/ia32/include/ Comments fixed  
392 6846 d 7 h bondari /SPARTAN/trunk/arch/ia32/ Last inline functions for IA-32  
391 6847 d 5 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 6847 d 5 h bondari /SPARTAN/trunk/arch/ia32/ ia-32 memcmp inline  
389 6847 d 16 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 6862 d 6 h jermar /SPARTAN/trunk/arch/ Fix copyright notices.  
361 6862 d 7 h bondari /SPARTAN/trunk/ Memory routines per-arch declations for future implementation  
359 6863 d 5 h bondari /SPARTAN/trunk/arch/ia32/include/ I think some comments to the algoritm would be helful  
358 6863 d 5 h bondari /SPARTAN/trunk/ built-in memcpy is not used anymore on IA-32.
IA-32 memcpy is now fast and inline.
 
356 6863 d 7 h bondari /SPARTAN/trunk/arch/ia32/ Get from port functions are now inline  
354 6863 d 13 h jermar /SPARTAN/trunk/ Physical memory management work.
Define structures for frame zones and frames.

Add some comments.
 
353 6863 d 18 h bondari /SPARTAN/trunk/arch/ia32/ Outb, outw, outl are now inline functions  
352 6864 d 6 h bondari /SPARTAN/trunk/arch/ia32/ outb inline function  
348 6868 d 6 h jermar /SPARTAN/trunk/arch/ Optimize some assembler functions.  
338 6870 d 12 h jermar /SPARTAN/trunk/ Avoid code duplication by creating generic byteorder.h.
Some naming changes in swap functions.
 
332 6870 d 14 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 6871 d 16 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 6874 d 19 h jermar /SPARTAN/trunk/arch/ia32/ Make IA-32 userspace stack be aligned on doubleword boundary.
In userspace(), mark "eax" as clobbered register.
 
312 6875 d 5 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 6875 d 17 h palkovsky /SPARTAN/trunk/ Added architecture independent hooks for fpu lazy context switching.
It is enabled by defining FPU_LAZY
 
303 6876 d 11 h palkovsky /SPARTAN/trunk/  
300 6876 d 14 h palkovsky /SPARTAN/trunk/arch/ia32/ Backported AMD64 linker and boot changes back to IA32.  
292 6877 d 4 h jermar /SPARTAN/trunk/ Add byteorder.h to support conversions between different endianesses.
Add native_le2host().

Use native_le2host() in get_symtab_entry().
 
282 6877 d 19 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 6878 d 3 h decky /SPARTAN/trunk/arch/ia32/ basic GRUB memory map  
279 6878 d 5 h decky /SPARTAN/trunk/arch/ia32/ GRUB basic booting (IA-32)  
275 6878 d 8 h palkovsky /SPARTAN/trunk/arch/ Moved AMD64 kernel above 1MB.  
273 6878 d 9 h palkovsky /SPARTAN/trunk/ Changes to make ia32 smp code not architecture dependent.
Changes to accomodate new gdtr loading scheme.
 
269 6878 d 10 h decky /SPARTAN/trunk/arch/ia32/ make IA-32 SMP work again (finally)  
268 6878 d 10 h palkovsky /SPARTAN/trunk/ Added symbol table lookup in exceptions.
This breaks ia64 & ppc architecture compiles.
 
267 6878 d 11 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 6878 d 13 h cejka /SPARTAN/trunk/ Support for NaN and infinity in printf.  
259 6878 d 15 h palkovsky /SPARTAN/trunk/ Fixed asm problems in asm in atomic instructions.  
248 6879 d 9 h jermar /SPARTAN/trunk/ Make atomic_dec() and atomic_inc() take (volatile int *) argument, not (volatile count_t *).