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
32 6986 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
31 6987 d 7 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.
 
/SPARTAN/trunk/arch/ia32/src/bios/bios.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/cpu/cpu.c
/SPARTAN/trunk/src/mm/tlb.c
/SPARTAN/trunk/src/mm/vm.c
30 6987 d 14 h jermar /SPARTAN/trunk/arch/ia32/ Separate EBDA detection from MP Specification code. EBDA address will be needed during ACPI initialization.  
/SPARTAN/trunk/arch/ia32/include/bios
/SPARTAN/trunk/arch/ia32/include/bios/bios.h
/SPARTAN/trunk/arch/ia32/src/bios
/SPARTAN/trunk/arch/ia32/src/bios/bios.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/smp/mp.c
29 6988 d 6 h jermar /SPARTAN/trunk/arch/ia32/ Begin ACPI support.
ACPI support will be necessary for initialization of SMP systems with SMT (HyperThreading).
 
/SPARTAN/trunk/arch/ia32/include/acpi
/SPARTAN/trunk/arch/ia32/include/acpi/acpi.h
/SPARTAN/trunk/arch/ia32/include/acpi/madt.h
/SPARTAN/trunk/arch/ia32/src/acpi
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/smp/mp.c
28 6988 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 6989 d 2 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 6991 d 10 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
25 6991 d 13 h jermar /SPARTAN/trunk/src/ Fix waitq_sleep_timeout() to call before_thread_runs() when handling timeout.  
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/synch/waitq.c
24 6994 d 4 h jermar /SPARTAN/trunk/ Small fixes.  
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/src/cpu/cpu.c
23 6994 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
22 6996 d 6 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
21 6997 d 7 h jermar /SPARTAN/trunk/arch/ia32/ Minor changes and cleanups of recent modifications.  
/SPARTAN/trunk/arch/ia32/include/smp/apic.h
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
20 7000 d 10 h jermar /SPARTAN/trunk/ Smarter definition of CPU macro.  
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/src/cpu/cpu.c
19 7003 d 4 h jermar /SPARTAN/trunk/ Re-enable tests and fix include paths' in them.  
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/test/synch/rwlock1/test.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
18 7003 d 4 h jermar /SPARTAN/trunk/arch/ia32/ Cleanup floppy boot loader code and add missing stack initialization.  
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/boot/boot.S
17 7003 d 7 h jermar /SPARTAN/trunk/arch/ia32/boot/ Remove bogus line.  
/SPARTAN/trunk/arch/ia32/boot/boot.ld
16 7003 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 7004 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
14 7022 d 14 h decky /SPARTAN/trunk/doc/ SPARTAN authors  
/SPARTAN/trunk/doc/AUTHORS
13 7046 d 1 h jermar /SPARTAN/trunk/arch/ia32/ MP Specification says that MP Configuration Table extended entries with unrecongised types should be skipped rather than paniced on.  
/SPARTAN/trunk/arch/ia32/include/smp/mp.h
/SPARTAN/trunk/arch/ia32/src/smp/mp.c

Show All