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
103 6980 d 6 h jermar /SPARTAN/trunk/ Just cleanup.  
102 6983 d 5 h jermar /SPARTAN/trunk/ IA-64 work.
Redefine FRAME_SIZE to "(16*1024)" instead of "2*4096". Note that the latter definition was wrong because of the lack of "()".
Take panic_printf(), cpu_halt() and memsetb() out of fake.s and implement them properly in asm.S.
Move ski_init_console() from arch_post_mm_init() to arch_pre_mm_init().
In start.S, write r0 to ar.bspstore.

Janitorial fixes.
Add count_t type.
Replace several occurrences of int and __u32 by count_t or size_t.
Shorten several panic strings.
 
99 6985 d 17 h jermar /SPARTAN/trunk/ Replace "THREAD->cpu" with "CPU" in scheduler().

Add trailing '\n' to memmap.h
Fix some translations.
Relpace one Czech sentence with its English translation.
 
97 6986 d 13 h jermar /SPARTAN/trunk/ Add context_set() macro to support extended behaviour for architectures with more than one stack (e.g. IA-64).
Now there is one generic context_set() defined in include/context.h and one IA-64 specific defined in arch/ia64/include/context.h.
 
92 6991 d 8 h jermar /SPARTAN/trunk/ FPU work.
FPU code cleanup, add/fix copyright notices where needed.
Fix PI calculation to use double n instead of int n.
Make FPU test #1 even more stressing.

Re-enable O3 again.
Revert Makefile.config not to compile in any tests.
 
91 6992 d 2 h jermar /SPARTAN/trunk/ Rename test/fpu/fpu0 to test/fpu/fpu1.
Enhance and beautify FPU test #1.
Add pi calculation to FPU test #1.
 
88 6992 d 12 h jermar /SPARTAN/trunk/ Rename test/fpu/fp0 to test/fpu/fpu0.
(Couldn't do it in one go.)
 
87 6992 d 12 h jermar /SPARTAN/trunk/ Rename test/fp to test/fpu.  
84 6992 d 13 h vana /SPARTAN/trunk/ IA-32 FPU lazy context switching.
Doesn't work on Bochs and sometimes produces wrong results on P4.
Seems to work on VMware and PII.

Build script for IA-32 changed to build floppy images (image.bin) 1440K long.
 
81 6994 d 5 h jermar /SPARTAN/trunk/ Add SP_DELTA macro for each architecture.
On IA-32, this macro represents two doublewords that must be on the stack when switching to a new stack.
On MIPS, there is no need to fix sp when switching to a new stack.
On IA-64, this macro is used to allocate the 16-byte scratch area.

IA-64 work.
Changes in start.S. More changes to come.
Define memcopy().

Janitorial fixes.
Add missing #include <panic.h> to rwlock4/test.c.
Remove wrong use of inline keyword from both declaration and definition of l_apic_id().
 
80 6994 d 7 h vana /SPARTAN/trunk/ Fix page fault caused by dereferencing NULL pointer.  
78 6998 d 4 h jermar /SPARTAN/trunk/ IA-64 cosmetics.
Add ski_init_console() and ski_putchar() to ski.c to perform ski specific tasks.

Change the copyright string in main.c to display both copyrights on a new line.
 
77 6998 d 4 h jermar /SPARTAN/trunk/ Add %P and %p formatters to printf for printing pointers in maximum bit width.
Add %Q and %q formatters to printf for printing 64-bit integers.
 
76 6999 d 5 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.
 
75 6999 d 7 h vana /SPARTAN/trunk/ Move fpu_owner pointer from cpu_arch_t to cpu_t.  
73 7000 d 3 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.
 
72 7000 d 5 h decky /SPARTAN/trunk/ size_t usage
const qualifier
code cleanup
 
71 7000 d 5 h jermar /SPARTAN/trunk/src/main/ Declare 'HelenOS project' as the copyright holder from 2005.  
68 7000 d 5 h decky /SPARTAN/trunk/ NDEBUG debug symbol, ASSERT debug macro, fancier panic() in debug mode
indentation fixes, ASSERTs
 
67 7000 d 6 h decky /SPARTAN/trunk/ typedef short bool (as logical type), defines of false and true
const qualifier for list_member()
 
66 7000 d 6 h jermar /SPARTAN/trunk/src/debug/ Correct typo - threated vs. treated.  
63 7000 d 8 h decky /SPARTAN/trunk/ const qualifier for print functions  
62 7000 d 8 h decky /SPARTAN/trunk/src/lib/ doxygen-style comments  
61 7000 d 9 h decky /SPARTAN/trunk/src/debug/ doxygen-style comments  
59 7001 d 1 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().
 
57 7003 d 2 h vana /SPARTAN/trunk/ Begin support for FPU context switching on platforms which can't do it in lazy way.  
52 7003 d 3 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().
 
47 7003 d 11 h jermar /SPARTAN/trunk/src/main/ Remove redundant comments.  
46 7003 d 11 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.
 
44 7003 d 15 h vana /SPARTAN/trunk/src/ JV's first commit :-)  
43 7004 d 3 h jermar /SPARTAN/trunk/src/ Add comfortable build and cleanup scripts for ia32, ia64 and mips architectures.  
42 7004 d 4 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.
 
40 7005 d 12 h jermar /SPARTAN/trunk/ Variable argument list support for architectures passing arguments on stack.  
37 7008 d 14 h jermar /SPARTAN/trunk/ More IA-64 work.
IA-64 putchar() for Ski simulator.
Linker script changes.
 
35 7010 d 14 h jermar /SPARTAN/trunk/ Early support for IA-64 architecture.  
34 7011 d 9 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.
 
32 7014 d 4 h jermar /SPARTAN/trunk/ ACPI detection code.
MP detection code rewrite.
Minor changes.
 
31 7015 d 9 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.
 
28 7016 d 13 h jermar /SPARTAN/trunk/ Small improvements.  
27 7017 d 3 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.