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
506 6796 d 18 h decky /kernel/trunk/ preparation for init task loading  
503 6796 d 21 h jermar /kernel/trunk/ Rename arch_late_init() to arch_pre_smp_init().
Add arch_post_smp_init().
Enable IRQ_KBD on ia-32 (doesn't work on Bochs SMP, works on Bochs UP).
 
501 6796 d 22 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
492 6797 d 15 h jermar /SPARTAN/trunk/ Rename map_page_to_frame() to page_mapping_insert() and find_mapping() to page_mapping_find().
New names should make it more apparent that these two belong together.
 
486 6804 d 14 h jermar /SPARTAN/trunk/ Revert to -O3 for all architectures as the mips32 bug got fixed.  
483 6804 d 17 h jermar /SPARTAN/trunk/ For now, each architecture must use its own -O switch (-O2 doesn't work for ia64, -O3 doesn't work for mips32).

New mips32 atomic_add() function.

Cleanup.
 
481 6806 d 15 h vana /SPARTAN/trunk/arch/ia32/include/ Revert of =m in ia32 atomic operations. In according to gcc docs +m should be right but as Jakub said it is not working
with amd64 but =m is... and I'm not able to build tools for that platform to test it now :-( . (Maybe bug in gcc ???)
 
477 6807 d 23 h vana /SPARTAN/trunk/ Atomic inc & dec functions synchronized on all ia32,ia64 and mips platforms. Now there are 3 versions which returns no value, new value and old value och changed variable.  
475 6808 d 23 h jermar /SPARTAN/trunk/ Define atomic_t type.  
472 6809 d 23 h jermar /SPARTAN/trunk/ Changes in build system.
For .S targets, always do -D__ASM__.
Remove unnecessary #define __ASM__ from various *.S files.
At the end of build, generate disassembler dump for kernel.raw.

ia64 work.
Better General Exception handler.
 
470 6810 d 12 h jermar /SPARTAN/trunk/ ia64 work.
Big cleanup of IA-64 interrupt processing.
Merge of interrupt.c and interrupt_handler.c.
Rewrite of ivt.S and interrupt.c.
Higher level interrupt handlers are now passed a vector number and a pointer to stack structure.

ia32 work.
ia32 has ordered writes. Until it deploys weaker memory ordering model, write_barrier() can be empty statement.
 
469 6810 d 19 h jermar /SPARTAN/trunk/arch/ia32/include/ Get the memory barriers on ia32 right.  
468 6810 d 20 h decky /SPARTAN/trunk/ fix IA-32 fences (1/2)  
461 6811 d 0 h decky /SPARTAN/trunk/ link kernel in ARCH's native format first, then use objcopy to create output format  
460 6811 d 0 h decky /SPARTAN/trunk/ some fancy stuff  
458 6811 d 1 h decky /SPARTAN/trunk/ make configuration variables usage consistent  
457 6811 d 1 h decky /SPARTAN/trunk/ new build system almost finished  
455 6811 d 13 h decky /SPARTAN/trunk/ new build system upgrade
finished work for IA-32, IA-64, PPC-32, SPARC-64
 
454 6811 d 16 h decky /SPARTAN/trunk/ build system: boot target  
452 6811 d 17 h decky /SPARTAN/trunk/ major build system revision (unfinished)
this patchset most definitively breaks a lot of things, be patient
 
451 6811 d 18 h decky /SPARTAN/trunk/arch/ia32/src/boot/ (ignore this :))  
450 6811 d 18 h decky /SPARTAN/trunk/arch/ia32/src/boot/ (ignore this :))  
449 6811 d 18 h decky /SPARTAN/trunk/arch/ia32/boot/ (ignore this :))  
448 6811 d 18 h decky /SPARTAN/trunk/arch/ia32/boot/ (ignore this :))  
437 6813 d 15 h decky /SPARTAN/trunk/arch/ia32/src/smp/ update comments  
432 6815 d 17 h jermar /SPARTAN/trunk/arch/ IA-64 work.
Add some asm functions for manipulation with PSR, AR and CR registers.
 
430 6817 d 15 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
423 6822 d 21 h decky /SPARTAN/trunk/ Enable/disable CPU memory barriers at compile time  
422 6824 d 4 h jermar /SPARTAN/trunk/ Move ACPI code to genarch.
Enable it for ia32, amd64 and ia64.
For now, ia64 support is commented out.
 
419 6825 d 17 h bondari /SPARTAN/trunk/arch/ Memory inline functions for AMD64.
memcmp and memcpy are redefined according to norma
 
414 6832 d 3 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 6832 d 13 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 6834 d 23 h decky /SPARTAN/trunk/ IA32 has_cpuid() inline
minor indentation fixes
 
406 6837 d 15 h jermar /SPARTAN/trunk/arch/ Fix directives for K_TEXT_START, K_TEXT_START_2 and K_DATA_START sections to be more descriptive about section's content.
Remove LOAD(0xdeadbeaf) from ia32 linker script.
Remove __fake from amd64 pm.c.
 
396 6844 d 0 h jermar /SPARTAN/trunk/ Add mm/mapping1 test.
(Will not make it past TLB Invalid exception on mips32.)
Fixes in asid.c.
Make TLB register types union with __u32 value.
Implement tlb_invalidate() for mips32.
(TLB invalidation and shootdown path will have to be revised.)
 
393 6844 d 17 h bondari /SPARTAN/trunk/arch/ia32/include/ Comments fixed  
392 6844 d 17 h bondari /SPARTAN/trunk/arch/ia32/ Last inline functions for IA-32  
391 6845 d 15 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 6845 d 15 h bondari /SPARTAN/trunk/arch/ia32/ ia-32 memcmp inline  
389 6846 d 2 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().