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
179 6866 d 6 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
178 6866 d 10 h palkovsky /SPARTAN/trunk/arch/amd64/ Fixed linker script to include .eh_frame section.
It now boots into protected mode.
 
/SPARTAN/trunk/arch/amd64/include/boot
/SPARTAN/trunk/arch/amd64/include/boot/memmap.h
/SPARTAN/trunk/arch/amd64/include/boot/memmapasm.h
/SPARTAN/trunk/arch/amd64/src/boot/memmap.S
/SPARTAN/trunk/arch/amd64/src/pm.c
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/_link.ld
/SPARTAN/trunk/arch/amd64/include/pm.h
/SPARTAN/trunk/arch/amd64/src/boot/boot.S
177 6866 d 12 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
176 6867 d 3 h jermar /SPARTAN/trunk/arch/ia32/src/boot/ Initialize the stack prior to using it.  
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
175 6867 d 11 h decky /SPARTAN/trunk/contrib/ Basic PearPC configuration  
/SPARTAN/trunk/contrib/pearpc.conf
174 6870 d 3 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
173 6870 d 3 h jermar /SPARTAN/trunk/ Preparations for weaker preemption model.
Make all kernel stacks (i.e. startup, scheduler and thread) be STACK_SIZE bytes long.
Reincarnate "the" structure. This time, it is planned to be located at the base of each and every kernel stack.
On IA-32 and MIPS, implement get_stack_base() functions. On the rest of supported platforms, define it to be dummy.
 
/SPARTAN/trunk/arch/amd64/include/asm.h
/SPARTAN/trunk/arch/ia32/include/asm.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/ppc/include/asm.h
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/include/config.h
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/include/typedefs.h
172 6871 d 12 h palkovsky /SPARTAN/trunk/arch/amd64/ Do not allow red area on stack in kernel mode.
Small updates for AMD64 memory layout.
 
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/include/mm/page.h
/SPARTAN/trunk/arch/amd64/include/mm/vm.h
171 6871 d 12 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 6874 d 2 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
169 6875 d 2 h jermar /SPARTAN/trunk/arch/ For each architecture, add an extra type cast of x to __address to both KA2PA() and PA2KA().  
/SPARTAN/trunk/arch/amd64/include/mm/page.h
/SPARTAN/trunk/arch/ia32/include/mm/page.h
/SPARTAN/trunk/arch/ia64/include/mm/page.h
/SPARTAN/trunk/arch/mips/include/mm/page.h
/SPARTAN/trunk/arch/ppc/include/mm/page.h
168 6875 d 2 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 6876 d 11 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
166 6878 d 5 h decky /SPARTAN/trunk/arch/ppc/ prepare for PPC console support  
/SPARTAN/trunk/arch/ppc/include/vga.h
/SPARTAN/trunk/arch/ppc/src/drivers
/SPARTAN/trunk/arch/ppc/src/drivers/vga.c
/SPARTAN/trunk/arch/ppc/src/putchar.c
/SPARTAN/trunk/arch/ppc/Makefile.inc
165 6878 d 5 h palkovsky /SPARTAN/trunk/arch/amd64/boot/ Copied from ia32, bootloader can be the same.  
/SPARTAN/trunk/arch/amd64/boot/Makefile
164 6878 d 5 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
163 6878 d 10 h decky /SPARTAN/trunk/arch/ppc/ first booting ELF  
/SPARTAN/trunk/arch/ppc/src/ppc.c
/SPARTAN/trunk/arch/ppc/src/powerpc.c
/SPARTAN/trunk/arch/ppc/Makefile.inc
/SPARTAN/trunk/arch/ppc/_link.ld
/SPARTAN/trunk/arch/ppc/boot/boot.s
/SPARTAN/trunk/arch/ppc/src/mm/page.c
/SPARTAN/trunk/arch/ppc/src/start.S
162 6878 d 12 h decky /SPARTAN/trunk/arch/ppc/ PPC linker script  
/SPARTAN/trunk/arch/ppc/src/asm.s
/SPARTAN/trunk/arch/ppc/src/cpu
/SPARTAN/trunk/arch/ppc/src/mm
/SPARTAN/trunk/arch/ppc/src/mm/frame.c
/SPARTAN/trunk/arch/ppc/src/mm/page.c
/SPARTAN/trunk/arch/ppc/src/putchar.c
/SPARTAN/trunk/arch/ppc/Makefile.inc
/SPARTAN/trunk/arch/ppc/_link.ld
/SPARTAN/trunk/arch/ppc/boot/Makefile
/SPARTAN/trunk/arch/ppc/boot/boot.s
/SPARTAN/trunk/arch/ppc/src/dummy.s
161 6880 d 13 h jermar /SPARTAN/trunk/arch/ For all relevant architectures, rename fake.s to dummy.s to better reflect the purpose of the file.
Also define global symbol called dummy.
 
/SPARTAN/trunk/arch/ia64/src/dummy.s
/SPARTAN/trunk/arch/mips/src/dummy.s
/SPARTAN/trunk/arch/ppc/src/dummy.s
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/mips/src/fake.s
/SPARTAN/trunk/arch/ppc/src/fake.s
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/ppc/Makefile.inc
160 6884 d 1 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

Show All