Subversion Repositories HelenOS

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
160 6909 d 3 h jermar /SPARTAN/trunk/ PPC work.
Define dummy implementations of many functions in fake.s.
Define kernel_image_start in start.S.
 
/SPARTAN/trunk/arch/ppc/src/fake.s
/SPARTAN/trunk/arch/ppc/src/start.S
/SPARTAN/trunk/arch/ppc/Makefile.inc
/SPARTAN/trunk/arch/ppc/_link.ld
/SPARTAN/trunk/src/Makefile.config
158 6909 d 12 h decky /SPARTAN/trunk/src/mm/ remove forgotten comment  
/SPARTAN/trunk/src/mm/page.c
157 6909 d 12 h decky /SPARTAN/trunk/ remove cyclic including, change linker script path  
/SPARTAN/trunk/arch/ppc/Makefile.inc
/SPARTAN/trunk/arch/ppc/include/mm/page.h
/SPARTAN/trunk/src/mm/page.c
156 6909 d 15 h decky /SPARTAN/trunk/ PPC work in progress  
/SPARTAN/trunk/arch/ppc
/SPARTAN/trunk/arch/ppc/include
/SPARTAN/trunk/arch/ppc/include/arg.h
/SPARTAN/trunk/arch/ppc/include/asm.h
/SPARTAN/trunk/arch/ppc/include/atomic.h
/SPARTAN/trunk/arch/ppc/include/barrier.h
/SPARTAN/trunk/arch/ppc/include/context.h
/SPARTAN/trunk/arch/ppc/include/cpu.h
/SPARTAN/trunk/arch/ppc/include/faddr.h
/SPARTAN/trunk/arch/ppc/include/fpu_context.h
/SPARTAN/trunk/arch/ppc/include/interrupt.h
/SPARTAN/trunk/arch/ppc/include/mm
/SPARTAN/trunk/arch/ppc/include/mm/frame.h
/SPARTAN/trunk/arch/ppc/include/mm/memory_init.h
/SPARTAN/trunk/arch/ppc/include/mm/page.h
/SPARTAN/trunk/arch/ppc/include/mm/vm.h
/SPARTAN/trunk/arch/ppc/include/thread.h
/SPARTAN/trunk/arch/ppc/include/types.h
/SPARTAN/trunk/contrib/toolchain.ppc.sh
/SPARTAN/trunk/src/build.ppc
/SPARTAN/trunk/src/clean.ppc
/SPARTAN/trunk/arch/powerpc
/SPARTAN/trunk/contrib/toolchain.powerpc.sh
/SPARTAN/trunk/arch/ppc/Makefile.inc
153 6913 d 3 h jermar /SPARTAN/trunk/ Add memory barriers into spinlock_*().
Implement CS_{ENTER|LEAVE}_BARRIER() for IA-32 (no-op).
Provide incomplete CS_{ENTER|LEAVE}_BARRIER() macros for IA-64 and MIPS as well.

Small changes here and there.
 
/SPARTAN/trunk/arch/ia32/include/barrier.h
/SPARTAN/trunk/arch/ia64/include/barrier.h
/SPARTAN/trunk/arch/mips/include/barrier.h
/SPARTAN/trunk/src/synch/rwlock.c
/SPARTAN/trunk/src/synch/spinlock.c
149 6925 d 7 h jermar /SPARTAN/trunk/ Fix IA-32's get_memory_size() to return size of memory in bytes instead of in kilobytes.
Some cosmetics in memory map detection.
The IA-32 kernel is functional again.
 
/SPARTAN/trunk/arch/ia32/src/boot/memmap.S
/SPARTAN/trunk/arch/ia32/src/mm/memory_init.c
/SPARTAN/trunk/src/main/main.c
146 6930 d 12 h cejka /SPARTAN/trunk/ Memory size detection for ia32 completed.  
/SPARTAN/trunk/arch/ia32/include/mm/memory_init.h
/SPARTAN/trunk/arch/ia32/src/mm/memory_init.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/src/mm/frame.c
/SPARTAN/trunk/src/main/main.c
136 6931 d 12 h vana /SPARTAN/trunk/ Error word support debuging and testing passed with #NM & #GP exceptions.  
/SPARTAN/trunk/arch/ia32/src/asm.S
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/src/Makefile.config
135 6931 d 13 h jermar /SPARTAN/trunk/ Fix setters of page table attributes for both IA-32 and MIPS.  
/SPARTAN/trunk/arch/ia32/include/mm/page.h
/SPARTAN/trunk/arch/mips/include/mm/page.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/main/kinit.c
125 6936 d 5 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
121 6937 d 4 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 6951 d 3 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 6952 d 6 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
118 6965 d 8 h jermar /SPARTAN/trunk/ Replace confusing comment in scheduler.c.

Add warning/explanatory comment to arch.h saying that CPU, THREAD and TASK macros are preemption-unsafe.
 
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/src/proc/scheduler.c
117 6967 d 10 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 6971 d 10 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 6972 d 3 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
114 6972 d 13 h jermar /SPARTAN/trunk/src/proc/ Fix wrong locking order in scheduler.  
/SPARTAN/trunk/src/proc/scheduler.c
113 6975 d 2 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 6975 d 6 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

Show All