Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
2001 6440 d 19 h jermar /trunk/kernel/ Indentation and comment fixes.  
/trunk/kernel/arch/sparc64/src/mm/tsb.c
/trunk/kernel/arch/sparc64/src/start.S
/trunk/kernel/doc/arch/sparc64
/trunk/kernel/generic/include/macros.h
/trunk/kernel/generic/include/mm/frame.h
1915 6491 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 6544 d 6 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 6581 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 6598 d 20 h jermar /kernel/trunk/doc/arch/ Upgrade amd64 hw compatibility list.  
/kernel/trunk/doc/arch/amd64
1422 6626 d 6 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 6626 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 6639 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 6708 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 6711 d 19 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 6734 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 6743 d 22 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 6765 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 6799 d 22 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
/kernel
/SPARTAN
532 6799 d 23 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
/SPARTAN
/kernel
523 6806 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 6809 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 6812 d 3 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
/kernel
/SPARTAN
436 6828 d 21 h decky /SPARTAN/trunk/doc/arch/ new tested IA-32 SMP machines  
/SPARTAN/trunk/doc/arch/ia32
410 6848 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 6858 d 6 h jermar /SPARTAN/trunk/ Add arch directory for sparc64.  
/SPARTAN/trunk/arch/sparc64
/SPARTAN/trunk/doc/arch/sparc64
365 6874 d 21 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 6881 d 22 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 6882 d 20 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
341 6883 d 4 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
110 6982 d 3 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
35 7017 d 7 h jermar /SPARTAN/trunk/ Early support for IA-64 architecture.  
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/_link.ld
/SPARTAN/trunk/arch/ia64/boot
/SPARTAN/trunk/arch/ia64/boot/Makefile
/SPARTAN/trunk/arch/ia64/boot/_link.ld
/SPARTAN/trunk/arch/ia64/boot/boot.s
/SPARTAN/trunk/arch/ia64/include
/SPARTAN/trunk/arch/ia64/include/asm.h
/SPARTAN/trunk/arch/ia64/include/atomic.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/include/cpu.h
/SPARTAN/trunk/arch/ia64/include/interrupt.h
/SPARTAN/trunk/arch/ia64/include/mm
/SPARTAN/trunk/arch/ia64/include/mm/frame.h
/SPARTAN/trunk/arch/ia64/include/mm/page.h
/SPARTAN/trunk/arch/ia64/include/mm/vm.h
/SPARTAN/trunk/arch/ia64/include/smp
/SPARTAN/trunk/arch/ia64/include/smp/atomic.h
/SPARTAN/trunk/arch/ia64/include/thread.h
/SPARTAN/trunk/arch/ia64/include/types.h
/SPARTAN/trunk/arch/ia64/src
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/ia64/src/start.S
/SPARTAN/trunk/doc/arch
/SPARTAN/trunk/doc/arch/ia64
/SPARTAN/trunk/doc/arch/mips
/SPARTAN/trunk/doc/mips
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc/task.c