Subversion Repositories HelenOS-historic

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
134 6949 d 5 h decky /SPARTAN/trunk/arch/mips/include/mm/ Add missing asid.h  
/SPARTAN/trunk/arch/mips/include/mm/asid.h
132 6949 d 7 h vana /SPARTAN/trunk/arch/ia32/ Added support for error-word generating exceptions in return routine.  
/SPARTAN/trunk/arch/ia32/src/asm.S
/SPARTAN/trunk/arch/ia32/src/asm.s
/SPARTAN/trunk/arch/ia32/Makefile.inc
131 6949 d 7 h jermar /SPARTAN/trunk/arch/ia32/src/ Initialize kmp_completion_wq during configuration via ACPI MADT.
Move some generic SMP configuration code from mps.c to smp.c.
 
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
130 6949 d 7 h decky /SPARTAN/trunk/arch/mips/ Make MIPS target compile and link properly with the new 4.0.1 MIPS toolchain  
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/mips/_link.ld
/SPARTAN/trunk/arch/mips/boot/Makefile
/SPARTAN/trunk/arch/mips/boot/boot.s
/SPARTAN/trunk/arch/mips/src/mm/asid.c
/SPARTAN/trunk/arch/mips/src/mm/tlb.c
129 6950 d 4 h jermar /SPARTAN/trunk/arch/ia32/ Implement ACPI MADT operations for interface used by kmp.  
/SPARTAN/trunk/arch/ia32/include/acpi/madt.h
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
128 6951 d 6 h jermar /SPARTAN/trunk/arch/ia32/ Create IA-32 interface for bringing SMP up.
This interface hides differences between ACPI MADT and MPS configuration tables.
Provide MPS implementation thereof.
 
/SPARTAN/trunk/arch/ia32/include/smp/smp.h
/SPARTAN/trunk/arch/ia32/include/smp/mps.h
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
127 6951 d 7 h jermar /SPARTAN/trunk/arch/ Copyright owner of arch/mips/src/mm/asid.c is Martin Decky.

ACPI code now understands L_APIC and IO_APIC entries in MADT.
 
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
/SPARTAN/trunk/arch/mips/src/mm/asid.c
126 6951 d 9 h decky /SPARTAN/trunk/arch/mips/src/mm/ Start ASID manipulation  
/SPARTAN/trunk/arch/mips/src/mm/asid.c
125 6953 d 21 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
124 6953 d 22 h decky /SPARTAN/trunk/arch/mips/ fix EXC_Mod define

enhance interrupt handling
 
/SPARTAN/trunk/arch/mips/include/exception.h
/SPARTAN/trunk/arch/mips/src/asm.s
/SPARTAN/trunk/arch/mips/src/interrupt.c
123 6953 d 23 h decky /SPARTAN/trunk/arch/mips/ handle more MIPS exceptions  
/SPARTAN/trunk/arch/mips/include/exception.h
/SPARTAN/trunk/arch/mips/src/exception.c
121 6954 d 21 h jermar /SPARTAN/trunk/ Begin MIPS implementation of 4-level page table interface.

Add email address to each item in doc/AUTHORS.

Correct type names in comments in mm/vm.c.
Introduce ptl0 pointer in vm_t.
 
/SPARTAN/trunk/arch/ia64/include/mm/page.h
/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/src/mm/page.c
/SPARTAN/trunk/doc/AUTHORS
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/include/mm/vm.h
/SPARTAN/trunk/src/mm/vm.c
120 6968 d 19 h jermar /SPARTAN/trunk/ Generic 4-level page tables interface & implementation (review & test).
Implement more architecture dependant macros on IA-32.
Provide fake implementation on IA-64 and MIPS.
Convert map_page_to_frame() to use the new interface.
Move adjusted map_page_to_frame() from IA-32's arch/mm/page.c to the generic mm/page.c.
 
/SPARTAN/trunk/arch/ia32/include/mm/page.h
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia64/include/mm/page.h
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/mips/include/mm/page.h
/SPARTAN/trunk/arch/mips/src/mm/page.c
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/include/typedefs.h
/SPARTAN/trunk/src/mm/page.c
119 6969 d 22 h jermar /SPARTAN/trunk/ Start with generic 4-level page table interface.

Usual cleanup.
 
/SPARTAN/trunk/doc/mm
/SPARTAN/trunk/arch/ia32/include/mm/page.h
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/test/fpu/fpu1/test.c
/SPARTAN/trunk/test/synch/rwlock5/test.c
/SPARTAN/trunk/test/synch/semaphore1/test.c
117 6985 d 3 h jermar /SPARTAN/trunk/ Do panic() on page_fault().
Good for long testing in SMP mode as silent "extinctions" of a CPU are no longer supported.

Tiny changes here and there.
 
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/src/Makefile.config
116 6989 d 2 h jermar /SPARTAN/trunk/ Add map_structure() to automate mapping of memory structures that can span multiple pages and/or cross page boundaries.
Change ACPI map_sdt() to use map_structure().

Small changes in MPS code.
The extra frame allocation for accessing frame 0 is unnecessary as it is possible to access frame 0 from kernel address space.
Zero TSS descriptor in the newly prepared GDT.
 
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/src/mm/page.c
115 6989 d 19 h jermar /SPARTAN/trunk/ Implement several assembler functions in gcc's __asm__ notation instead of in .s or .S file.
Gain both better speed and size.
 
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia32/src/asm.s
/SPARTAN/trunk/arch/ia32/src/atomic.S
/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/doc/requirements
/SPARTAN/trunk/src/debug/print.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/proc/thread.c
/SPARTAN/trunk/src/synch/semaphore.c
113 6992 d 18 h jermar /SPARTAN/trunk/ SMP recovery patch #2 (SMP is no longer broken !!!).
Fix missing KA2PA() operation in ap.S which was causing page faults during AP early initialization.
Fix bug in map_page_to_frame(): 'root' was interpretted as kernel address while read_dba() returns physical address.
Make references to page directory and page tables use kernel addresses instead of physical addresses.

Massive frame allocation code cleanup.
Basically revert to what we had had before implementation of userspace.

Usual cosmetics.
 
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/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/smp/ap.S
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/mips/src/mm/frame.c
/SPARTAN/trunk/src/mm/frame.c
/SPARTAN/trunk/src/proc/scheduler.c
112 6992 d 22 h jermar /SPARTAN/trunk/ Define two placeholder functions for atomic_inc and atomic_dec on IA-64.

Add Ondrej Palkovsky to doc/AUTHORS.

Tweaks in IA-32 low level code to bring SMP back to life. (SMP still broken)
 
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/arch/ia64/include/atomic.h
/SPARTAN/trunk/arch/mips/include/atomic.h
/SPARTAN/trunk/doc/AUTHORS
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/src/Makefile.config
111 6992 d 23 h palkovsky /SPARTAN/trunk/ Code cleanup in scheduler.c thread.c - removed unnecessary spinlock.
atomic_inc, atomic_dec moved to arch/atomic.h instead of arch/smp/atomic.h,
advisable to use even in non-smp mode.
Fixed atomic_inc, atomic_dec in mips architecture.
 
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia32/src/atomic.S
/SPARTAN/trunk/arch/mips/include/atomic.h
/SPARTAN/trunk/arch/ia32/include/smp/atomic.h
/SPARTAN/trunk/arch/ia32/src/smp/atomic.S
/SPARTAN/trunk/arch/mips/include/smp/atomic.h
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/mips/_link.ld
/SPARTAN/trunk/include/proc/scheduler.h
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/mm/tlb.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/src/synch/spinlock.c
/SPARTAN/trunk/src/time/clock.c
/SPARTAN/trunk/test/fpu/fpu1/test.c
/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

Show All