Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
97 |
7021 d 11 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. |
|
/SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/include/context.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c
|
81 |
7029 d 3 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(). |
|
/SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/include/smp/apic.h /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/ia64/src/asm.S /SPARTAN/trunk/arch/ia64/src/start.S /SPARTAN/trunk/arch/mips/include/context.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/test/synch/rwlock4/test.c
|
78 |
7033 d 2 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. |
|
/SPARTAN/trunk/arch/ia64/src/ski /SPARTAN/trunk/arch/ia64/src/ski/ski.c
/SPARTAN/trunk/arch/ia64/Makefile.inc /SPARTAN/trunk/arch/ia64/include/ski/ski.h /SPARTAN/trunk/arch/ia64/src/fake.s /SPARTAN/trunk/arch/ia64/src/ia64.c /SPARTAN/trunk/arch/ia64/src/putchar.c /SPARTAN/trunk/arch/ia64/src/start.S /SPARTAN/trunk/src/main/main.c
|
77 |
7033 d 3 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. |
|
/SPARTAN/trunk/include/print.h /SPARTAN/trunk/src/debug/print.c /SPARTAN/trunk/src/main/main.c
|
76 |
7034 d 3 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
|
71 |
7035 d 3 h |
jermar |
/SPARTAN/trunk/src/main/ |
Declare 'HelenOS project' as the copyright holder from 2005. |
|
/SPARTAN/trunk/src/main/main.c
|
68 |
7035 d 4 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
|
47 |
7038 d 9 h |
jermar |
/SPARTAN/trunk/src/main/ |
Remove redundant comments. |
|
/SPARTAN/trunk/src/main/main.c
|
46 |
7038 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
|
37 |
7043 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
|
34 |
7046 d 7 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
|
32 |
7049 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
|
28 |
7051 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 |
7052 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 |
7054 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
|
23 |
7057 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
|
16 |
7066 d 7 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. |
|
/SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/boot/boot.ld /SPARTAN/trunk/arch/ia32/include/cpu.h /SPARTAN/trunk/arch/ia32/include/smp/apic.h /SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/mips/include/cpu.h /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/cpu.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/cpu/cpu.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/thread.c
|
15 |
7067 d 5 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. |
|
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/drivers/i8042.c /SPARTAN/trunk/arch/ia32/src/drivers/i8254.c /SPARTAN/trunk/arch/ia32/src/drivers/i8259.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/arch/mips/src/cpu/cpu.c /SPARTAN/trunk/arch/mips/src/exception.c /SPARTAN/trunk/arch/mips/src/mm/tlb.c /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/src/cpu/cpu.c /SPARTAN/trunk/src/lib/func.c /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/task.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/synch/rwlock.c /SPARTAN/trunk/src/synch/spinlock.c /SPARTAN/trunk/src/synch/waitq.c /SPARTAN/trunk/src/time/clock.c /SPARTAN/trunk/src/time/delay.c /SPARTAN/trunk/src/time/timeout.c /SPARTAN/trunk/test/synch/rwlock2/test.c /SPARTAN/trunk/test/synch/rwlock3/test.c /SPARTAN/trunk/test/synch/rwlock4/test.c /SPARTAN/trunk/test/synch/rwlock5/test.c /SPARTAN/trunk/test/synch/semaphore1/test.c /SPARTAN/trunk/test/synch/semaphore2/test.c
|
11 |
7110 d 0 h |
jermar |
/SPARTAN/trunk/ |
Clean up (ia32 vs. i386).
Header files reorganization. |
|
/SPARTAN/trunk/arch/ia32/include/smp /SPARTAN/trunk/arch/ia32/include/smp/ap.h /SPARTAN/trunk/arch/ia32/include/smp/apic.h /SPARTAN/trunk/arch/ia32/include/smp/atomic.h /SPARTAN/trunk/arch/ia32/include/smp/mp.h /SPARTAN/trunk/arch/mips/include/smp /SPARTAN/trunk/arch/mips/include/smp/atomic.h
/SPARTAN/trunk/arch/ia32/include/ap.h /SPARTAN/trunk/arch/ia32/include/apic.h /SPARTAN/trunk/arch/ia32/include/atomic.h /SPARTAN/trunk/arch/ia32/include/mp.h /SPARTAN/trunk/arch/mips/include/atomic.h
/SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/include/cpu.h /SPARTAN/trunk/arch/ia32/include/i8254.h /SPARTAN/trunk/arch/ia32/include/mm/frame.h /SPARTAN/trunk/arch/ia32/include/mm/page.h /SPARTAN/trunk/arch/ia32/include/mm/vm.h /SPARTAN/trunk/arch/ia32/include/thread.h /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/ia32/src/smp/ipi.c /SPARTAN/trunk/arch/ia32/src/smp/mp.c /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/mm/tlb.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/synch/spinlock.c /SPARTAN/trunk/src/time/clock.c
|
5 |
7114 d 2 h |
jermar |
/SPARTAN/trunk/ |
TLB shootdown. |
|
/SPARTAN/trunk/arch/ia32/include/apic.h /SPARTAN/trunk/arch/ia32/include/interrupt.h /SPARTAN/trunk/arch/ia32/src/ia32.c /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/mm/tlb.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/include/mm/tlb.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/mm/tlb.c /SPARTAN/trunk/src/mm/vm.c
|