Rev |
Age |
Author |
Path |
Log message |
Diff |
81 |
6998 d 11 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 |
6998 d 13 h |
vana |
/SPARTAN/trunk/ |
Fix page fault caused by dereferencing NULL pointer. |
|
78 |
7002 d 10 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 |
7002 d 11 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 |
7003 d 11 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 |
7003 d 14 h |
vana |
/SPARTAN/trunk/ |
Move fpu_owner pointer from cpu_arch_t to cpu_t. |
|
73 |
7004 d 10 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 |
7004 d 11 h |
decky |
/SPARTAN/trunk/ |
size_t usage
const qualifier
code cleanup |
|
71 |
7004 d 11 h |
jermar |
/SPARTAN/trunk/src/main/ |
Declare 'HelenOS project' as the copyright holder from 2005. |
|
68 |
7004 d 12 h |
decky |
/SPARTAN/trunk/ |
NDEBUG debug symbol, ASSERT debug macro, fancier panic() in debug mode
indentation fixes, ASSERTs |
|
67 |
7004 d 12 h |
decky |
/SPARTAN/trunk/ |
typedef short bool (as logical type), defines of false and true
const qualifier for list_member() |
|
66 |
7004 d 13 h |
jermar |
/SPARTAN/trunk/src/debug/ |
Correct typo - threated vs. treated. |
|
63 |
7004 d 14 h |
decky |
/SPARTAN/trunk/ |
const qualifier for print functions |
|
62 |
7004 d 15 h |
decky |
/SPARTAN/trunk/src/lib/ |
doxygen-style comments |
|
61 |
7004 d 15 h |
decky |
/SPARTAN/trunk/src/debug/ |
doxygen-style comments |
|
59 |
7005 d 7 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 |
7007 d 8 h |
vana |
/SPARTAN/trunk/ |
Begin support for FPU context switching on platforms which can't do it in lazy way. |
|
52 |
7007 d 9 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 |
7007 d 17 h |
jermar |
/SPARTAN/trunk/src/main/ |
Remove redundant comments. |
|
46 |
7007 d 18 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 |
7007 d 22 h |
vana |
/SPARTAN/trunk/src/ |
JV's first commit :-) |
|
43 |
7008 d 10 h |
jermar |
/SPARTAN/trunk/src/ |
Add comfortable build and cleanup scripts for ia32, ia64 and mips architectures. |
|
42 |
7008 d 10 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 |
7009 d 19 h |
jermar |
/SPARTAN/trunk/ |
Variable argument list support for architectures passing arguments on stack. |
|
37 |
7012 d 20 h |
jermar |
/SPARTAN/trunk/ |
More IA-64 work.
IA-64 putchar() for Ski simulator.
Linker script changes. |
|
35 |
7014 d 20 h |
jermar |
/SPARTAN/trunk/ |
Early support for IA-64 architecture. |
|
34 |
7015 d 15 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 |
7018 d 10 h |
jermar |
/SPARTAN/trunk/ |
ACPI detection code.
MP detection code rewrite.
Minor changes. |
|
31 |
7019 d 15 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 |
7020 d 19 h |
jermar |
/SPARTAN/trunk/ |
Small improvements. |
|
27 |
7021 d 10 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. |
|
26 |
7023 d 17 h |
jermar |
/SPARTAN/trunk/ |
Code cleanup after arch_init() splitting.
Restore %ds and %es registers before iret. |
|
25 |
7023 d 21 h |
jermar |
/SPARTAN/trunk/src/ |
Fix waitq_sleep_timeout() to call before_thread_runs() when handling timeout. |
|
24 |
7026 d 12 h |
jermar |
/SPARTAN/trunk/ |
Small fixes. |
|
23 |
7026 d 15 h |
jermar |
/SPARTAN/trunk/ |
Fix wrong order of *_init() function calls. |
|
22 |
7028 d 13 h |
jermar |
/SPARTAN/trunk/ |
Added before_thread_runs() to cope with TSS of user space tasks. |
|
20 |
7032 d 17 h |
jermar |
/SPARTAN/trunk/ |
Smarter definition of CPU macro. |
|
19 |
7035 d 11 h |
jermar |
/SPARTAN/trunk/ |
Re-enable tests and fix include paths' in them. |
|
16 |
7035 d 15 h |
jermar |
/SPARTAN/trunk/ |
Switch from mm-based 'the' mechanism to macro-based 'cpu_private_data[CPU_ID_ARCH]' mechanism.
Added l_apic_id() and some other minor APIC changes.
Move gdtr to K_DATA_START section.
Move K_DATA_START section immediately behind K_TEXT_START section so that real-mode addresses work even with growing size of kernel code. |
|
15 |
7036 d 13 h |
jermar |
/SPARTAN/trunk/ |
Introduce macros CPU, THREAD, TASK and use them to replace the->cpu, the->thread, the->task.
Later on, this will make it possible to reference *current* cpu, thread and/or task without the aid from virtual memory. |
|