Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
181 6878 d 19 h cejka /SPARTAN/trunk/ Bugs in printf and va_arg functions repaired.  
/SPARTAN/trunk/include/print.h
/SPARTAN/trunk/include/stackarg.h
/SPARTAN/trunk/src/debug/print.c
180 6879 d 7 h jermar /SPARTAN/trunk/ Globalize 'size' and 'delta' and rename them to 'kernel_size' and 'heap_delta'.

Fix heap initialization to take 'heap_delta' into account.

Implement IA-64 get_stack_base().

Adjust SP_DELTA's to consider one extra word on stack.
(So that the stack pointer is within appropriate limits even on IA-64).

More #include cleanup.
 
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia64/include/asm.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/mips/include/asm.h
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/src/main/main.c
179 6879 d 10 h decky /SPARTAN/trunk/ frmaebuffer font  
/SPARTAN/trunk/include/fb
/SPARTAN/trunk/include/fb/font-8x16.h
/SPARTAN/trunk/src/fb
/SPARTAN/trunk/src/fb/font-8x16.c
/SPARTAN/trunk/src/Makefile
177 6879 d 16 h jermar /SPARTAN/trunk/ Add some comments to IA-32 src/boot/boot.S and src/smp.S.

Make the boot stack start on page boundary.
This is required by get_stack_base().

Define 'THE' macro.

Implement preemption_disable() and preemption_enable().

Add memory barrier macros.
IA-32 macros need support for older processors.
Non IA-32 macros are dummy.

Reduction of many #include paths.
 
/SPARTAN/trunk/arch/amd64/include/barrier.h
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/barrier.h
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/mm/frame.c
/SPARTAN/trunk/arch/ia32/src/smp/ap.S
/SPARTAN/trunk/arch/ia64/include/barrier.h
/SPARTAN/trunk/arch/mips/include/barrier.h
/SPARTAN/trunk/arch/mips/include/cpu.h
/SPARTAN/trunk/arch/mips/include/mm/page.h
/SPARTAN/trunk/arch/ppc/include/barrier.h
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/include/proc/task.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/preempt/preemption.c
174 6883 d 6 h jermar /SPARTAN/trunk/ Small changes.
Coding style fix in main.c.
Make 'cli' be the first instruction in boot.S again.
 
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/src/main/main.c
171 6884 d 15 h jermar /SPARTAN/trunk/ Make rwlock test #3 compile again.

Make rwlock test #4 preemption-safe.

Prepare for preemption controlling functions.
 
/SPARTAN/trunk/include/preemption.h
/SPARTAN/trunk/src/preempt
/SPARTAN/trunk/src/preempt/preemption.c
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/test/synch/rwlock3/test.c
/SPARTAN/trunk/test/synch/rwlock4/test.c
170 6887 d 5 h jermar /SPARTAN/trunk/ Add comment to scheduler.c explaining the reason behind saving CPU priority of preempted thread.

Remove two unnecessary cpu_priority_high() calls.
 
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/proc/scheduler.c
168 6888 d 6 h jermar /SPARTAN/trunk/ Add type cast to __address in vm_create().
This seems to fix the problem with userspace.
Looks like KA2PA() returned wrong address when applied on pte_t *.

Uncomment panic() in gp_fault().
Get rid of cli and sti in userspace code.
 
/SPARTAN/trunk/arch/ia32/src/asm.S
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/src/mm/vm.c
167 6889 d 14 h jermar /SPARTAN/trunk/ Switch over to per vm_t page tables. (breaks ia32 userspace)

Define dummy memcopy() for amd64 and ppc to satisfy compiler.

Get rid of problematic #include <arch/mm/page.h> in mm/page.h.

Indentation fixes and small changes here and there.
 
/SPARTAN/trunk/arch/amd64/src/dummy.s
/SPARTAN/trunk/arch/ia32/src/drivers/ega.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/ppc/src/dummy.s
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/include/mm/vm.h
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc/scheduler.c
164 6891 d 8 h palkovsky /SPARTAN/trunk/ Basics for amd64 architecture. It does compile, but it does not work yet.  
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/_link.ld
/SPARTAN/trunk/arch/amd64/boot
/SPARTAN/trunk/arch/amd64/boot/boot.S
/SPARTAN/trunk/arch/amd64/boot/boot.ld
/SPARTAN/trunk/arch/amd64/include
/SPARTAN/trunk/arch/amd64/include/arg.h
/SPARTAN/trunk/arch/amd64/include/asm.h
/SPARTAN/trunk/arch/amd64/include/atomic.h
/SPARTAN/trunk/arch/amd64/include/barrier.h
/SPARTAN/trunk/arch/amd64/include/context.h
/SPARTAN/trunk/arch/amd64/include/cpu.h
/SPARTAN/trunk/arch/amd64/include/faddr.h
/SPARTAN/trunk/arch/amd64/include/fpu_context.h
/SPARTAN/trunk/arch/amd64/include/interrupt.h
/SPARTAN/trunk/arch/amd64/include/mm
/SPARTAN/trunk/arch/amd64/include/mm/frame.h
/SPARTAN/trunk/arch/amd64/include/mm/memory_init.h
/SPARTAN/trunk/arch/amd64/include/mm/page.h
/SPARTAN/trunk/arch/amd64/include/mm/vm.h
/SPARTAN/trunk/arch/amd64/include/pm.h
/SPARTAN/trunk/arch/amd64/include/thread.h
/SPARTAN/trunk/arch/amd64/include/types.h
/SPARTAN/trunk/arch/amd64/src
/SPARTAN/trunk/arch/amd64/src/boot
/SPARTAN/trunk/arch/amd64/src/boot/boot.S
/SPARTAN/trunk/arch/amd64/src/dummy.s
/SPARTAN/trunk/arch/amd64/src/fpu_context.c
/SPARTAN/trunk/arch/amd64/src/putchar.c
/SPARTAN/trunk/src/build.amd64
/SPARTAN/trunk/src/clean.amd64
160 6897 d 4 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 6897 d 13 h decky /SPARTAN/trunk/src/mm/ remove forgotten comment  
/SPARTAN/trunk/src/mm/page.c
157 6897 d 13 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 6897 d 16 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 6901 d 4 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 6913 d 8 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 6918 d 13 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 6919 d 13 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 6919 d 14 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 6924 d 6 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

Show All