Subversion Repositories HelenOS-historic

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
76 6984 d 7 h jermar /SPARTAN/trunk/ For each architecture, add function/macro FADDR that calculates absolute address of a function referenced by void (* f)(void).
IA-32 and MIPS gcc's use direct addressing (f == FADDR(f)) while IA-64 gcc uses indirect addressing (f != FADDR(f)).

Tweaks in IA-64 Makefile.inc to declare constant gp and main Makefile to consider ASFLAGS when compiling .s targets.
 
/SPARTAN/trunk/arch/ia32/include/faddr.h
/SPARTAN/trunk/arch/ia64/include/faddr.h
/SPARTAN/trunk/arch/mips/include/faddr.h
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
75 6984 d 10 h vana /SPARTAN/trunk/ Move fpu_owner pointer from cpu_arch_t to cpu_t.  
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/proc/scheduler.c
74 6985 d 6 h jermar /SPARTAN/trunk/arch/ia64/src/ More of IA-64 initialization.  
/SPARTAN/trunk/arch/ia64/src/start.S
73 6985 d 6 h vana /SPARTAN/trunk/ Finished FPU lazy context switching - first version. I have not tested it and there are many things which must be changed when
it runs first time OK.
 
/SPARTAN/trunk/arch/ia32/include/interrupt.h
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/doc/TODO
/SPARTAN/trunk/include/fpu_context.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
72 6985 d 8 h decky /SPARTAN/trunk/ size_t usage
const qualifier
code cleanup
 
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/include/func.h
/SPARTAN/trunk/include/memstr.h
/SPARTAN/trunk/include/mm/heap.h
/SPARTAN/trunk/include/mm/vm.h
/SPARTAN/trunk/src/lib/func.c
/SPARTAN/trunk/src/lib/memstr.c
/SPARTAN/trunk/src/mm/heap.c
/SPARTAN/trunk/src/mm/vm.c
71 6985 d 8 h jermar /SPARTAN/trunk/src/main/ Declare 'HelenOS project' as the copyright holder from 2005.  
/SPARTAN/trunk/src/main/main.c
70 6985 d 8 h decky /SPARTAN/trunk/include/ typo fixes (year, \n)  
/SPARTAN/trunk/include/debug.h
69 6985 d 8 h decky /SPARTAN/trunk/include/ ASSERT macro  
/SPARTAN/trunk/include/debug.h
68 6985 d 8 h decky /SPARTAN/trunk/ NDEBUG debug symbol, ASSERT debug macro, fancier panic() in debug mode
indentation fixes, ASSERTs
 
/SPARTAN/trunk/arch/ia32/src/debug/panic.s
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/mips/src/cache.c
/SPARTAN/trunk/arch/mips/src/exception.c
/SPARTAN/trunk/arch/mips/src/interrupt.c
/SPARTAN/trunk/arch/mips/src/mm/tlb.c
/SPARTAN/trunk/arch/mips/src/panic.s
/SPARTAN/trunk/include/list.h
/SPARTAN/trunk/include/panic.h
/SPARTAN/trunk/include/print.h
/SPARTAN/trunk/include/typedefs.h
/SPARTAN/trunk/src/debug/print.c
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/frame.c
/SPARTAN/trunk/src/mm/heap.c
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/synch/rwlock.c
/SPARTAN/trunk/src/time/timeout.c
67 6985 d 9 h decky /SPARTAN/trunk/ typedef short bool (as logical type), defines of false and true
const qualifier for list_member()
 
/SPARTAN/trunk/include/list.h
/SPARTAN/trunk/include/typedefs.h
/SPARTAN/trunk/src/lib/list.c
66 6985 d 9 h jermar /SPARTAN/trunk/src/debug/ Correct typo - threated vs. treated.  
/SPARTAN/trunk/src/debug/print.c
65 6985 d 9 h decky /SPARTAN/trunk/arch/ia32/ doxygen-style comments  
/SPARTAN/trunk/arch/ia32/_link.ld
/SPARTAN/trunk/arch/ia32/src/asm.s
/SPARTAN/trunk/arch/ia32/src/context.s
/SPARTAN/trunk/arch/ia32/src/cpuid.s
/SPARTAN/trunk/arch/ia32/src/userspace.c
64 6985 d 9 h jermar /SPARTAN/trunk/doc/ Add Martin Decky to doc/AUTHORS.  
/SPARTAN/trunk/doc/AUTHORS
63 6985 d 11 h decky /SPARTAN/trunk/ const qualifier for print functions  
/SPARTAN/trunk/arch/ia32/include/ega.h
/SPARTAN/trunk/arch/ia32/src/drivers/ega.c
/SPARTAN/trunk/arch/ia64/src/putchar.c
/SPARTAN/trunk/arch/mips/src/putchar.c
/SPARTAN/trunk/include/print.h
/SPARTAN/trunk/include/putchar.h
/SPARTAN/trunk/src/debug/print.c
62 6985 d 11 h decky /SPARTAN/trunk/src/lib/ doxygen-style comments  
/SPARTAN/trunk/src/lib/func.c
/SPARTAN/trunk/src/lib/list.c
/SPARTAN/trunk/src/lib/memstr.c
61 6985 d 11 h decky /SPARTAN/trunk/src/debug/ doxygen-style comments  
/SPARTAN/trunk/src/debug/print.c
60 6985 d 14 h jermar /SPARTAN/trunk/arch/ia64/ IA-64 work.
Give up attempts to persuade ld to patch the kernel image with proper hardcoded lenghts and addresses.
Add special sections and calculate the numbers manually.
Fix wrong order of operands in sub instructions in memcpy() implementation.
 
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/_link.ld
/SPARTAN/trunk/arch/ia64/src/asm.S
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/ia64/src/start.S
59 6986 d 4 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 6988 d 4 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 6988 d 4 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 6988 d 5 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 6988 d 5 h jermar /SPARTAN/trunk/arch/ia64/src/ Add missing context.S.  
/SPARTAN/trunk/arch/ia64/src/context.S
54 6988 d 5 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 6988 d 5 h vana /SPARTAN/trunk/include/ Blank line added :-)  
/SPARTAN/trunk/include/fpu_context.h
52 6988 d 6 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 6988 d 8 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 6988 d 13 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 6988 d 13 h vana /SPARTAN/trunk/arch/ia32/src/ Change indentation in context.s.  
/SPARTAN/trunk/arch/ia32/src/context.s
48 6988 d 14 h vana /SPARTAN/trunk/arch/ia32/src/ Add missing function names.  
/SPARTAN/trunk/arch/ia32/src/context.s
47 6988 d 14 h jermar /SPARTAN/trunk/src/main/ Remove redundant comments.  
/SPARTAN/trunk/src/main/main.c
46 6988 d 14 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 6988 d 18 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 6988 d 18 h vana /SPARTAN/trunk/src/ JV's first commit :-)  
/SPARTAN/trunk/src/Makefile.config
43 6989 d 6 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 6989 d 6 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 6990 d 15 h jermar /SPARTAN/trunk/include/ Typo corrected.  
/SPARTAN/trunk/include/stackarg.h
40 6990 d 15 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 6992 d 6 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 6993 d 9 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 6993 d 17 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