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
912 6659 d 3 h jermar /kernel/trunk/ ia64 work.

ivt.S:
Detect userspace stack in heavyweight handler and switch to kernel stack.
Remember the old stack pointer.
As for register stack, kernel stack is assumed still.
Fix alignment issues that showed when STACK_ITEMS was odd.
Fix ld8 instruction that did subtraction of 8 instead of addition of 8.

scheduler.c:
Change before_thread_runs_arch() to calculate address of top of the stack
for the interrupt handler.
 
/kernel/trunk/arch/ia64/include/interrupt.h
/kernel/trunk/arch/ia64/include/register.h
/kernel/trunk/arch/ia64/src/ivt.S
/kernel/trunk/arch/ia64/src/proc/scheduler.c
/kernel/trunk/doc/arch/ia64
905 6662 d 1 h jermar /kernel/trunk/ Upgrade toolchain build scripts to install binutils 2.16.1 and gcc 4.1.0.
The only exception is ia64, where the kernel does not build with gcc 4.1.0.
 
/kernel/trunk/contrib/toolchain/toolchain.amd64.sh
/kernel/trunk/contrib/toolchain/toolchain.ia32.sh
/kernel/trunk/contrib/toolchain/toolchain.ia64.sh
/kernel/trunk/contrib/toolchain/toolchain.mipseb32.sh
/kernel/trunk/contrib/toolchain/toolchain.mipsel32.sh
/kernel/trunk/contrib/toolchain/toolchain.ppc32.sh
/kernel/trunk/contrib/toolchain/toolchain.ppc64.sh
/kernel/trunk/contrib/toolchain/toolchain.sparc64.sh
/kernel/trunk/doc/arch/amd64
/kernel/trunk/doc/arch/ia32
/kernel/trunk/doc/arch/ia64
/kernel/trunk/doc/arch/mips32
/kernel/trunk/doc/arch/ppc32
832 6682 d 1 h jermar /kernel/trunk/ Change pt_mapping_remove() to deallocate frames for empty PTL1, PTL2 and PTL3.  
/kernel/trunk/arch/amd64/include/mm/page.h
/kernel/trunk/arch/ia32/include/mm/page.h
/kernel/trunk/arch/mips32/include/mm/page.h
/kernel/trunk/doc/TODO
/kernel/trunk/genarch/include/mm/page_pt.h
/kernel/trunk/genarch/src/mm/page_pt.c
822 6684 d 1 h palkovsky /kernel/trunk/ Changed malloc to include second parameter and documented
recommended usage.
Added zone merging, made ia32 & amd64 to merge found zones.
 
/kernel/trunk/arch/amd64/src/pm.c
/kernel/trunk/arch/ia32/src/mm/frame.c
/kernel/trunk/arch/ia32/src/pm.c
/kernel/trunk/arch/ia32/src/smp/smp.c
/kernel/trunk/doc/mm
/kernel/trunk/genarch/src/acpi/matd.c
/kernel/trunk/generic/include/mm/buddy.h
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/src/adt/hash_table.c
/kernel/trunk/generic/src/cpu/cpu.c
/kernel/trunk/generic/src/lib/sort.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/mm/buddy.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/test/mm/falloc2/test.c
812 6685 d 2 h jermar /kernel/trunk/ Documentation and dot.bochsrc upgrade.  
/kernel/trunk/arch/ia32/src/smp/apic.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/contrib/conf/dot.bochsrc
/kernel/trunk/doc/arch/amd64
/kernel/trunk/doc/arch/ia32
761 6690 d 11 h jermar /kernel/trunk/doc/ Remove document describing more relaxed preemption model than the one used in the current kernel.  
/kernel/trunk/doc/preemption
750 6694 d 4 h jermar /kernel/trunk/ ia32 SMP updates.
Update info about supported version of Bochs (bump the counter to 2.2.6).
Add Task Priority Register type and initialize this register to a known state.
 
/kernel/trunk/arch/ia32/include/smp/apic.h
/kernel/trunk/arch/ia32/src/smp/apic.c
/kernel/trunk/doc/arch/amd64
/kernel/trunk/doc/arch/ia32
703 6710 d 11 h jermar /kernel/trunk/ Memory management work.
- vm.* -> as.* (as like address space is, imho, more fitting)
- Don't do TLB shootdown on vm_install(). Some architectures only need to call tlb_invalidate_asid().
- Don't allocate all frames for as_area in as_area_create(), but let them be allocated on-demand by as_page_fault().
- Add high-level page fault handler as_page_fault().
- Add as_area_load_mapping().
 
/kernel/trunk/arch/amd64/include/mm/as.h
/kernel/trunk/arch/ia32/include/mm/as.h
/kernel/trunk/arch/ia64/include/mm/as.h
/kernel/trunk/arch/mips32/include/mm/as.h
/kernel/trunk/arch/mips32/src/mm/as.c
/kernel/trunk/arch/ppc32/include/mm/as.h
/kernel/trunk/arch/sparc64/include/mm/as.h
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/arch/amd64/include/mm/vm.h
/kernel/trunk/arch/ia32/include/mm/vm.h
/kernel/trunk/arch/ia64/include/mm/vm.h
/kernel/trunk/arch/mips32/include/mm/vm.h
/kernel/trunk/arch/mips32/src/mm/vm.c
/kernel/trunk/arch/ppc32/include/mm/vm.h
/kernel/trunk/arch/sparc64/include/mm/vm.h
/kernel/trunk/generic/include/mm/vm.h
/kernel/trunk/generic/src/mm/vm.c
/kernel/trunk/Makefile
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/amd64/src/userspace.c
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia32/src/mm/frame.c
/kernel/trunk/arch/ia32/src/userspace.c
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/doc/mm
/kernel/trunk/generic/include/arch.h
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/include/typedefs.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/page.c
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/the.c
681 6715 d 12 h jermar /kernel/trunk/ Minor changes.  
/kernel/trunk/doc/arch/amd64
/kernel/trunk/doc/arch/ia32
/kernel/trunk/generic/include/cpu.h
558 6747 d 9 h palkovsky /kernel/trunk/ Clean up of build system. Use:
make config
make
make clean
 
/kernel/trunk/doc/build
/kernel/trunk/build
/kernel/trunk/clean
/kernel/trunk/clean.amd64
/kernel/trunk/clean.ia32
/kernel/trunk/clean.ia64
/kernel/trunk/clean.mips32
/kernel/trunk/clean.ppc32
/kernel/trunk/clean.sparc64
/kernel/trunk/configure
/kernel/trunk/tools/build
/kernel/trunk/tools/clean
/kernel/trunk/Makefile
/kernel/trunk/tools/config.py
534 6750 d 4 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
/kernel
/SPARTAN
532 6750 d 4 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
/SPARTAN
/kernel
523 6756 d 8 h jermar /kernel/trunk/ Clean up.  
/kernel/trunk/arch/ia32/src/smp/apic.c
/kernel/trunk/arch/ia64/src/drivers/keyboard.c
/kernel/trunk/arch/ia64/src/ski/ski.c
/kernel/trunk/doc/arch/ia32
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
516 6760 d 5 h jermar /kernel/trunk/ Add VMware Workstation 5.5 to SMP compatibility list.  
/kernel/trunk/arch/ia32/src/smp/apic.c
/kernel/trunk/doc/arch/ia32
501 6762 d 9 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
/kernel
/SPARTAN
436 6779 d 3 h decky /SPARTAN/trunk/doc/arch/ new tested IA-32 SMP machines  
/SPARTAN/trunk/doc/arch/ia32
410 6799 d 5 h jermar /SPARTAN/trunk/ Doxygen-style comments.  
/SPARTAN/trunk/doc/arch/mips32
/SPARTAN/trunk/include/proc/scheduler.h
/SPARTAN/trunk/include/proc/task.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/include/synch/rwlock.h
/SPARTAN/trunk/include/synch/synch.h
/SPARTAN/trunk/include/synch/waitq.h
/SPARTAN/trunk/include/typedefs.h
400 6807 d 14 h jermar /SPARTAN/trunk/ Finalize mapping1 test.
Record omitted excMod bug in msim.
 
/SPARTAN/trunk/doc/BUGS_FOUND
/SPARTAN/trunk/test/mm/mapping1/test.c
398 6808 d 12 h jermar /SPARTAN/trunk/ Add arch directory for sparc64.  
/SPARTAN/trunk/arch/sparc64
/SPARTAN/trunk/doc/arch/sparc64
365 6825 d 3 h jermar /SPARTAN/trunk/ Replace #define's in list.h with type-safe inlines.

Update mips32 documentation.
 
/SPARTAN/trunk/doc/arch/mips32
/SPARTAN/trunk/include/list.h
347 6832 d 4 h jermar /SPARTAN/trunk/ Documentation updates for amd64, mips32 and ia32.

Replace %L with %P printf() formatter in MPS and ACPI detection functions to print addresses in maximal width.

Tweak memmap.S and IA-32 and AMd64 boot.S.
Cancel unneeded instructions.
Replace cmpl $0, %ebx with testl %ebx, %ebx.
Move memmap.S data to K_DATA_START section.
 
/SPARTAN/trunk/arch/amd64/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/boot/memmap.S
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/doc/arch/amd64
/SPARTAN/trunk/doc/arch/ia32
/SPARTAN/trunk/doc/arch/mips32
346 6833 d 2 h jermar /SPARTAN/trunk/doc/ Update documentation of ports.  
/SPARTAN/trunk/doc/arch/amd64
/SPARTAN/trunk/doc/arch/ia32
/SPARTAN/trunk/doc/arch/ppc32
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/doc/arch/ia64
/SPARTAN/trunk/doc/arch/mips32
344 6833 d 3 h palkovsky /SPARTAN/trunk/ Added more code to arc.
Fixed bad name in byteorder.h
 
/SPARTAN/trunk/arch/mips32/include/byteorder.h
/SPARTAN/trunk/arch/mips32/include/drivers/arc.h
/SPARTAN/trunk/arch/mips32/src/drivers/arc.c
/SPARTAN/trunk/arch/mips32/src/mips32.c
/SPARTAN/trunk/doc/requirements
341 6833 d 10 h jermar /SPARTAN/trunk/ Rename mips port to mips32.  
/SPARTAN/trunk/arch/mips32
/SPARTAN/trunk/doc/arch/mips32
/SPARTAN/trunk/src/build.mips32
/SPARTAN/trunk/src/build.ppc32
/SPARTAN/trunk/src/clean.mips32
/SPARTAN/trunk/src/clean.ppc32
/SPARTAN/trunk/tools/mips32
/SPARTAN/trunk/arch/mips
/SPARTAN/trunk/doc/arch/mips
/SPARTAN/trunk/src/build.mips
/SPARTAN/trunk/src/build.ppc
/SPARTAN/trunk/src/clean.mips
/SPARTAN/trunk/src/clean.ppc
/SPARTAN/trunk/tools/mips
/SPARTAN/trunk/arch/mips32/boot/_link.ld
/SPARTAN/trunk/arch/mips32/include/arch.h
/SPARTAN/trunk/arch/mips32/include/arg.h
/SPARTAN/trunk/arch/mips32/include/asm.h
/SPARTAN/trunk/arch/mips32/include/asm/boot.h
/SPARTAN/trunk/arch/mips32/include/asm/regname.h
/SPARTAN/trunk/arch/mips32/include/atomic.h
/SPARTAN/trunk/arch/mips32/include/barrier.h
/SPARTAN/trunk/arch/mips32/include/byteorder.h
/SPARTAN/trunk/arch/mips32/include/cache.h
/SPARTAN/trunk/arch/mips32/include/console.h
/SPARTAN/trunk/arch/mips32/include/context.h
/SPARTAN/trunk/arch/mips32/include/cp0.h
/SPARTAN/trunk/arch/mips32/include/cpu.h
/SPARTAN/trunk/arch/mips32/include/debug.h
/SPARTAN/trunk/arch/mips32/include/drivers/arc.h
/SPARTAN/trunk/arch/mips32/include/exception.h
/SPARTAN/trunk/arch/mips32/include/faddr.h
/SPARTAN/trunk/arch/mips32/include/fmath.h
/SPARTAN/trunk/arch/mips32/include/fpu_context.h
/SPARTAN/trunk/arch/mips32/include/interrupt.h
/SPARTAN/trunk/arch/mips32/include/mm/asid.h
/SPARTAN/trunk/arch/mips32/include/mm/frame.h
/SPARTAN/trunk/arch/mips32/include/mm/memory_init.h
/SPARTAN/trunk/arch/mips32/include/mm/page.h
/SPARTAN/trunk/arch/mips32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/include/mm/vm.h
/SPARTAN/trunk/arch/mips32/include/thread.h
/SPARTAN/trunk/arch/mips32/include/types.h
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/tools/mips32/gencontext.c
340 6833 d 12 h palkovsky /SPARTAN/trunk/doc/  
/SPARTAN/trunk/doc/BUGS_FOUND
328 6835 d 13 h jermar /SPARTAN/trunk/ IA-32 can be now cross-compiled by ./build.ia32 cross.
Unify IA-32 Makefile.inc and Makefile.inc.cross.

Update doc/requirements.

Small changes elsewere.
 
/SPARTAN/trunk/arch/ia32/Makefile.inc.cross
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/_link.ld.in
/SPARTAN/trunk/arch/ia32/include/boot/boot.h
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/build.ia32
327 6835 d 23 h palkovsky /SPARTAN/trunk/ Doc updates, small fixes.  
/SPARTAN/trunk/arch/mips/src/exception.c
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/src/Makefile.config
323 6836 d 12 h jermar /SPARTAN/trunk/ Add comments for new floating point modifiers to print.c.
Remove left-over comments from AMD64 and IA-32 page.c.
Coding style clean up.
 
/SPARTAN/trunk/arch/amd64/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/asm.S
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/doc/TODO
/SPARTAN/trunk/src/debug/print.c
292 6841 d 1 h jermar /SPARTAN/trunk/ Add byteorder.h to support conversions between different endianesses.
Add native_le2host().

Use native_le2host() in get_symtab_entry().
 
/SPARTAN/trunk/arch/amd64/include/byteorder.h
/SPARTAN/trunk/arch/ia32/include/byteorder.h
/SPARTAN/trunk/arch/ia64/include/byteorder.h
/SPARTAN/trunk/arch/mips/include/byteorder.h
/SPARTAN/trunk/arch/ppc/include/byteorder.h
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/include/symtab.h
/SPARTAN/trunk/src/debug/symtab.c
154 6869 d 0 h jermar /SPARTAN/trunk/ Update TODO.
Explicitly mark places of interest related to memory barriers on non-IA-32 architectures with TODO remarks so that they don't get forgotten.
 
/SPARTAN/trunk/arch/ia64/include/barrier.h
/SPARTAN/trunk/arch/mips/include/barrier.h
/SPARTAN/trunk/doc/TODO
150 6881 d 4 h jermar /SPARTAN/trunk/doc/ Documentation changes.
Most importantly, update information about supported binutils and gcc versions.
 
/SPARTAN/trunk/doc/TODO
/SPARTAN/trunk/doc/requirements
144 6886 d 10 h vana /SPARTAN/trunk/ Coding style fix  
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/userspace.c
/SPARTAN/trunk/doc/TODO
143 6886 d 10 h vana /SPARTAN/trunk/ Disable alignment check  
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/doc/TODO
141 6886 d 11 h vana /SPARTAN/trunk/ Clear IOPL on start of system on all CPUs and clear NT before all irets.  
/SPARTAN/trunk/arch/ia32/src/asm.S
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/userspace.c
/SPARTAN/trunk/doc/TODO
121 6893 d 2 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
119 6908 d 3 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
117 6923 d 8 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
115 6928 d 0 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
112 6931 d 3 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
110 6932 d 9 h jermar /SPARTAN/trunk/ SMP recovery patch #1. (SMP still broken)
Move ap_boot() to K_TEXT_START_2 section.
Change ap_boot() to cope with mapping of kernel address space.
Change some addresses in mps.c from kernel to physical.

MIPS.
Move msim dprinter device to 0xB0000000.
This address is from kseg1 (unmapped, uncached) segment.
 
/SPARTAN/trunk/arch/ia32/_link.ld
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/boot/memmap.S
/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/apic.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/mips/src/putchar.c
/SPARTAN/trunk/doc/arch/mips
/SPARTAN/trunk/src/Makefile.config