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
4614 5443 d 19 h rimsky /branches/sparc/kernel/arch/sparc64/ Waking CPUs up on sun4v. Weird errors occur when accessing the THE structure.  
/branches/sparc/kernel/arch/sparc64/include/asm.h
/branches/sparc/kernel/arch/sparc64/src/smp/sun4v/smp.c
/branches/sparc/kernel/arch/sparc64/src/sun4v/start.S
4433 5483 d 20 h rimsky /branches/sparc/kernel/arch/sparc64/ Fixed a TSB problem.  
/branches/sparc/kernel/arch/sparc64/include/trap/exception.h
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/as.c
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/tsb.c
/branches/sparc/kernel/arch/sparc64/src/trap/sun4v/trap_table.S
4383 5497 d 1 h rimsky /branches/sparc/kernel/arch/sparc64/ Fixed instruction access exception and data access exception in the trap table. Added new traps defined by UltraSPARC Architecture 2007 (which UltraSPARC T2 follows).  
/branches/sparc/kernel/arch/sparc64/include/trap/exception.h
/branches/sparc/kernel/arch/sparc64/src/trap/sun4v/trap_table.S
4369 5500 d 19 h rimsky /branches/sparc/kernel/arch/sparc64/ Kernel stack and userspace window buffer pointers are stored in scratchpad registers instead of memory.  
/branches/sparc/kernel/arch/sparc64/include/sun4v/arch.h
/branches/sparc/kernel/arch/sparc64/include/sun4v/cpu.h
/branches/sparc/kernel/arch/sparc64/include/trap/sun4v/regwin.h
/branches/sparc/kernel/arch/sparc64/src/proc/sun4v/scheduler.c
/branches/sparc/kernel/arch/sparc64/src/sun4v/start.S
/branches/sparc/kernel/arch/sparc64/src/trap/sun4v/trap_table.S
4130 5556 d 19 h rimsky /branches/sparc/ Cleanup of the Niagara port. The main purpose of these changes is to make it easy to find out which code is generic, which is sun4u-specific and which is sun4v-specific.  
/branches/sparc/kernel/arch/sparc64/include/mm/sun4u/cache_spec.h
/branches/sparc/kernel/arch/sparc64/include/sun4u/cpu_family.h
/branches/sparc/kernel/arch/sparc64/include/sun4u/cpu_node.h
/branches/sparc/kernel/arch/sparc64/include/sun4u/register.h
/branches/sparc/kernel/arch/sparc64/include/sun4v/register.h
/branches/sparc/kernel/arch/sparc64/src/mm/sun4u/cache.S
/branches/sparc/kernel/arch/sparc64/src/sparc64.c
/branches/sparc/kernel/arch/sparc64/src/sun4u/console.c
/branches/sparc/kernel/arch/sparc64/src/sun4v/console.c
/branches/sparc/kernel/arch/sparc64/include/cpu_family.h
/branches/sparc/kernel/arch/sparc64/include/cpu_node.h
/branches/sparc/kernel/arch/sparc64/include/mm/cache_spec.h
/branches/sparc/kernel/arch/sparc64/src/mm/cache.S
/branches/sparc/kernel/arch/sparc64/Makefile.inc
/branches/sparc/kernel/arch/sparc64/include/asm.h
/branches/sparc/kernel/arch/sparc64/include/barrier.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4u/tlb.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/frame.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/tlb.h
/branches/sparc/kernel/arch/sparc64/include/register.h
/branches/sparc/kernel/arch/sparc64/include/sun4u/asm.h
/branches/sparc/kernel/arch/sparc64/src/console.c
/branches/sparc/kernel/arch/sparc64/src/cpu/sun4u/cpu.c
/branches/sparc/kernel/arch/sparc64/src/cpu/sun4v/cpu.c
/branches/sparc/kernel/arch/sparc64/src/mm/sun4u/tlb.c
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/as.c
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/tlb.c
/branches/sparc/kernel/arch/sparc64/src/smp/sun4u/smp.c
/branches/sparc/kernel/arch/sparc64/src/smp/sun4v/smp.c
/branches/sparc/kernel/arch/sparc64/src/sun4u/sparc64.c
/branches/sparc/kernel/arch/sparc64/src/sun4v/sparc64.c
/branches/sparc/uspace/app/init/init.c
4129 5557 d 15 h rimsky /branches/sparc/kernel/arch/sparc64/ Implemented missing features in Niagara memory management, minor cleanup.  
/branches/sparc/kernel/arch/sparc64/Makefile.inc
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/as.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/page.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/tlb.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/tsb.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/tte.h
/branches/sparc/kernel/arch/sparc64/include/sun4v/regdef.h
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/as.c
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/tlb.c
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/tsb.c
/branches/sparc/kernel/arch/sparc64/src/trap/exception.c
4073 5559 d 18 h rimsky /branches/sparc/ Implemented input and output drivers for Niagara. Written in the old-fashion style (do not use the new DDI infrastructure nor the new keyboard driver). Anyway, tetris can be played.  
/branches/sparc/uspace/srv/fb/niagara.c
/branches/sparc/uspace/srv/fb/niagara.h
/branches/sparc/uspace/srv/kbd/arch/sparc64/include/niagara.h
/branches/sparc/uspace/srv/kbd/arch/sparc64/src/niagara.c
/branches/sparc/kernel/arch/sparc64/include/drivers/niagara.h
/branches/sparc/kernel/arch/sparc64/src/console.c
/branches/sparc/kernel/arch/sparc64/src/drivers/niagara.c
/branches/sparc/kernel/generic/include/ddi/irq.h
/branches/sparc/kernel/generic/src/ipc/irq.c
/branches/sparc/kernel/generic/src/ipc/kbox.c
/branches/sparc/kernel/generic/src/udebug/udebug.c
/branches/sparc/kernel/generic/src/udebug/udebug_ipc.c
/branches/sparc/kernel/generic/src/udebug/udebug_ops.c
/branches/sparc/uspace/srv/fb/Makefile
/branches/sparc/uspace/srv/fb/main.c
/branches/sparc/uspace/srv/kbd/Makefile
/branches/sparc/uspace/srv/kbd/arch/sparc64/src/kbd.c
/branches/sparc/uspace/srv/kbd/genarch/src/nofb.c
4068 5561 d 17 h rimsky /branches/sparc/kernel/arch/sparc64/src/trap/sun4v/ Fixed a stupid bug.  
/branches/sparc/kernel/arch/sparc64/src/trap/sun4v/trap_table.S
4065 5562 d 16 h rimsky /branches/sparc/kernel/arch/sparc64/src/ minor cleanup  
/branches/sparc/kernel/arch/sparc64/src/mm/frame.c
/branches/sparc/kernel/arch/sparc64/src/sun4v/sparc64.c
4064 5562 d 17 h rimsky /branches/sparc/kernel/arch/sparc64/src/trap/sun4v/ Workaround for the bug which usually caused rewriting saved register window data on the uspace stack. More investigation needed.  
/branches/sparc/kernel/arch/sparc64/src/trap/sun4v/trap_table.S
4063 5562 d 17 h rimsky /branches/sparc/uspace/lib/libc/arch/sparc64/include/ Fixed the bug which caused unexpected MMU misses. The fix breaks sun4u ports - this will be solved once the sun4v is integrated with the new configuration mechanism, which allows to define common options for both kernel and uspace.  
/branches/sparc/uspace/lib/libc/arch/sparc64/include/config.h
3993 5569 d 16 h rimsky /branches/sparc/kernel/ Implemented preemptible trap handler for userspace (including syscalls - did not forget enabling interrupts for them) and the ralated stuff. Implemented handlers of instruction/data MMU miss/protection. Now some userspace tasks are run; there are, however, still some bugs causing unexpected data MMU misses.  
/branches/sparc/kernel/arch/sparc64/include/sun4u/asm.h
/branches/sparc/kernel/arch/sparc64/include/sun4v/asm.h
/branches/sparc/kernel/arch/sparc64/include/trap/sun4u/regwin.h
/branches/sparc/kernel/arch/sparc64/include/trap/sun4v/regwin.h
/branches/sparc/kernel/arch/sparc64/src/proc/sun4u
/branches/sparc/kernel/arch/sparc64/src/proc/sun4u/scheduler.c
/branches/sparc/kernel/arch/sparc64/src/proc/sun4v
/branches/sparc/kernel/arch/sparc64/src/proc/sun4v/scheduler.c
/branches/sparc/kernel/arch/sparc64/src/proc/scheduler.c
/branches/sparc/kernel/arch/sparc64/Makefile.inc
/branches/sparc/kernel/arch/sparc64/include/asm.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/tlb.h
/branches/sparc/kernel/arch/sparc64/include/sun4v/cpu.h
/branches/sparc/kernel/arch/sparc64/include/trap/regwin.h
/branches/sparc/kernel/arch/sparc64/include/trap/sun4v/mmu.h
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/tlb.c
/branches/sparc/kernel/arch/sparc64/src/sun4u/start.S
/branches/sparc/kernel/arch/sparc64/src/sun4v/asm.S
/branches/sparc/kernel/arch/sparc64/src/sun4v/start.S
/branches/sparc/kernel/arch/sparc64/src/trap/sun4v/trap_table.S
/branches/sparc/kernel/generic/src/main/kinit.c
/branches/sparc/kernel/generic/src/mm/as.c
3864 5590 d 17 h rimsky /branches/sparc/kernel/arch/sparc64/src/sun4v/ Allocated bigger memory block for the Machine Description. This was the problem which prevented running HelenOS on real Niagara. Now all kernel tests except for 'slab2' pass on real Niagara.  
/branches/sparc/kernel/arch/sparc64/src/sun4v/md.c
3863 5591 d 15 h rimsky /branches/sparc/ Simics machine: modifications needed to run userspace (the next step will be to implement the trap handler for uspace); real machine: small fixes, after them the machine passes some parts of the initialization, but fails to determine CPU frequency (probably due to a different format of Machine Description).  
/branches/sparc/boot/arch/sparc64/loader/asm.S
/branches/sparc/kernel/arch/sparc64/include/sun4v/regdef.h
/branches/sparc/kernel/arch/sparc64/include/trap/sun4v/mmu.h
/branches/sparc/kernel/arch/sparc64/src/drivers/niagara.c
/branches/sparc/kernel/arch/sparc64/src/sun4v/asm.S
/branches/sparc/kernel/arch/sparc64/src/trap/sun4v/trap_table.S
3862 5594 d 16 h rimsky /branches/sparc/kernel/ Changed the structure of header files, which have sun4u and sun4v versions. Implemented some sun4v TSB functions.  
/branches/sparc/kernel/arch/sparc64/include/mm/mmu.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4u/as.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4u/frame.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4u/page.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4u/tsb.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/as.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/frame.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/page.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/tsb.h
/branches/sparc/kernel/arch/sparc64/include/mm/tlb.h
/branches/sparc/kernel/arch/sparc64/include/mm/tte.h
/branches/sparc/kernel/arch/sparc64/include/regdef.h
/branches/sparc/kernel/arch/sparc64/include/trap/mmu.h
/branches/sparc/kernel/arch/sparc64/src/mm/sun4u/tsb.c
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/tsb.c
/branches/sparc/kernel/arch/sparc64/src/mm/tsb.c
/branches/sparc/kernel/arch/sparc64/Makefile.inc
/branches/sparc/kernel/arch/sparc64/include/arch.h
/branches/sparc/kernel/arch/sparc64/include/cpu.h
/branches/sparc/kernel/arch/sparc64/include/cpu_family.h
/branches/sparc/kernel/arch/sparc64/include/interrupt.h
/branches/sparc/kernel/arch/sparc64/include/mm/as.h
/branches/sparc/kernel/arch/sparc64/include/mm/frame.h
/branches/sparc/kernel/arch/sparc64/include/mm/page.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4u/tlb.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/mmu.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/tlb.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/tte.h
/branches/sparc/kernel/arch/sparc64/include/mm/tsb.h
/branches/sparc/kernel/arch/sparc64/include/register.h
/branches/sparc/kernel/arch/sparc64/include/sun4u/cpu.h
/branches/sparc/kernel/arch/sparc64/include/sun4v/cpu.h
/branches/sparc/kernel/arch/sparc64/include/sun4v/regdef.h
/branches/sparc/kernel/arch/sparc64/include/trap/sun4u/mmu.h
/branches/sparc/kernel/arch/sparc64/include/trap/sun4v/mmu.h
/branches/sparc/kernel/arch/sparc64/src/console.c
/branches/sparc/kernel/arch/sparc64/src/cpu/sun4u/cpu.c
/branches/sparc/kernel/arch/sparc64/src/cpu/sun4v/cpu.c
/branches/sparc/kernel/arch/sparc64/src/drivers/sgcn.c
/branches/sparc/kernel/arch/sparc64/src/mm/page.c
/branches/sparc/kernel/arch/sparc64/src/mm/sun4u/as.c
/branches/sparc/kernel/arch/sparc64/src/mm/sun4u/tlb.c
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/as.c
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/tlb.c
/branches/sparc/kernel/arch/sparc64/src/smp/sun4v/smp.c
/branches/sparc/kernel/arch/sparc64/src/trap/exception.c
/branches/sparc/kernel/arch/sparc64/src/trap/trap.c
/branches/sparc/kernel/generic/src/console/cmd.c
/branches/sparc/kernel/generic/src/console/console.c
/branches/sparc/kernel/generic/src/cpu/cpu.c
/branches/sparc/kernel/generic/src/ddi/ddi.c
/branches/sparc/kernel/generic/src/ddi/irq.c
/branches/sparc/kernel/generic/src/interrupt/interrupt.c
/branches/sparc/kernel/generic/src/ipc/ipc.c
/branches/sparc/kernel/generic/src/ipc/ipcrsc.c
/branches/sparc/kernel/generic/src/ipc/irq.c
/branches/sparc/kernel/generic/src/ipc/sysipc.c
/branches/sparc/kernel/generic/src/main/kinit.c
/branches/sparc/kernel/generic/src/main/uinit.c
/branches/sparc/kernel/generic/src/mm/backend_anon.c
/branches/sparc/kernel/generic/src/mm/backend_elf.c
/branches/sparc/kernel/generic/src/mm/backend_phys.c
/branches/sparc/kernel/generic/src/mm/slab.c
/branches/sparc/kernel/generic/src/mm/tlb.c
/branches/sparc/kernel/generic/src/proc/program.c
/branches/sparc/kernel/generic/src/proc/task.c
/branches/sparc/kernel/generic/src/security/cap.c
/branches/sparc/kernel/generic/src/synch/futex.c
/branches/sparc/kernel/generic/src/synch/spinlock.c
/branches/sparc/kernel/generic/src/syscall/copy.c
/branches/sparc/kernel/generic/src/syscall/syscall.c
/branches/sparc/kernel/generic/src/time/clock.c
/branches/sparc/kernel/test/mm/falloc2.c
/branches/sparc/kernel/test/mm/slab1.c
/branches/sparc/kernel/test/mm/slab2.c
/branches/sparc/kernel/test/synch/rwlock2.c
/branches/sparc/kernel/test/synch/rwlock3.c
/branches/sparc/kernel/test/synch/rwlock4.c
/branches/sparc/kernel/test/synch/rwlock5.c
/branches/sparc/kernel/test/synch/semaphore1.c
/branches/sparc/kernel/test/synch/semaphore2.c
/branches/sparc/kernel/test/thread/thread1.c
3835 5599 d 16 h rimsky /branches/sparc/kernel/arch/sparc64/ Niagara: Implemented (and debugged) installing identity mapping for kernel. Now all the kernel tests pass on Simics.  
/branches/sparc/kernel/arch/sparc64/include/sun4v/arch.h
/branches/sparc/kernel/arch/sparc64/src/trap/sun4v/mmu.S
/branches/sparc/kernel/arch/sparc64/src/trap/mmu.S
/branches/sparc/kernel/arch/sparc64/Makefile.inc
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/mmu.h
/branches/sparc/kernel/arch/sparc64/include/mm/sun4v/tlb.h
/branches/sparc/kernel/arch/sparc64/include/trap/sun4v/mmu.h
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/tlb.c
/branches/sparc/kernel/arch/sparc64/src/sun4v/start.S
/branches/sparc/kernel/arch/sparc64/src/trap/sun4v/trap_table.S
3817 5607 d 16 h rimsky /branches/sparc/kernel/ Progress on Niagara: Commented out portions of mm, which are not required for kernel threads (temporarily). Scheduler is working. Implemented a driver of hypervisor's standard input. Kernel console is usable.  
/branches/sparc/kernel/arch/sparc64/src/mm/sun4u/as.c
/branches/sparc/kernel/arch/sparc64/src/mm/sun4v/as.c
/branches/sparc/kernel/arch/sparc64/src/mm/as.c
/branches/sparc/kernel/arch/sparc64/Makefile.inc
/branches/sparc/kernel/arch/sparc64/include/drivers/kbd.h
/branches/sparc/kernel/arch/sparc64/include/drivers/niagara.h
/branches/sparc/kernel/arch/sparc64/include/sun4v/hypercall.h
/branches/sparc/kernel/arch/sparc64/src/console.c
/branches/sparc/kernel/arch/sparc64/src/drivers/niagara.c
/branches/sparc/kernel/arch/sparc64/src/sun4v/sparc64.c
/branches/sparc/kernel/generic/src/main/kinit.c
3801 5611 d 18 h rimsky /branches/sparc/kernel/arch/sparc64/src/trap/sun4v/ Minor fixes in the preemptible trap handler.  
/branches/sparc/kernel/arch/sparc64/src/trap/sun4v/trap_table.S
3798 5612 d 16 h rimsky /branches/sparc/kernel/ Implemented preemptible trap handler for sun4v for trapping from kernel (not userspace). Not properly tested/debugged yet. HelenOS now reaches the as_install_arch function (where it, of course, fails).  
/branches/sparc/kernel/arch/sparc64/Makefile.inc
/branches/sparc/kernel/arch/sparc64/include/cpu.h
/branches/sparc/kernel/arch/sparc64/include/sun4v/regdef.h
/branches/sparc/kernel/arch/sparc64/src/cpu/sun4v/cpu.c
/branches/sparc/kernel/arch/sparc64/src/trap/sun4v/trap_table.S
/branches/sparc/kernel/generic/src/main/main.c
/branches/sparc/kernel/generic/src/proc/scheduler.c
3783 5624 d 17 h rimsky /branches/sparc/kernel/arch/sparc64/ Machine description traversal implemented. Now used to detect CPU frequency.  
/branches/sparc/kernel/arch/sparc64/include/sun4v/md.h
/branches/sparc/kernel/arch/sparc64/src/sun4v/md.c
/branches/sparc/kernel/arch/sparc64/Makefile.inc
/branches/sparc/kernel/arch/sparc64/include/cpu.h
/branches/sparc/kernel/arch/sparc64/include/sun4v/hypercall.h
/branches/sparc/kernel/arch/sparc64/src/cpu/sun4v/cpu.c
/branches/sparc/kernel/arch/sparc64/src/sun4v/sparc64.c

Show All