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
2015 6540 d 0 h jermar /trunk/ Rework support for virtually indexed cache.
Instead of repeatedly flushing the data cache, which was a huge overkill, refuse to create an illegal address alias
in the kernel (again) and allocate appropriate page color in userspace instead. Extend the detection also to
SYS_PHYSMEM_MAP syscall.

Add support for tracking physical memory areas mappable by SYS_PHYSMEM_MAP.

Lots of coding style changes.
 
/trunk/uspace/libc/include/bitops.h
/trunk/kernel/arch/ia32/src/drivers/ega.c
/trunk/kernel/arch/sparc64/include/interrupt.h
/trunk/kernel/arch/sparc64/include/mm/cache.h
/trunk/kernel/arch/sparc64/src/mm/as.c
/trunk/kernel/arch/sparc64/src/mm/cache.c
/trunk/kernel/arch/sparc64/src/mm/page.c
/trunk/kernel/arch/sparc64/src/smp/ipi.c
/trunk/kernel/arch/sparc64/src/trap/interrupt.c
/trunk/kernel/genarch/src/fb/fb.c
/trunk/kernel/generic/include/ddi/ddi.h
/trunk/kernel/generic/include/mm/as.h
/trunk/kernel/generic/include/mm/page.h
/trunk/kernel/generic/src/console/klog.c
/trunk/kernel/generic/src/ddi/ddi.c
/trunk/kernel/generic/src/lib/rd.c
/trunk/kernel/generic/src/main/main.c
/trunk/kernel/generic/src/mm/as.c
/trunk/kernel/generic/src/sysinfo/sysinfo.c
/trunk/kernel/generic/src/time/clock.c
/trunk/uspace/fb/ega.c
/trunk/uspace/fb/fb.c
/trunk/uspace/fb/main.c
/trunk/uspace/klog/klog.c
/trunk/uspace/libc/arch/amd64/include/config.h
/trunk/uspace/libc/arch/ia32/include/config.h
/trunk/uspace/libc/arch/ia64/include/config.h
/trunk/uspace/libc/arch/mips32/include/config.h
/trunk/uspace/libc/arch/ppc32/include/config.h
/trunk/uspace/libc/arch/ppc64/include/config.h
/trunk/uspace/libc/arch/sparc64/include/config.h
/trunk/uspace/libc/generic/as.c
/trunk/uspace/libc/generic/mman.c
/trunk/uspace/libc/generic/time.c
/trunk/uspace/libc/include/as.h
/trunk/uspace/ns/ns.c
/trunk/uspace/rd/rd.c
2010 6544 d 23 h jermar /trunk/kernel/arch/sparc64/src/mm/ Fix comment.  
/trunk/kernel/arch/sparc64/src/mm/as.c
2009 6544 d 23 h jermar /trunk/kernel/ Initial support for handling illegal virtual aliases on sparc64.  
/trunk/kernel/arch/sparc64/src/mm/cache.c
/trunk/kernel/arch/sparc64/src/mm/cache_asm.S
/trunk/kernel/arch/sparc64/src/mm/cache.S
/trunk/kernel/Makefile
/trunk/kernel/arch/sparc64/Makefile.inc
/trunk/kernel/arch/sparc64/include/cpu.h
/trunk/kernel/arch/sparc64/include/interrupt.h
/trunk/kernel/arch/sparc64/include/mm/as.h
/trunk/kernel/arch/sparc64/include/mm/cache.h
/trunk/kernel/arch/sparc64/src/cpu/cpu.c
/trunk/kernel/arch/sparc64/src/mm/as.c
/trunk/kernel/arch/sparc64/src/mm/tlb.c
/trunk/kernel/arch/sparc64/src/mm/tsb.c
/trunk/kernel/arch/sparc64/src/smp/ipi.c
/trunk/kernel/arch/sparc64/src/start.S
/trunk/kernel/arch/sparc64/src/trap/interrupt.c
/trunk/kernel/generic/include/mm/as.h
/trunk/kernel/generic/src/mm/as.c
/trunk/kernel/kernel.config
2008 6547 d 0 h jermar /trunk/kernel/arch/sparc64/ Add dcache_flush() function that flushes D-Cache on sparc64.  
/trunk/kernel/arch/sparc64/include/mm/cache.h
/trunk/kernel/arch/sparc64/src/mm/cache.S
/trunk/kernel/arch/sparc64/Makefile.inc
/trunk/kernel/arch/sparc64/include/arch.h
/trunk/kernel/arch/sparc64/src/start.S
2001 6550 d 22 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
1996 6557 d 2 h jermar /trunk/kernel/ Add option to compile the sparc64 kernel without the TTE_CV bit support.
The bit is not used by default now.
Enabling it may theoretically lead to physical memory inconsistencies until code that
mitigates the problem is written.
 
/trunk/kernel/Makefile
/trunk/kernel/arch/sparc64/src/mm/tlb.c
/trunk/kernel/arch/sparc64/src/mm/tsb.c
/trunk/kernel/arch/sparc64/src/start.S
/trunk/kernel/kernel.config
1988 6558 d 22 h jermar /trunk/kernel/arch/sparc64/src/mm/ Update comment and move initialization code away from application processor codepath.  
/trunk/kernel/arch/sparc64/src/mm/frame.c
1987 6559 d 1 h jermar /trunk/kernel/arch/sparc64/src/ Take the possible difference between kernel and physical address into account in TSB and userspace window buffer
allocation and deallocation code.
 
/trunk/kernel/arch/sparc64/src/mm/as.c
/trunk/kernel/arch/sparc64/src/proc/thread.c
1983 6561 d 4 h jermar /trunk/kernel/arch/sparc64/src/mm/ sparc64 work:
- fix computation of the frame allocator configuration frame
- mark the first physical frame unavailable, no matter what is its address

Because of that, we can now boot past the frame_arch_init() on the Ultra 60 now.
 
/trunk/kernel/arch/sparc64/src/mm/frame.c
1982 6561 d 8 h jermar /trunk/ Modify the sparc64 startup code to not cause MMU traps before it takes over the TLB and
the trap table. Fix several PA2KA and KA2PA omittions or errors. Fix configuration to pass
the DEFS variable along.
 
/trunk/boot/arch/sparc64/Makefile.inc
/trunk/boot/arch/sparc64/loader/Makefile
/trunk/boot/boot.config
/trunk/kernel/arch/sparc64/src/mm/page.c
/trunk/kernel/arch/sparc64/src/sparc64.c
/trunk/kernel/arch/sparc64/src/start.S
1960 6583 d 0 h jermar /trunk/kernel/arch/sparc64/src/mm/ Fix the following bug:

Ticket #3 data_access_exception after killing task on sparc64
 
/trunk/kernel/arch/sparc64/src/mm/tsb.c
1946 6590 d 22 h jermar /trunk/kernel/arch/sparc64/ sparc64 work.
- Improve panic screen on data_access_exception
by dumping contents of DSFSR and DSFAR.
- Change the FHC enable interrupt code to only
set the IMAP_V bit.
 
/trunk/kernel/arch/sparc64/include/mm/tlb.h
/trunk/kernel/arch/sparc64/src/drivers/fhc.c
/trunk/kernel/arch/sparc64/src/drivers/pci.c
/trunk/kernel/arch/sparc64/src/mm/tlb.c
/trunk/kernel/arch/sparc64/src/trap/exception.c
1918 6601 d 0 h jermar /trunk/kernel/arch/sparc64/src/mm/ Omitted comma.  
/trunk/kernel/arch/sparc64/src/mm/page.c
1917 6601 d 1 h jermar /trunk/ sparc64 work:
- hw_map() can now support up to 8M requests
- CPU stacks are now locked in DTLB of the respective processor
- kernel in the boot phase no longer relies on the stack provided by OpenFirmware
- instead of of doing FLUSHW during kernel startup, simply set the
window state registers to the wanted state
- NWINDOW -> NWINDOWS
- Add/fix some comments and copyrights.
 
/trunk/boot/arch/sparc64/loader/boot.S
/trunk/kernel/arch/sparc64/include/arch.h
/trunk/kernel/arch/sparc64/src/cpu/cpu.c
/trunk/kernel/arch/sparc64/src/mm/page.c
/trunk/kernel/arch/sparc64/src/mm/tsb.c
/trunk/kernel/arch/sparc64/src/start.S
/trunk/kernel/arch/sparc64/src/trap/trap_table.S
1905 6611 d 10 h jermar /trunk/kernel/arch/sparc64/src/ Small fixes.
The sparc64 kernel now compiles again even if not compiled with SMP support.
 
/trunk/kernel/arch/sparc64/src/mm/tlb.c
/trunk/kernel/arch/sparc64/src/start.S
1903 6613 d 0 h jermar /trunk/ SMP stuff for sparc64.
Almost complete except for IPIs.
The absence of IPI support deadlocks
the kernel when more CPUs are configured.
 
/trunk/kernel/arch/sparc64/src/smp
/trunk/kernel/arch/sparc64/src/smp/ipi.c
/trunk/kernel/arch/sparc64/src/smp/smp.c
/trunk/boot/arch/sparc64/loader/ofwarch.c
/trunk/boot/arch/sparc64/loader/register.h
/trunk/kernel/arch/sparc64/Makefile.inc
/trunk/kernel/arch/sparc64/include/atomic.h
/trunk/kernel/arch/sparc64/include/cpu.h
/trunk/kernel/arch/sparc64/include/interrupt.h
/trunk/kernel/arch/sparc64/include/regdef.h
/trunk/kernel/arch/sparc64/src/cpu/cpu.c
/trunk/kernel/arch/sparc64/src/mm/as.c
/trunk/kernel/arch/sparc64/src/mm/frame.c
/trunk/kernel/arch/sparc64/src/mm/page.c
/trunk/kernel/arch/sparc64/src/sparc64.c
/trunk/kernel/arch/sparc64/src/start.S
/trunk/kernel/kernel.config
1892 6621 d 10 h jermar /trunk/kernel/arch/sparc64/src/mm/ Small improvement in initialization of sparc64's TBSs.  
/trunk/kernel/arch/sparc64/src/mm/as.c
1891 6621 d 22 h jermar /trunk/kernel/ sparc64 work:
- Experimental support for TSB (Translation Storage Buffer).
 
/trunk/kernel/Makefile
/trunk/kernel/arch/amd64/include/mm/as.h
/trunk/kernel/arch/ia32/include/mm/as.h
/trunk/kernel/arch/ia64/include/mm/as.h
/trunk/kernel/arch/mips32/include/mm/as.h
/trunk/kernel/arch/ppc32/include/mm/as.h
/trunk/kernel/arch/ppc64/include/mm/as.h
/trunk/kernel/arch/sparc64/Makefile.inc
/trunk/kernel/arch/sparc64/include/arch.h
/trunk/kernel/arch/sparc64/include/barrier.h
/trunk/kernel/arch/sparc64/include/mm/mmu.h
/trunk/kernel/arch/sparc64/include/mm/tsb.h
/trunk/kernel/arch/sparc64/include/mm/tte.h
/trunk/kernel/arch/sparc64/include/trap/mmu.h
/trunk/kernel/arch/sparc64/src/mm/as.c
/trunk/kernel/arch/sparc64/src/mm/tlb.c
/trunk/kernel/arch/sparc64/src/mm/tsb.c
/trunk/kernel/arch/xen32/include/mm/as.h
/trunk/kernel/genarch/src/mm/asid.c
/trunk/kernel/generic/include/mm/as.h
/trunk/kernel/generic/src/mm/as.c
1890 6622 d 9 h jermar /trunk/ - Create a dedicated slab cache for as_t objects and switch from malloc/free to slab_alloc/slab_free for
them.

- Slightly fix and improve both the kernel and userspace atomic_add() on sparc64.

- More TSB work on the sparc64 front.
 
/trunk/kernel/arch/amd64/include/mm/as.h
/trunk/kernel/arch/ia32/include/mm/as.h
/trunk/kernel/arch/ia64/include/mm/as.h
/trunk/kernel/arch/mips32/include/mm/as.h
/trunk/kernel/arch/ppc32/include/mm/as.h
/trunk/kernel/arch/ppc64/include/mm/as.h
/trunk/kernel/arch/sparc64/include/atomic.h
/trunk/kernel/arch/sparc64/include/mm/tsb.h
/trunk/kernel/arch/sparc64/src/mm/as.c
/trunk/kernel/arch/sparc64/src/proc/scheduler.c
/trunk/kernel/arch/xen32/include/mm/as.h
/trunk/kernel/generic/include/mm/as.h
/trunk/kernel/generic/src/mm/as.c
/trunk/uspace/libc/arch/sparc64/include/atomic.h
1889 6623 d 0 h jermar /trunk/kernel/ Fix bug in mm/as.c:
- as_area_destroy() should not work with AS but as

sparc64 work:
- start implementing TSB support
 
/trunk/kernel/arch/sparc64/include/mm/tsb.h
/trunk/kernel/arch/sparc64/src/mm/tsb.c
/trunk/kernel/arch/amd64/include/mm/as.h
/trunk/kernel/arch/ia32/include/mm/as.h
/trunk/kernel/arch/ia64/include/mm/as.h
/trunk/kernel/arch/mips32/include/mm/as.h
/trunk/kernel/arch/ppc32/include/mm/as.h
/trunk/kernel/arch/ppc64/include/mm/as.h
/trunk/kernel/arch/sparc64/Makefile.inc
/trunk/kernel/arch/sparc64/include/mm/as.h
/trunk/kernel/arch/xen32/include/mm/as.h
/trunk/kernel/genarch/src/mm/asid.c
/trunk/kernel/generic/include/mm/as.h
/trunk/kernel/generic/src/mm/as.c
/trunk/kernel/kernel.config

Show All