Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
309 |
6917 d 16 h |
palkovsky |
/SPARTAN/trunk/ |
Added architecture independent hooks for fpu lazy context switching.
It is enabled by defining FPU_LAZY |
|
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/include/cpu.h /SPARTAN/trunk/arch/amd64/src/cpu/cpu.c /SPARTAN/trunk/arch/amd64/src/fpu_context.c /SPARTAN/trunk/arch/amd64/src/interrupt.c /SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/Makefile.inc.cross /SPARTAN/trunk/arch/ia32/include/cpu.h /SPARTAN/trunk/arch/ia32/include/fpu_context.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/arch/ia64/src/dummy.s /SPARTAN/trunk/arch/ia64/src/fpu_context.c /SPARTAN/trunk/arch/mips/src/dummy.s /SPARTAN/trunk/arch/mips/src/fpu_context.c /SPARTAN/trunk/arch/ppc/src/dummy.s /SPARTAN/trunk/arch/ppc/src/fpu_context.c /SPARTAN/trunk/include/fpu_context.h /SPARTAN/trunk/include/proc/scheduler.h /SPARTAN/trunk/src/proc/scheduler.c
|
141 |
6964 d 13 h |
vana |
/SPARTAN/trunk/ |
Clear IOPL on start of system on all CPUs and clear NT before all irets. |
|
/SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/doc/TODO
|
125 |
6970 d 4 h |
jermar |
/SPARTAN/trunk/ |
Huge indentation fix. |
|
/SPARTAN/trunk/arch/ia32/boot/boot.S /SPARTAN/trunk/arch/ia32/boot/boot.ld /SPARTAN/trunk/arch/ia32/include/cpu.h /SPARTAN/trunk/arch/ia32/src/acpi/acpi.c /SPARTAN/trunk/arch/ia32/src/asm.s /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/context.s /SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/cpuid.s /SPARTAN/trunk/arch/ia32/src/drivers/ega.c /SPARTAN/trunk/arch/ia32/src/drivers/i8254.c /SPARTAN/trunk/arch/ia32/src/drivers/i8259.c /SPARTAN/trunk/arch/ia32/src/fpu_context.c /SPARTAN/trunk/arch/ia32/src/ia32.c /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/ia32/src/mm/frame.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/proc/scheduler.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/ia32/src/smp/mps.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/arch/ia64/_link.ld /SPARTAN/trunk/arch/ia64/boot/_link.ld /SPARTAN/trunk/arch/ia64/include/mm/page.h /SPARTAN/trunk/arch/mips/_link.ld /SPARTAN/trunk/arch/mips/boot/boot.s /SPARTAN/trunk/arch/mips/include/context.h /SPARTAN/trunk/arch/mips/include/cpu.h /SPARTAN/trunk/arch/mips/include/mm/page.h /SPARTAN/trunk/arch/mips/src/cpu/cpu.c /SPARTAN/trunk/arch/mips/src/interrupt.c /SPARTAN/trunk/arch/mips/src/mips.c /SPARTAN/trunk/arch/mips/src/start.S /SPARTAN/trunk/arch/powerpc/_link.ld /SPARTAN/trunk/include/mm/page.h /SPARTAN/trunk/include/proc/thread.h /SPARTAN/trunk/include/stackarg.h /SPARTAN/trunk/include/synch/semaphore.h /SPARTAN/trunk/include/synch/waitq.h /SPARTAN/trunk/include/time/timeout.h /SPARTAN/trunk/src/cpu/cpu.c /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/mm/frame.c /SPARTAN/trunk/src/mm/page.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/time/clock.c /SPARTAN/trunk/src/time/timeout.c /SPARTAN/trunk/test/fpu/fpu1/test.c
|
94 |
7026 d 4 h |
jermar |
/SPARTAN/trunk/ |
IA-64 work.
Add application registers ar.lc, ar.ec, ar.ccv, ar.csd, ar.ssd to context_t.
Add store/load operations for ar.lc, ar.ec, ar.ccv, ar.csd, ar.ssd to context_save()/restore().
Add application registers ar.rcs, ar.bsp and ar.rnat to context_t.
Proper store/load operations for ar.rcs, ar.bsp and ar.rnat is in the works.
FPU cleanup.
Remove call set_TS_flag() from cpu_identify().
Remove unneeded includes from FPU test #1. |
|
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/fpu_context.c /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/ia64/src/context.S /SPARTAN/trunk/test/fpu/fpu1/test.c
|
90 |
7027 d 5 h |
vana |
/SPARTAN/trunk/ |
Set TS flag on system startup.
Some bugs in FPU context switching seem to persist.
Optimalization on IA-32 disabled. |
|
/SPARTAN/trunk/arch/ia32/Makefile.inc /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/test/fpu/fpu0/test.c
|
75 |
7034 d 8 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
|
58 |
7038 d 1 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
|
22 |
7059 d 7 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
|
16 |
7066 d 9 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 7 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
|
1 |
7117 d 8 h |
jermar |
/SPARTAN/ |
Initial import |
|
/SPARTAN /SPARTAN/branches /SPARTAN/tags /SPARTAN/trunk /SPARTAN/trunk/arch /SPARTAN/trunk/arch/ia32 /SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/boot /SPARTAN/trunk/arch/ia32/boot/Makefile /SPARTAN/trunk/arch/ia32/boot/boot.S /SPARTAN/trunk/arch/ia32/boot/boot.ld /SPARTAN/trunk/arch/ia32/include /SPARTAN/trunk/arch/ia32/include/ap.h /SPARTAN/trunk/arch/ia32/include/apic.h /SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/atomic.h /SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/include/cpu.h /SPARTAN/trunk/arch/ia32/include/cpuid.h /SPARTAN/trunk/arch/ia32/include/ega.h /SPARTAN/trunk/arch/ia32/include/i8042.h /SPARTAN/trunk/arch/ia32/include/i8254.h /SPARTAN/trunk/arch/ia32/include/i8259.h /SPARTAN/trunk/arch/ia32/include/interrupt.h /SPARTAN/trunk/arch/ia32/include/mm /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/mp.h /SPARTAN/trunk/arch/ia32/include/pm.h /SPARTAN/trunk/arch/ia32/include/thread.h /SPARTAN/trunk/arch/ia32/include/types.h /SPARTAN/trunk/arch/ia32/src /SPARTAN/trunk/arch/ia32/src/asm.s /SPARTAN/trunk/arch/ia32/src/boot /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/context.s /SPARTAN/trunk/arch/ia32/src/cpu /SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/cpuid.s /SPARTAN/trunk/arch/ia32/src/debug /SPARTAN/trunk/arch/ia32/src/debug/panic.s /SPARTAN/trunk/arch/ia32/src/delay.s /SPARTAN/trunk/arch/ia32/src/drivers /SPARTAN/trunk/arch/ia32/src/drivers/ega.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/ia32.c /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/ia32/src/mm /SPARTAN/trunk/arch/ia32/src/mm/frame.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/mm/tlb.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/smp /SPARTAN/trunk/arch/ia32/src/smp/ap.S /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/ia32/src/smp/atomic.S /SPARTAN/trunk/arch/ia32/src/smp/mp.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/arch/mips /SPARTAN/trunk/arch/mips/Makefile.inc /SPARTAN/trunk/arch/mips/_link.ld /SPARTAN/trunk/arch/mips/boot /SPARTAN/trunk/arch/mips/boot/Makefile /SPARTAN/trunk/arch/mips/boot/boot.s /SPARTAN/trunk/arch/mips/include /SPARTAN/trunk/arch/mips/include/asm /SPARTAN/trunk/arch/mips/include/asm.h /SPARTAN/trunk/arch/mips/include/asm/macro.h /SPARTAN/trunk/arch/mips/include/atomic.h /SPARTAN/trunk/arch/mips/include/cache.h /SPARTAN/trunk/arch/mips/include/context.h /SPARTAN/trunk/arch/mips/include/cp0.h /SPARTAN/trunk/arch/mips/include/cpu.h /SPARTAN/trunk/arch/mips/include/exception.h /SPARTAN/trunk/arch/mips/include/interrupt.h /SPARTAN/trunk/arch/mips/include/mm /SPARTAN/trunk/arch/mips/include/mm/frame.h /SPARTAN/trunk/arch/mips/include/mm/page.h /SPARTAN/trunk/arch/mips/include/mm/tlb.h /SPARTAN/trunk/arch/mips/include/mm/vm.h /SPARTAN/trunk/arch/mips/include/thread.h /SPARTAN/trunk/arch/mips/include/types.h /SPARTAN/trunk/arch/mips/src /SPARTAN/trunk/arch/mips/src/asm.s /SPARTAN/trunk/arch/mips/src/cache.c /SPARTAN/trunk/arch/mips/src/context.S /SPARTAN/trunk/arch/mips/src/cpu /SPARTAN/trunk/arch/mips/src/cpu/cpu.c /SPARTAN/trunk/arch/mips/src/exception.c /SPARTAN/trunk/arch/mips/src/fake.s /SPARTAN/trunk/arch/mips/src/interrupt.c /SPARTAN/trunk/arch/mips/src/lib /SPARTAN/trunk/arch/mips/src/lib/memstr.c /SPARTAN/trunk/arch/mips/src/mips.c /SPARTAN/trunk/arch/mips/src/mm /SPARTAN/trunk/arch/mips/src/mm/frame.c /SPARTAN/trunk/arch/mips/src/mm/page.c /SPARTAN/trunk/arch/mips/src/mm/tlb.c /SPARTAN/trunk/arch/mips/src/panic.s /SPARTAN/trunk/arch/mips/src/putchar.c /SPARTAN/trunk/arch/mips/src/start.S /SPARTAN/trunk/arch/powerpc /SPARTAN/trunk/arch/powerpc/Makefile.inc /SPARTAN/trunk/arch/powerpc/_link.ld /SPARTAN/trunk/arch/powerpc/boot /SPARTAN/trunk/arch/powerpc/boot/Makefile /SPARTAN/trunk/arch/powerpc/boot/boot.s /SPARTAN/trunk/arch/powerpc/src /SPARTAN/trunk/arch/powerpc/src/powerpc.c /SPARTAN/trunk/doc /SPARTAN/trunk/doc/TODO /SPARTAN/trunk/doc/mips /SPARTAN/trunk/doc/preemption /SPARTAN/trunk/doc/requirements /SPARTAN/trunk/doc/synchronization /SPARTAN/trunk/include /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/config.h /SPARTAN/trunk/include/context.h /SPARTAN/trunk/include/cpu.h /SPARTAN/trunk/include/func.h /SPARTAN/trunk/include/list.h /SPARTAN/trunk/include/main /SPARTAN/trunk/include/main/kinit.h /SPARTAN/trunk/include/main/uinit.h /SPARTAN/trunk/include/memstr.h /SPARTAN/trunk/include/mm /SPARTAN/trunk/include/mm/frame.h /SPARTAN/trunk/include/mm/heap.h /SPARTAN/trunk/include/mm/page.h /SPARTAN/trunk/include/mm/tlb.h /SPARTAN/trunk/include/mm/vm.h /SPARTAN/trunk/include/panic.h /SPARTAN/trunk/include/print.h /SPARTAN/trunk/include/proc /SPARTAN/trunk/include/proc/scheduler.h /SPARTAN/trunk/include/proc/task.h /SPARTAN/trunk/include/proc/thread.h /SPARTAN/trunk/include/putchar.h /SPARTAN/trunk/include/synch /SPARTAN/trunk/include/synch/condvar.h /SPARTAN/trunk/include/synch/mutex.h /SPARTAN/trunk/include/synch/rwlock.h /SPARTAN/trunk/include/synch/semaphore.h /SPARTAN/trunk/include/synch/spinlock.h /SPARTAN/trunk/include/synch/synch.h /SPARTAN/trunk/include/synch/waitq.h /SPARTAN/trunk/include/test.h /SPARTAN/trunk/include/time /SPARTAN/trunk/include/time/clock.h /SPARTAN/trunk/include/time/delay.h /SPARTAN/trunk/include/time/timeout.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/include/userspace.h /SPARTAN/trunk/src /SPARTAN/trunk/src/Makefile /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/cpu /SPARTAN/trunk/src/cpu/cpu.c /SPARTAN/trunk/src/debug /SPARTAN/trunk/src/debug/print.c /SPARTAN/trunk/src/lib /SPARTAN/trunk/src/lib/func.c /SPARTAN/trunk/src/lib/list.c /SPARTAN/trunk/src/main /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/main/uinit.c /SPARTAN/trunk/src/mm /SPARTAN/trunk/src/mm/frame.c /SPARTAN/trunk/src/mm/heap.c /SPARTAN/trunk/src/mm/page.c /SPARTAN/trunk/src/mm/tlb.c /SPARTAN/trunk/src/mm/vm.c /SPARTAN/trunk/src/proc /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/task.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/synch /SPARTAN/trunk/src/synch/condvar.c /SPARTAN/trunk/src/synch/mutex.c /SPARTAN/trunk/src/synch/rwlock.c /SPARTAN/trunk/src/synch/semaphore.c /SPARTAN/trunk/src/synch/spinlock.c /SPARTAN/trunk/src/synch/waitq.c /SPARTAN/trunk/src/time /SPARTAN/trunk/src/time/clock.c /SPARTAN/trunk/src/time/delay.c /SPARTAN/trunk/src/time/timeout.c /SPARTAN/trunk/test /SPARTAN/trunk/test/synch /SPARTAN/trunk/test/synch/rwlock1 /SPARTAN/trunk/test/synch/rwlock1/test.c /SPARTAN/trunk/test/synch/rwlock2 /SPARTAN/trunk/test/synch/rwlock2/test.c /SPARTAN/trunk/test/synch/rwlock3 /SPARTAN/trunk/test/synch/rwlock3/test.c /SPARTAN/trunk/test/synch/rwlock4 /SPARTAN/trunk/test/synch/rwlock4/test.c /SPARTAN/trunk/test/synch/rwlock5 /SPARTAN/trunk/test/synch/rwlock5/test.c /SPARTAN/trunk/test/synch/semaphore1 /SPARTAN/trunk/test/synch/semaphore1/test.c /SPARTAN/trunk/test/synch/semaphore2 /SPARTAN/trunk/test/synch/semaphore2/test.c
|