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
1915 6461 d 22 h jermar /trunk/kernel/ A quote from from SPARC V9 specification:

The Y register is deprecated; it is provided only for compatibility with previous versions
of the architecture. It should not be used in new SPARC-V9 software. It is
recommended that all instructions that reference the Y register (i.e., SMUL,
SMULcc, UMUL, UMULcc, MULScc, SDIV, SDIVcc, UDIV, UDIVcc, RDY, and
WRY) be avoided. See the appropriate pages in Appendix A, “Instruction Definitions,”
for suitable substitute instructions.

Still gcc is generating code which uses Y and some of the instructions above.
This change modifies the preemptible_handler() to preserve the Y register
across preemption.
 
/trunk/kernel/arch/sparc64/include/trap/trap_table.h
/trunk/kernel/arch/sparc64/src/dummy.s
/trunk/kernel/arch/sparc64/src/trap/trap_table.S
/trunk/kernel/doc/arch/sparc64
/trunk/kernel/generic/src/mm/as.c
1849 6514 d 7 h jermar /trunk/kernel/ sparc64 work.
interrupt_vector trap experimental handling.
Minimal reverse-engineered FireHose Controller driver (documentation needed!).
Keyboard on Sun Enterprise is now interrupt driven. Keyboard on Sun Ultra
is still polled.
 
/trunk/kernel/arch/sparc64/include/drivers/fhc.h
/trunk/kernel/arch/sparc64/src/drivers/fhc.c
/trunk/kernel/arch/sparc64/Makefile.inc
/trunk/kernel/arch/sparc64/include/asm.h
/trunk/kernel/arch/sparc64/include/drivers/ns16550.h
/trunk/kernel/arch/sparc64/include/drivers/z8530.h
/trunk/kernel/arch/sparc64/include/mm/mmu.h
/trunk/kernel/arch/sparc64/include/trap/interrupt.h
/trunk/kernel/arch/sparc64/src/console.c
/trunk/kernel/arch/sparc64/src/drivers/kbd.c
/trunk/kernel/arch/sparc64/src/drivers/tick.c
/trunk/kernel/arch/sparc64/src/trap/interrupt.c
/trunk/kernel/doc/arch/sparc64
/trunk/kernel/genarch/include/kbd/z8530.h
/trunk/kernel/genarch/src/kbd/z8530.c
1787 6551 d 0 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
/trunk
/trunk/boot
/trunk/kernel
/trunk/uspace
/boot/trunk
/kernel/trunk
/uspace/trunk
1761 6568 d 21 h jermar /kernel/trunk/doc/arch/ Upgrade amd64 hw compatibility list.  
/kernel/trunk/doc/arch/amd64
1422 6596 d 7 h jermar /kernel/trunk/ Modify ia64 linker script to make compilation with gcc 4.1.x possible.  
/kernel/trunk/arch/ia64/_link.ld.in
/kernel/trunk/contrib/toolchain/toolchain.ia64.sh
/kernel/trunk/doc/arch/ia64
1420 6596 d 7 h jermar /kernel/trunk/ Upgrade toolchain to use gcc 4.1.1.
ia64 still cannot be built with combination of binutils 2.16.1 and gcc 4.1.x
 
/kernel/trunk/contrib/toolchain/toolchain.amd64.sh
/kernel/trunk/contrib/toolchain/toolchain.ia32.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/mips32
/kernel/trunk/doc/arch/ppc32
1323 6609 d 9 h jermar /kernel/trunk/ Increase "timeout" for debugging spinlock so that false positive
deadlock reports are suppressed on real hardware.

Also add one HT configuration to hardware compatibility list.
 
/kernel/trunk/doc/arch/amd64
/kernel/trunk/doc/arch/ia32
/kernel/trunk/generic/src/synch/spinlock.c
912 6678 d 22 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 6681 d 20 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
812 6704 d 20 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
750 6713 d 23 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
681 6735 d 6 h jermar /kernel/trunk/ Minor changes.  
/kernel/trunk/doc/arch/amd64
/kernel/trunk/doc/arch/ia32
/kernel/trunk/generic/include/cpu.h
534 6769 d 23 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
/kernel
/SPARTAN
532 6769 d 23 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
/SPARTAN
/kernel
523 6776 d 2 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 6779 d 23 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 6782 d 3 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
/kernel
/SPARTAN
436 6798 d 21 h decky /SPARTAN/trunk/doc/arch/ new tested IA-32 SMP machines  
/SPARTAN/trunk/doc/arch/ia32
410 6818 d 23 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
398 6828 d 7 h jermar /SPARTAN/trunk/ Add arch directory for sparc64.  
/SPARTAN/trunk/arch/sparc64
/SPARTAN/trunk/doc/arch/sparc64

Show All