Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
59 6987 d 23 h jermar /SPARTAN/trunk/ Move architecture independent memcopy() and memsetb() out of MIPS subtree and place them in src/lib/ as _memcopy() and _memsetb().
Add MIPS native memsetb().
Add IA-64 native memcpy().

More complete and *almost* functional versions of IA-64 context_save() and context_restore().
 
/SPARTAN/trunk/arch/ia64/src/asm.S
/SPARTAN/trunk/src/lib/memstr.c
/SPARTAN/trunk/arch/mips/src/lib
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/mips/src/asm.s
/SPARTAN/trunk/include/memstr.h
/SPARTAN/trunk/src/Makefile
58 6989 d 23 h vana /SPARTAN/trunk/arch/ia32/ Functions for switching TS flag.  
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
57 6989 d 23 h vana /SPARTAN/trunk/ Begin support for FPU context switching on platforms which can't do it in lazy way.  
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia64/src/fpu_context.c
/SPARTAN/trunk/arch/mips/src/fpu_context.c
/SPARTAN/trunk/arch/powerpc/src/fpu_context.c
/SPARTAN/trunk/include/fpu_context.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/src/proc/scheduler.c
56 6990 d 0 h vana /SPARTAN/trunk/ Added fpu_context.h arch dep files and removed struct fpu_context from context.h files  
/SPARTAN/trunk/arch/ia32/include/fpu_context.h
/SPARTAN/trunk/arch/ia64/include/fpu_context.h
/SPARTAN/trunk/arch/mips/include/fpu_context.h
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/include/fpu_context.h
/SPARTAN/trunk/include/proc/thread.h
55 6990 d 0 h jermar /SPARTAN/trunk/arch/ia64/src/ Add missing context.S.  
/SPARTAN/trunk/arch/ia64/src/context.S
54 6990 d 0 h jermar /SPARTAN/trunk/arch/ Add missing '\' to Makefile.inc
Remove leading '_' from before_thread_runs_arch() in fake.s
 
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/mips/src/fake.s
53 6990 d 1 h vana /SPARTAN/trunk/include/ Blank line added :-)  
/SPARTAN/trunk/include/fpu_context.h
52 6990 d 1 h vana /SPARTAN/trunk/ Move fpu_context switching functions from context.s to fpu_context.c on all platforms.
Add fpu_context.h.

Make before_thread_runs() arch-independent and create arch dependent version before_thread_runs_arch().
 
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia64/src/fpu_context.c
/SPARTAN/trunk/arch/mips/src/fpu_context.c
/SPARTAN/trunk/arch/powerpc/src/fpu_context.c
/SPARTAN/trunk/include/fpu_context.h
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/src/context.s
/SPARTAN/trunk/arch/ia32/src/proc/scheduler.c
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/mips/src/fake.s
/SPARTAN/trunk/arch/powerpc/Makefile.inc
/SPARTAN/trunk/include/context.h
/SPARTAN/trunk/include/proc/scheduler.h
/SPARTAN/trunk/src/proc/scheduler.c
51 6990 d 3 h jermar /SPARTAN/trunk/ Small changes, fix last few wrong indentations.
TODO cleanup.

IA-64 bits.
Call main_bsp from kernel_image_start().
Prepare for IA-64 context_save and context_restore.
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/ia64/src/start.S
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/doc/TODO
50 6990 d 8 h jermar /SPARTAN/trunk/ Big indentation update.

Add Jakub Vana to AUTHORS.

Minor fixes.
 
/SPARTAN/trunk/arch/ia32/src/context.s
/SPARTAN/trunk/arch/ia64/boot/boot.s
/SPARTAN/trunk/arch/mips/boot/boot.s
/SPARTAN/trunk/arch/mips/src/asm.s
/SPARTAN/trunk/arch/mips/src/fake.s
/SPARTAN/trunk/arch/mips/src/start.S
/SPARTAN/trunk/doc/AUTHORS
49 6990 d 8 h vana /SPARTAN/trunk/arch/ia32/src/ Change indentation in context.s.  
/SPARTAN/trunk/arch/ia32/src/context.s
48 6990 d 9 h vana /SPARTAN/trunk/arch/ia32/src/ Add missing function names.  
/SPARTAN/trunk/arch/ia32/src/context.s
47 6990 d 9 h jermar /SPARTAN/trunk/src/main/ Remove redundant comments.  
/SPARTAN/trunk/src/main/main.c
46 6990 d 9 h vana /SPARTAN/trunk/ Remove fpu_context pointer from context_t.
Add fpu_context statically to thread_t.
Two functions for saving and restoring FPU context on lazy switch.
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/src/context.s
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/main/main.c
45 6990 d 13 h vana /SPARTAN/trunk/ Added fpu_context_t type.
IA-32's version of this type contains array of 512 bytes to be used by FXSAVE ... instructions.
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/include/typedefs.h
44 6990 d 13 h vana /SPARTAN/trunk/src/ JV's first commit :-)  
/SPARTAN/trunk/src/Makefile.config
43 6991 d 1 h jermar /SPARTAN/trunk/src/ Add comfortable build and cleanup scripts for ia32, ia64 and mips architectures.  
/SPARTAN/trunk/src/build.ia32
/SPARTAN/trunk/src/build.ia64
/SPARTAN/trunk/src/build.mips
/SPARTAN/trunk/src/clean.ia32
/SPARTAN/trunk/src/clean.ia64
/SPARTAN/trunk/src/clean.mips
42 6991 d 2 h jermar /SPARTAN/trunk/ Add stdarg.h to support variable argument list functions on architectures with compiler support for __builtin_va_*.
stackarg.h is kept for those architectures which lack that kind of support and for testing purposes.

Make printing functions use the __native type and support the maximum integer width.
 
/SPARTAN/trunk/include/stdarg.h
/SPARTAN/trunk/arch/ia64/include/arg.h
/SPARTAN/trunk/include/print.h
/SPARTAN/trunk/src/debug/print.c
41 6992 d 10 h jermar /SPARTAN/trunk/include/ Typo corrected.  
/SPARTAN/trunk/include/stackarg.h
40 6992 d 10 h jermar /SPARTAN/trunk/ Variable argument list support for architectures passing arguments on stack.  
/SPARTAN/trunk/arch/ia32/include/arg.h
/SPARTAN/trunk/arch/ia64/include/arg.h
/SPARTAN/trunk/arch/mips/include/arg.h
/SPARTAN/trunk/include/stackarg.h
/SPARTAN/trunk/arch/ia32/include/types.h
/SPARTAN/trunk/arch/ia64/include/types.h
/SPARTAN/trunk/arch/mips/include/types.h
/SPARTAN/trunk/include/typedefs.h
/SPARTAN/trunk/src/debug/print.c
39 6994 d 1 h jermar /SPARTAN/trunk/arch/ia64/ IA-64 cosmetics.
Fix boot/boot.s to jump to the appropriate address.
Revert _link.ld to contain previously deleted sections.
 
/SPARTAN/trunk/arch/ia64/_link.ld
/SPARTAN/trunk/arch/ia64/boot/boot.s
/SPARTAN/trunk/arch/ia64/src/start.S
38 6995 d 5 h jermar /SPARTAN/trunk/arch/ia32/ Make read/write_dr0() inlined.  
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia32/src/ia32.c
37 6995 d 12 h jermar /SPARTAN/trunk/ More IA-64 work.
IA-64 putchar() for Ski simulator.
Linker script changes.
 
/SPARTAN/trunk/arch/ia64/_link.ld
/SPARTAN/trunk/arch/ia64/src/putchar.c
/SPARTAN/trunk/arch/ia64/src/start.S
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/main/main.c
36 6996 d 3 h jermar /SPARTAN/trunk/arch/ia64/ More IA-64 work.  
/SPARTAN/trunk/arch/ia64/include/ski
/SPARTAN/trunk/arch/ia64/include/ski/ski.h
/SPARTAN/trunk/arch/ia64/src/ia64.c
/SPARTAN/trunk/arch/ia64/src/putchar.c
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/_link.ld
/SPARTAN/trunk/arch/ia64/boot/_link.ld
/SPARTAN/trunk/arch/ia64/boot/boot.s
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/ia64/src/start.S
35 6997 d 12 h jermar /SPARTAN/trunk/ Early support for IA-64 architecture.  
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/_link.ld
/SPARTAN/trunk/arch/ia64/boot
/SPARTAN/trunk/arch/ia64/boot/Makefile
/SPARTAN/trunk/arch/ia64/boot/_link.ld
/SPARTAN/trunk/arch/ia64/boot/boot.s
/SPARTAN/trunk/arch/ia64/include
/SPARTAN/trunk/arch/ia64/include/asm.h
/SPARTAN/trunk/arch/ia64/include/atomic.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/include/cpu.h
/SPARTAN/trunk/arch/ia64/include/interrupt.h
/SPARTAN/trunk/arch/ia64/include/mm
/SPARTAN/trunk/arch/ia64/include/mm/frame.h
/SPARTAN/trunk/arch/ia64/include/mm/page.h
/SPARTAN/trunk/arch/ia64/include/mm/vm.h
/SPARTAN/trunk/arch/ia64/include/smp
/SPARTAN/trunk/arch/ia64/include/smp/atomic.h
/SPARTAN/trunk/arch/ia64/include/thread.h
/SPARTAN/trunk/arch/ia64/include/types.h
/SPARTAN/trunk/arch/ia64/src
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/ia64/src/start.S
/SPARTAN/trunk/doc/arch
/SPARTAN/trunk/doc/arch/ia64
/SPARTAN/trunk/doc/arch/mips
/SPARTAN/trunk/doc/mips
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc/task.c
34 6998 d 6 h jermar /SPARTAN/trunk/ More ACPI work.
Initial MADT table parsing.

SMP renaming and reorganization to reflect there are more ways to bring SMP up.
 
/SPARTAN/trunk/arch/ia32/include/smp/mps.h
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
/SPARTAN/trunk/include/smp/smp.h
/SPARTAN/trunk/arch/ia32/include/smp/mp.h
/SPARTAN/trunk/arch/ia32/src/smp/mp.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/include/acpi/madt.h
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/main/main.c
33 6998 d 23 h jermar /SPARTAN/trunk/ ACPI update (RSDT/XSDT configuration).
Cosmetic changes.
 
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/include/acpi/acpi.h
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/smp/mp.c
/SPARTAN/trunk/doc/requirements
32 7001 d 2 h jermar /SPARTAN/trunk/ ACPI detection code.
MP detection code rewrite.
Minor changes.
 
/SPARTAN/trunk/arch/ia32/include/acpi/acpi.h
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/smp/mp.c
/SPARTAN/trunk/arch/mips/src/mips.c
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/include/func.h
/SPARTAN/trunk/src/lib/func.c
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/tlb.c
31 7002 d 7 h jermar /SPARTAN/trunk/ Replace the deadlock-prone TLB shootdown algorithm with a deadlock-free implementation.
The implementation is a variant of the CMU TLB consistency algorithm.
Very inefficient implementation of a very inefficient (but correct) algorithm.
 
/SPARTAN/trunk/arch/ia32/src/bios/bios.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/cpu/cpu.c
/SPARTAN/trunk/src/mm/tlb.c
/SPARTAN/trunk/src/mm/vm.c
30 7002 d 13 h jermar /SPARTAN/trunk/arch/ia32/ Separate EBDA detection from MP Specification code. EBDA address will be needed during ACPI initialization.  
/SPARTAN/trunk/arch/ia32/include/bios
/SPARTAN/trunk/arch/ia32/include/bios/bios.h
/SPARTAN/trunk/arch/ia32/src/bios
/SPARTAN/trunk/arch/ia32/src/bios/bios.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/smp/mp.c
29 7003 d 6 h jermar /SPARTAN/trunk/arch/ia32/ Begin ACPI support.
ACPI support will be necessary for initialization of SMP systems with SMT (HyperThreading).
 
/SPARTAN/trunk/arch/ia32/include/acpi
/SPARTAN/trunk/arch/ia32/include/acpi/acpi.h
/SPARTAN/trunk/arch/ia32/include/acpi/madt.h
/SPARTAN/trunk/arch/ia32/src/acpi
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/smp/mp.c
28 7003 d 11 h jermar /SPARTAN/trunk/ Small improvements.  
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/src/asm.s
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/smp/mp.c
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/src/cpu/cpu.c
/SPARTAN/trunk/src/main/kinit.c
27 7004 d 1 h jermar /SPARTAN/trunk/ APIC changes and fixes.
Be more robust during MP configuration.

Do not use APIC ID as CPU_ID_ARCH anymore.
Changing APIC ID's is not a good idea.
Use dr0 register instead.
 
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia32/include/smp/apic.h
/SPARTAN/trunk/arch/ia32/src/asm.s
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/arch/ia32/src/smp/mp.c
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/main/main.c
26 7006 d 9 h jermar /SPARTAN/trunk/ Code cleanup after arch_init() splitting.
Restore %ds and %es registers before iret.
 
/SPARTAN/trunk/arch/ia32/src/asm.s
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/mips/src/mips.c
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/main/main.c
25 7006 d 13 h jermar /SPARTAN/trunk/src/ Fix waitq_sleep_timeout() to call before_thread_runs() when handling timeout.  
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/synch/waitq.c
24 7009 d 4 h jermar /SPARTAN/trunk/ Small fixes.  
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/src/cpu/cpu.c
23 7009 d 7 h jermar /SPARTAN/trunk/ Fix wrong order of *_init() function calls.  
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/mips/src/mips.c
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/page.c
22 7011 d 5 h jermar /SPARTAN/trunk/ Added before_thread_runs() to cope with TSS of user space tasks.  
/SPARTAN/trunk/arch/ia32/src/proc
/SPARTAN/trunk/arch/ia32/src/proc/scheduler.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/userspace.c
/SPARTAN/trunk/arch/mips/src/fake.s
/SPARTAN/trunk/include/proc/scheduler.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
21 7012 d 6 h jermar /SPARTAN/trunk/arch/ia32/ Minor changes and cleanups of recent modifications.  
/SPARTAN/trunk/arch/ia32/include/smp/apic.h
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
20 7015 d 9 h jermar /SPARTAN/trunk/ Smarter definition of CPU macro.  
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/src/cpu/cpu.c