Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
1968 6533 d 18 h jermar /tags/ Canonize pre-0.2.0.3 tags: remove inner branches, tags and trunk directories.
The change now should reflect how those releases looked like after checkout.
 
/tags/0.1.0/SPARTAN/Makefile
/tags/0.1.0/SPARTAN/Makefile.config
/tags/0.1.0/SPARTAN/arch
/tags/0.1.0/SPARTAN/build.ia32
/tags/0.1.0/SPARTAN/clean
/tags/0.1.0/SPARTAN/contrib
/tags/0.1.0/SPARTAN/doc
/tags/0.1.0/SPARTAN/genarch
/tags/0.1.0/SPARTAN/generic
/tags/0.1.0/SPARTAN/test
/tags/0.1.0/SPARTAN/tools
/tags/0.1.0/SPARTAN/uspace
/tags/0.1.0/uspace/Makefile
/tags/0.1.0/uspace/_link.ld
/tags/0.1.0/uspace/init.c
/tags/0.1.0/uspace/libc
/tags/0.1.1/boot/Makefile
/tags/0.1.1/boot/arch
/tags/0.1.1/boot/boot.config
/tags/0.1.1/boot/tools
/tags/0.1.1/kernel/Makefile
/tags/0.1.1/kernel/arch
/tags/0.1.1/kernel/contrib
/tags/0.1.1/kernel/doc
/tags/0.1.1/kernel/genarch
/tags/0.1.1/kernel/generic
/tags/0.1.1/kernel/kernel.config
/tags/0.1.1/kernel/test
/tags/0.1.1/kernel/tools
/tags/0.1.1/uspace/Makefile
/tags/0.1.1/uspace/init
/tags/0.1.1/uspace/kbd
/tags/0.1.1/uspace/libadt
/tags/0.1.1/uspace/libc
/tags/0.1.1/uspace/ns
/tags/0.1.1/uspace/pci
/tags/0.1.1/uspace/softfloat
/tags/0.1.1/uspace/softint
/tags/0.1.1/uspace/tools
/tags/0.1.1/uspace/uspace.config
/tags/0.2.0.1/boot/Makefile
/tags/0.2.0.1/boot/arch
/tags/0.2.0.1/boot/boot.config
/tags/0.2.0.1/boot/tools
/tags/0.2.0.1/kernel/Makefile
/tags/0.2.0.1/kernel/arch
/tags/0.2.0.1/kernel/contrib
/tags/0.2.0.1/kernel/doc
/tags/0.2.0.1/kernel/genarch
/tags/0.2.0.1/kernel/generic
/tags/0.2.0.1/kernel/kernel.config
/tags/0.2.0.1/kernel/test
/tags/0.2.0.1/kernel/tools
/tags/0.2.0.1/uspace/Makefile
/tags/0.2.0.1/uspace/console
/tags/0.2.0.1/uspace/fb
/tags/0.2.0.1/uspace/init
/tags/0.2.0.1/uspace/ipcc
/tags/0.2.0.1/uspace/kbd
/tags/0.2.0.1/uspace/klog
/tags/0.2.0.1/uspace/libc
/tags/0.2.0.1/uspace/ns
/tags/0.2.0.1/uspace/pci
/tags/0.2.0.1/uspace/softfloat
/tags/0.2.0.1/uspace/softint
/tags/0.2.0.1/uspace/tetris
/tags/0.2.0.1/uspace/tools
/tags/0.2.0.1/uspace/uspace.config
/tags/0.2.0.2/boot/Makefile
/tags/0.2.0.2/boot/arch
/tags/0.2.0.2/boot/boot.config
/tags/0.2.0.2/boot/tools
/tags/0.2.0.2/kernel/Makefile
/tags/0.2.0.2/kernel/arch
/tags/0.2.0.2/kernel/contrib
/tags/0.2.0.2/kernel/doc
/tags/0.2.0.2/kernel/genarch
/tags/0.2.0.2/kernel/generic
/tags/0.2.0.2/kernel/kernel.config
/tags/0.2.0.2/kernel/test
/tags/0.2.0.2/kernel/tools
/tags/0.2.0.2/uspace/Makefile
/tags/0.2.0.2/uspace/console
/tags/0.2.0.2/uspace/doc
/tags/0.2.0.2/uspace/fb
/tags/0.2.0.2/uspace/init
/tags/0.2.0.2/uspace/ipcc
/tags/0.2.0.2/uspace/kbd
/tags/0.2.0.2/uspace/klog
/tags/0.2.0.2/uspace/libc
/tags/0.2.0.2/uspace/ns
/tags/0.2.0.2/uspace/pci
/tags/0.2.0.2/uspace/softfloat
/tags/0.2.0.2/uspace/softint
/tags/0.2.0.2/uspace/tetris
/tags/0.2.0.2/uspace/tools
/tags/0.2.0.2/uspace/uspace.config
/tags/0.2.0/boot/Makefile
/tags/0.2.0/boot/arch
/tags/0.2.0/boot/boot.config
/tags/0.2.0/boot/tools
/tags/0.2.0/kernel/Makefile
/tags/0.2.0/kernel/arch
/tags/0.2.0/kernel/contrib
/tags/0.2.0/kernel/doc
/tags/0.2.0/kernel/genarch
/tags/0.2.0/kernel/generic
/tags/0.2.0/kernel/kernel.config
/tags/0.2.0/kernel/test
/tags/0.2.0/kernel/tools
/tags/0.2.0/uspace/Makefile
/tags/0.2.0/uspace/console
/tags/0.2.0/uspace/fb
/tags/0.2.0/uspace/init
/tags/0.2.0/uspace/ipcc
/tags/0.2.0/uspace/kbd
/tags/0.2.0/uspace/klog
/tags/0.2.0/uspace/libc
/tags/0.2.0/uspace/libfb
/tags/0.2.0/uspace/ns
/tags/0.2.0/uspace/pci
/tags/0.2.0/uspace/softfloat
/tags/0.2.0/uspace/softint
/tags/0.2.0/uspace/tetris
/tags/0.2.0/uspace/tools
/tags/0.2.0/uspace/uspace.config
/tags/0.1.0/SPARTAN/trunk
/tags/0.1.0/uspace/trunk
/tags/0.1.1/boot/trunk
/tags/0.1.1/kernel/trunk
/tags/0.1.1/uspace/trunk
/tags/0.2.0.1/boot/trunk
/tags/0.2.0.1/kernel/branches
/tags/0.2.0.1/kernel/tags
/tags/0.2.0.1/kernel/trunk
/tags/0.2.0.1/uspace/trunk
/tags/0.2.0.2/boot/trunk
/tags/0.2.0.2/kernel/branches
/tags/0.2.0.2/kernel/tags
/tags/0.2.0.2/kernel/trunk
/tags/0.2.0.2/uspace/trunk
/tags/0.2.0/boot/trunk
/tags/0.2.0/kernel/branches
/tags/0.2.0/kernel/tags
/tags/0.2.0/kernel/trunk
/tags/0.2.0/uspace/trunk
1962 6533 d 19 h jermar /tags/0.1.0/ Tagging release 0.1.0  
/tags/0.1.0
445 6888 d 1 h jermar /SPARTAN/trunk/arch/ia64/ ia64 work.
Fix SP_DELTA alignment.
Cosmetics.
 
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/include/drivers/it.h
/SPARTAN/trunk/arch/ia64/src/interrupt.c
/SPARTAN/trunk/arch/ia64/src/ivt.S
443 6888 d 3 h jermar /SPARTAN/trunk/arch/ia64/ ia64 work.
Do not break memory stack alignment in heavyweight interrupt handler.
Reserve scratch area for nested procedure calls on memory stack.
 
/SPARTAN/trunk/arch/ia64/include/stack.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/ivt.S
415 6907 d 4 h jermar /SPARTAN/trunk/arch/ia64/include/ Make context_set() reset ar.pfs.pfm (especially ar.pfs.pfm.sol) so that register stack does not underflow.  
/SPARTAN/trunk/arch/ia64/include/context.h
414 6908 d 7 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 6908 d 17 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 6915 d 20 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
402 6916 d 5 h jermar /SPARTAN/trunk/ Add ALIGN() macro.

Fix usage of early_mapping() in main.c.
The previous version would not map part of the heap.
Please, review.
 
/SPARTAN/trunk/include/align.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/src/main/main.c
354 6938 d 2 h jermar /SPARTAN/trunk/ Physical memory management work.
Define structures for frame zones and frames.

Add some comments.
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/include/typedefs.h
322 6947 d 18 h jermar /SPARTAN/trunk/arch/ia64/ Reduce IA-64 context_t according to IA-64 ABI.

Make IA-64 port compile again.
 
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/ia64/src/dummy.s
180 6957 d 20 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
173 6961 d 20 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
97 7054 d 4 h jermar /SPARTAN/trunk/ Add context_set() macro to support extended behaviour for architectures with more than one stack (e.g. IA-64).
Now there is one generic context_set() defined in include/context.h and one IA-64 specific defined in arch/ia64/include/context.h.
 
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/include/context.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
94 7058 d 19 h jermar /SPARTAN/trunk/ IA-64 work.
Add application registers ar.lc, ar.ec, ar.ccv, ar.csd, ar.ssd to context_t.
Add store/load operations for ar.lc, ar.ec, ar.ccv, ar.csd, ar.ssd to context_save()/restore().
Add application registers ar.rcs, ar.bsp and ar.rnat to context_t.
Proper store/load operations for ar.rcs, ar.bsp and ar.rnat is in the works.

FPU cleanup.
Remove call set_TS_flag() from cpu_identify().
Remove unneeded includes from FPU test #1.
 
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/test/fpu/fpu1/test.c
83 7061 d 0 h jermar /SPARTAN/trunk/arch/ia64/ IA-64 work.
Add ar.pfs and ar.unat (caller and callee) application registers to context_t.
Change st8/ld8 instructions on general registers to st8.spill and ld8.fill instructions.
 
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/context.S
82 7061 d 18 h jermar /SPARTAN/trunk/arch/ IA-64 work.
Add the rest of branch registers to context_t.
Add predicate registers to context_t.
Modify context_save()/context_restore() to save/restore branch registers and predicate registers.
Change SP_DELTA to 0 since both context_save() and context_restore() are leaf procedures and as such don't use the scratch area.
Change pri_t to be __u64 instead of __u32.
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/include/types.h
/SPARTAN/trunk/arch/ia64/src/context.S
81 7061 d 20 h jermar /SPARTAN/trunk/ Add SP_DELTA macro for each architecture.
On IA-32, this macro represents two doublewords that must be on the stack when switching to a new stack.
On MIPS, there is no need to fix sp when switching to a new stack.
On IA-64, this macro is used to allocate the 16-byte scratch area.

IA-64 work.
Changes in start.S. More changes to come.
Define memcopy().

Janitorial fixes.
Add missing #include <panic.h> to rwlock4/test.c.
Remove wrong use of inline keyword from both declaration and definition of l_apic_id().
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/include/smp/apic.h
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/asm.S
/SPARTAN/trunk/arch/ia64/src/start.S
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/test/synch/rwlock4/test.c
59 7068 d 16 h jermar /SPARTAN/trunk/ Move architecture independent memcopy() and memsetb() out of MIPS subtree and place them in src/lib/ as _memcopy() and _memsetb().
Add MIPS native memsetb().
Add IA-64 native memcpy().

More complete and *almost* functional versions of IA-64 context_save() and context_restore().
 
/SPARTAN/trunk/arch/ia64/src/asm.S
/SPARTAN/trunk/src/lib/memstr.c
/SPARTAN/trunk/arch/mips/src/lib
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/mips/src/asm.s
/SPARTAN/trunk/include/memstr.h
/SPARTAN/trunk/src/Makefile
56 7070 d 17 h vana /SPARTAN/trunk/ Added fpu_context.h arch dep files and removed struct fpu_context from context.h files  
/SPARTAN/trunk/arch/ia32/include/fpu_context.h
/SPARTAN/trunk/arch/ia64/include/fpu_context.h
/SPARTAN/trunk/arch/mips/include/fpu_context.h
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/include/fpu_context.h
/SPARTAN/trunk/include/proc/thread.h

Show All