Subversion Repositories HelenOS-historic

Rev

Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
477 6842 d 13 h vana /SPARTAN/trunk/ Atomic inc & dec functions synchronized on all ia32,ia64 and mips platforms. Now there are 3 versions which returns no value, new value and old value och changed variable.  
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia64/include/atomic.h
/SPARTAN/trunk/arch/ia64/src/ivt.S
/SPARTAN/trunk/arch/mips32/include/atomic.h
475 6843 d 13 h jermar /SPARTAN/trunk/ Define atomic_t type.  
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia64/include/atomic.h
/SPARTAN/trunk/arch/mips32/include/atomic.h
/SPARTAN/trunk/arch/ppc32/include/atomic.h
/SPARTAN/trunk/arch/sparc64/include/atomic.h
/SPARTAN/trunk/generic/include/proc/scheduler.h
/SPARTAN/trunk/generic/src/proc/scheduler.c
/SPARTAN/trunk/generic/src/proc/thread.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
472 6844 d 12 h jermar /SPARTAN/trunk/ Changes in build system.
For .S targets, always do -D__ASM__.
Remove unnecessary #define __ASM__ from various *.S files.
At the end of build, generate disassembler dump for kernel.raw.

ia64 work.
Better General Exception handler.
 
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/src/asm_utils.S
/SPARTAN/trunk/arch/amd64/src/boot/boot.S
/SPARTAN/trunk/arch/amd64/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia64/include/asm.h
/SPARTAN/trunk/arch/ia64/include/interrupt.h
/SPARTAN/trunk/arch/ia64/include/register.h
/SPARTAN/trunk/arch/ia64/src/interrupt.c
/SPARTAN/trunk/arch/ia64/src/ivt.S
/SPARTAN/trunk/arch/mips32/src/context.S
/SPARTAN/trunk/arch/mips32/src/start.S
/SPARTAN/trunk/arch/sparc64/src/context.S
461 6845 d 14 h decky /SPARTAN/trunk/ link kernel in ARCH's native format first, then use objcopy to create output format  
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/_link.ld.in
/SPARTAN/trunk/arch/ia32/_link.ld.in
/SPARTAN/trunk/arch/ia64/_link.ld.in
/SPARTAN/trunk/arch/mips32/_link.ld.in
/SPARTAN/trunk/arch/ppc32/_link.ld.in
/SPARTAN/trunk/arch/sparc64/_link.ld.in
458 6845 d 14 h decky /SPARTAN/trunk/ make configuration variables usage consistent  
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/src/amd64.c
/SPARTAN/trunk/arch/amd64/src/interrupt.c
/SPARTAN/trunk/arch/amd64/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia32/src/atomic.S
/SPARTAN/trunk/arch/ia32/src/ia32.c
/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/arch/ia32/src/smp/ipi.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/src/exception.c
/SPARTAN/trunk/genarch/src/acpi/matd.c
/SPARTAN/trunk/generic/include/cpu.h
/SPARTAN/trunk/generic/include/mm/tlb.h
/SPARTAN/trunk/generic/include/smp/ipi.h
/SPARTAN/trunk/generic/include/smp/smp.h
/SPARTAN/trunk/generic/include/synch/spinlock.h
/SPARTAN/trunk/generic/src/cpu/cpu.c
/SPARTAN/trunk/generic/src/main/kinit.c
/SPARTAN/trunk/generic/src/main/main.c
/SPARTAN/trunk/generic/src/mm/tlb.c
/SPARTAN/trunk/generic/src/proc/scheduler.c
/SPARTAN/trunk/generic/src/smp/ipi.c
/SPARTAN/trunk/generic/src/synch/spinlock.c
457 6845 d 15 h decky /SPARTAN/trunk/ new build system almost finished  
/SPARTAN/trunk/arch/amd64/include/atomic.h
/SPARTAN/trunk/arch/amd64/include/barrier.h
/SPARTAN/trunk/arch/amd64/include/bios
/SPARTAN/trunk/arch/amd64/include/boot/memmap.h
/SPARTAN/trunk/arch/amd64/include/boot/memmapasm.h
/SPARTAN/trunk/arch/amd64/include/context_offset.h
/SPARTAN/trunk/arch/amd64/include/ega.h
/SPARTAN/trunk/arch/amd64/include/fpu_context.h
/SPARTAN/trunk/arch/amd64/include/i8042.h
/SPARTAN/trunk/arch/amd64/include/i8254.h
/SPARTAN/trunk/arch/amd64/include/i8259.h
/SPARTAN/trunk/arch/amd64/include/interrupt.h
/SPARTAN/trunk/arch/amd64/include/mm/memory_init.h
/SPARTAN/trunk/arch/amd64/include/smp
/SPARTAN/trunk/arch/amd64/src/bios
/SPARTAN/trunk/arch/amd64/src/boot/memmap.S
/SPARTAN/trunk/arch/amd64/src/drivers
/SPARTAN/trunk/arch/amd64/src/fmath.c
/SPARTAN/trunk/arch/amd64/src/mm/frame.c
/SPARTAN/trunk/arch/amd64/src/mm/memory_init.c
/SPARTAN/trunk/arch/amd64/src/mm/tlb.c
/SPARTAN/trunk/arch/amd64/src/smp/apic.c
/SPARTAN/trunk/arch/amd64/src/smp/ipi.c
/SPARTAN/trunk/arch/amd64/src/smp/mps.c
/SPARTAN/trunk/arch/amd64/src/smp/smp.c
/SPARTAN/trunk/arch/mips32/include/context_offset.h
/SPARTAN/trunk/build.amd64
/SPARTAN/trunk/build.mips32
/SPARTAN/trunk/clean.amd64
/SPARTAN/trunk/clean.mips32
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/_link.ld.in
/SPARTAN/trunk/arch/amd64/boot/Makefile
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/_link.ld.in
/SPARTAN/trunk/arch/ia32/include/barrier.h
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/_link.ld.in
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/_link.ld.in
/SPARTAN/trunk/arch/mips32/boot/Makefile
/SPARTAN/trunk/arch/mips32/boot/boot.S
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/ppc32/_link.ld.in
/SPARTAN/trunk/arch/sparc64/Makefile.inc
/SPARTAN/trunk/arch/sparc64/_link.ld.in
/SPARTAN/trunk/build.ia32
455 6846 d 3 h decky /SPARTAN/trunk/ new build system upgrade
finished work for IA-32, IA-64, PPC-32, SPARC-64
 
/SPARTAN/trunk/arch/ia64/_link.ld.in
/SPARTAN/trunk/arch/ppc32/_link.ld.in
/SPARTAN/trunk/arch/sparc64/_link.ld.in
/SPARTAN/trunk/build.ia64
/SPARTAN/trunk/build.ppc32
/SPARTAN/trunk/build.sparc64
/SPARTAN/trunk/clean.ia32
/SPARTAN/trunk/clean.ia64
/SPARTAN/trunk/clean.ppc32
/SPARTAN/trunk/clean.sparc64
/SPARTAN/trunk/arch/ia64/_link.ld
/SPARTAN/trunk/arch/ppc32/_link.ld
/SPARTAN/trunk/arch/sparc64/_link.ld
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/boot/Makefile
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/boot/Makefile
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/boot/Makefile
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/ppc32/boot/Makefile
/SPARTAN/trunk/arch/sparc64/Makefile.inc
/SPARTAN/trunk/arch/sparc64/boot/Makefile
/SPARTAN/trunk/build.ia32
/SPARTAN/trunk/clean
431 6850 d 15 h jermar /SPARTAN/trunk/arch/ IA-64 work.
Exclude external interrupt from universal_handler() scope.
 
/SPARTAN/trunk/arch/ia64/src/interrupt.c
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/include/asm.h
/SPARTAN/trunk/arch/ia64/include/barrier.h
/SPARTAN/trunk/arch/ia64/include/interrupt.h
/SPARTAN/trunk/arch/ia64/src/ivt.S
/SPARTAN/trunk/arch/mips32/Makefile.inc
430 6852 d 4 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
/SPARTAN/trunk/generic
/SPARTAN/trunk/generic/include
/SPARTAN/trunk/generic/src
/SPARTAN/trunk/include
/SPARTAN/trunk/src
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/boot/Makefile
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/sparc64/Makefile.inc
/SPARTAN/trunk/genarch/Makefile.inc
/SPARTAN/trunk/generic/src/main/kinit.c
429 6852 d 10 h jermar /SPARTAN/trunk/arch/mips32/ For now, compile with -mhard-float.
Libraries required by -msoft-float are not part of gcc.
Moreover, ld doesn't warn about undefined symbols.
 
/SPARTAN/trunk/arch/mips32/Makefile.inc
426 6854 d 13 h jermar /SPARTAN/trunk/ sparc64 work.
Add context_save(), context_set() and context_restore().
Remove putchar() definition from ofw.c.
Add sparc64 putchar().
Add ppc32 putchar() (i.e. the original ofw.c putchar()).
Make arg.h use the builtin va_* constructs.
 
/SPARTAN/trunk/arch/ppc32/src/console.c
/SPARTAN/trunk/arch/sparc64/src/asm.S
/SPARTAN/trunk/arch/sparc64/src/console.c
/SPARTAN/trunk/arch/sparc64/src/context.S
/SPARTAN/trunk/arch/sparc64/src/mm
/SPARTAN/trunk/arch/sparc64/src/mm/frame.c
/SPARTAN/trunk/arch/sparc64/src/mm/page.c
/SPARTAN/trunk/tools/sparc64
/SPARTAN/trunk/tools/sparc64/gencontext.c
/SPARTAN/trunk/arch/mips32/include/arg.h
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/sparc64/Makefile.inc
/SPARTAN/trunk/arch/sparc64/_link.ld
/SPARTAN/trunk/arch/sparc64/include/arg.h
/SPARTAN/trunk/arch/sparc64/include/asm.h
/SPARTAN/trunk/arch/sparc64/include/context.h
/SPARTAN/trunk/arch/sparc64/include/types.h
/SPARTAN/trunk/arch/sparc64/src/dummy.s
/SPARTAN/trunk/arch/sparc64/src/start.S
/SPARTAN/trunk/build.sparc64
/SPARTAN/trunk/clean.sparc64
/SPARTAN/trunk/genarch/include/firmware/ofw/ofw.h
/SPARTAN/trunk/genarch/src/firmware/ofw/ofw.c
425 6855 d 11 h cejka /SPARTAN/trunk/arch/mips32/include/ Fixed problem with va_arg macro for mips32. This solves problem with printing 64bit values on it.  
/SPARTAN/trunk/arch/mips32/include/arg.h
418 6862 d 6 h jermar /SPARTAN/trunk/ sparc64 infrastructure.  
/SPARTAN/trunk/arch/sparc64/Makefile.inc
/SPARTAN/trunk/arch/sparc64/_link.ld
/SPARTAN/trunk/arch/sparc64/boot
/SPARTAN/trunk/arch/sparc64/boot/Makefile
/SPARTAN/trunk/arch/sparc64/include
/SPARTAN/trunk/arch/sparc64/include/arch.h
/SPARTAN/trunk/arch/sparc64/include/arg.h
/SPARTAN/trunk/arch/sparc64/include/asm.h
/SPARTAN/trunk/arch/sparc64/include/atomic.h
/SPARTAN/trunk/arch/sparc64/include/barrier.h
/SPARTAN/trunk/arch/sparc64/include/byteorder.h
/SPARTAN/trunk/arch/sparc64/include/context.h
/SPARTAN/trunk/arch/sparc64/include/cpu.h
/SPARTAN/trunk/arch/sparc64/include/faddr.h
/SPARTAN/trunk/arch/sparc64/include/fmath.h
/SPARTAN/trunk/arch/sparc64/include/fpu_context.h
/SPARTAN/trunk/arch/sparc64/include/interrupt.h
/SPARTAN/trunk/arch/sparc64/include/memstr.h
/SPARTAN/trunk/arch/sparc64/include/mm
/SPARTAN/trunk/arch/sparc64/include/mm/asid.h
/SPARTAN/trunk/arch/sparc64/include/mm/frame.h
/SPARTAN/trunk/arch/sparc64/include/mm/memory_init.h
/SPARTAN/trunk/arch/sparc64/include/mm/page.h
/SPARTAN/trunk/arch/sparc64/include/mm/tlb.h
/SPARTAN/trunk/arch/sparc64/include/mm/vm.h
/SPARTAN/trunk/arch/sparc64/include/thread.h
/SPARTAN/trunk/arch/sparc64/include/types.h
/SPARTAN/trunk/arch/sparc64/src
/SPARTAN/trunk/arch/sparc64/src/dummy.s
/SPARTAN/trunk/arch/sparc64/src/start.S
/SPARTAN/trunk/build.sparc64
/SPARTAN/trunk/clean.sparc64
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/arch/mips32/_link.ld.in
/SPARTAN/trunk/arch/ppc32/_link.ld
414 6866 d 17 h jermar /SPARTAN/trunk/ Create generic context_save() and context_restore().
These two functions are defined inline and only call context_save_arch() and context_restore_arch(), respectively.
The main purpose of this is to enable centralized commenting of these important and tricky functions.
 
/SPARTAN/trunk/arch/amd64/include/context.h
/SPARTAN/trunk/arch/amd64/src/context.S
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/src/context.s
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/mips32/include/context.h
/SPARTAN/trunk/arch/mips32/src/context.S
/SPARTAN/trunk/arch/ppc32/include/context.h
/SPARTAN/trunk/arch/ppc32/src/context.S
/SPARTAN/trunk/include/context.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/src/synch/waitq.c
/SPARTAN/trunk/tools/amd64/gencontext.c
/SPARTAN/trunk/tools/mips32/gencontext.c
413 6867 d 3 h jermar /SPARTAN/trunk/ Rename cpu_priority_{high|low|restore|read} functions to interrupts_{disable|enable|restore|read}.
Rename pri_t to ipl_t (Interrupt Priority Level).
Rename thread_t::pri to thread_t::priority.
 
/SPARTAN/trunk/arch/amd64/include/asm.h
/SPARTAN/trunk/arch/amd64/include/context.h
/SPARTAN/trunk/arch/amd64/include/types.h
/SPARTAN/trunk/arch/amd64/src/interrupt.c
/SPARTAN/trunk/arch/amd64/src/userspace.c
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/include/types.h
/SPARTAN/trunk/arch/ia32/src/drivers/ega.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/userspace.c
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/include/types.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/ia64/src/dummy.s
/SPARTAN/trunk/arch/mips32/include/context.h
/SPARTAN/trunk/arch/mips32/include/types.h
/SPARTAN/trunk/arch/mips32/src/drivers/arc.c
/SPARTAN/trunk/arch/mips32/src/exception.c
/SPARTAN/trunk/arch/mips32/src/interrupt.c
/SPARTAN/trunk/arch/mips32/src/mips32.c
/SPARTAN/trunk/arch/mips32/src/mm/asid.c
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
/SPARTAN/trunk/arch/mips32/src/mm/vm.c
/SPARTAN/trunk/arch/ppc32/include/asm.h
/SPARTAN/trunk/arch/ppc32/include/context.h
/SPARTAN/trunk/arch/ppc32/include/types.h
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/src/debug/print.c
/SPARTAN/trunk/src/lib/func.c
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/main/main.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/task.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/src/synch/rwlock.c
/SPARTAN/trunk/src/synch/semaphore.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/rwlock4/test.c
/SPARTAN/trunk/tools/amd64/gencontext.c
/SPARTAN/trunk/tools/mips32/gencontext.c
403 6874 d 6 h jermar /SPARTAN/trunk/arch/ Small improvement in pte_t type definition.  
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/mips32/include/mm/page.h
/SPARTAN/trunk/arch/mips32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/include/types.h
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
399 6877 d 3 h jermar /SPARTAN/trunk/ mips32 memory management work.
TLB exceptions seem to be working on at least simics.
msim handles TLB Refill and TLB Invalid exceptions well,
but seems to skip writes to the mapped addressies in mm
mapping test #1 (the data is not written and exception
is not triggered).
 
/SPARTAN/trunk/arch/mips32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
/SPARTAN/trunk/test/mm/mapping1/test.c
397 6877 d 17 h jermar /SPARTAN/trunk/ Small changes to mips32 mm.
Small changes in mm mapping test #1.
 
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
/SPARTAN/trunk/arch/mips32/src/mm/vm.c
/SPARTAN/trunk/test/mm/mapping1/test.c
396 6878 d 14 h jermar /SPARTAN/trunk/ Add mm/mapping1 test.
(Will not make it past TLB Invalid exception on mips32.)
Fixes in asid.c.
Make TLB register types union with __u32 value.
Implement tlb_invalidate() for mips32.
(TLB invalidation and shootdown path will have to be revised.)
 
/SPARTAN/trunk/test/mm
/SPARTAN/trunk/test/mm/mapping1
/SPARTAN/trunk/test/mm/mapping1/test.c
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/arch/ia32/src/mm/tlb.c
/SPARTAN/trunk/arch/mips32/include/mm/asid.h
/SPARTAN/trunk/arch/mips32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/src/mm/asid.c
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
/SPARTAN/trunk/arch/mips32/src/mm/vm.c
/SPARTAN/trunk/include/mm/tlb.h
395 6879 d 5 h jermar /SPARTAN/trunk/arch/mips32/src/mm/ Small fix.
MIPS32 pte_t.c is not bool.
 
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c

Show All