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 6462 d 23 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
2014 6465 d 1 h decky /trunk/ version bump to Xen 3.0.3 (not fully operational yet)  
/trunk/boot/arch/ia32xen/Makefile.inc
/trunk/boot/arch/ia32xen/grub/menu.debug.lst
/trunk/boot/arch/ia32xen/grub/xen.debug.gz
/trunk/boot/arch/ia32xen/grub/xen.gz
/trunk/kernel/arch/ia32xen/_link.ld.in
/trunk/kernel/arch/ia32xen/include/boot/boot.h
/trunk/kernel/arch/ia32xen/src/boot/boot.S
2012 6465 d 21 h jermar /trunk/ Eliminate confusion between SYS_MAP_PHYSMEM and sys_physmem_map.
The syscall is to be called SYS_PHYSMEM_MAP from now on and the functions that participate in its implementation are
called *physmem_map().
 
/trunk/kernel/generic/include/ddi/ddi_arg.h
/trunk/kernel/generic/include/syscall/syscall.h
/trunk/kernel/generic/src/ddi/ddi.c
/trunk/uspace/fb/ega.c
/trunk/uspace/fb/fb.c
/trunk/uspace/libc/generic/ddi.c
/trunk/uspace/libc/include/ddi.h
/trunk/uspace/ns/ns.c
/trunk/uspace/rd/rd.c
2011 6467 d 3 h decky /trunk/kernel/ resolve ticket #4  
/trunk/kernel/Makefile
2010 6467 d 22 h jermar /trunk/kernel/arch/sparc64/src/mm/ Fix comment.  
/trunk/kernel/arch/sparc64/src/mm/as.c
2009 6467 d 22 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 6469 d 23 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
2007 6470 d 21 h jermar /trunk/kernel/ Introduce page colors. So far, only sparc64 uses correct page color bits. Other architectures have a dummy define
specifying zero bits for a page color.

There is a new check of page color in as_area_share(). Because of lack of support for this in the userspace, the
check has been #ifef'ed out.
 
/trunk/kernel/arch/amd64/include/mm/page.h
/trunk/kernel/arch/ia32/include/mm/page.h
/trunk/kernel/arch/ia32xen/include/mm/page.h
/trunk/kernel/arch/ia64/include/mm/page.h
/trunk/kernel/arch/mips32/include/mm/page.h
/trunk/kernel/arch/ppc32/include/mm/page.h
/trunk/kernel/arch/ppc64/include/mm/page.h
/trunk/kernel/arch/sparc64/include/mm/page.h
/trunk/kernel/genarch/src/mm/asid_fifo.c
/trunk/kernel/generic/include/mm/page.h
/trunk/kernel/generic/src/mm/as.c
2005 6472 d 4 h decky /trunk/ update rd  
/trunk/kernel/generic/include/lib/rd.h
/trunk/kernel/generic/src/lib/rd.c
/trunk/kernel/generic/src/main/kinit.c
/trunk/uspace/libc/generic/sysinfo.c
/trunk/uspace/rd/rd.c
2004 6472 d 4 h decky /trunk/kernel/generic/include/ cleanup  
/trunk/kernel/generic/include/atomic.h
/trunk/kernel/generic/include/bitops.h
/trunk/kernel/generic/include/sysinfo/sysinfo.h
2003 6472 d 4 h decky /trunk/kernel/arch/ cleanup endian conversion macros  
/trunk/kernel/arch/amd64/include/byteorder.h
/trunk/kernel/arch/ia32/include/byteorder.h
/trunk/kernel/arch/ia64/include/byteorder.h
/trunk/kernel/arch/mips32/include/byteorder.h
/trunk/kernel/arch/ppc32/include/byteorder.h
/trunk/kernel/arch/ppc64/include/byteorder.h
/trunk/kernel/arch/sparc64/include/byteorder.h
2002 6472 d 5 h decky /trunk/kernel/generic/ rd work  
/trunk/kernel/generic/include/byteorder.h
/trunk/kernel/generic/include/lib/rd.h
/trunk/kernel/generic/src/lib/rd.c
/trunk/kernel/generic/src/main/kinit.c
2001 6473 d 20 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
2000 6474 d 8 h decky /trunk/kernel/ move files to more proper locations  
/trunk/kernel/generic/include/lib
/trunk/kernel/generic/include/lib/elf.h
/trunk/kernel/generic/include/lib/rd.h
/trunk/kernel/generic/src/lib/rd.c
/trunk/kernel/generic/include/elf.h
/trunk/kernel/generic/include/mm/rd.h
/trunk/kernel/generic/src/mm/rd.c
/trunk/kernel/Makefile
/trunk/kernel/generic/include/mm/as.h
/trunk/kernel/generic/src/lib/elf.c
/trunk/kernel/generic/src/main/kinit.c
/trunk/kernel/generic/src/mm/backend_elf.c
/trunk/kernel/generic/src/proc/task.c
1999 6474 d 8 h decky /trunk/ start RAM disk support  
/trunk/kernel/generic/include/mm/rd.h
/trunk/kernel/generic/src/mm/rd.c
/trunk/uspace/rd
/trunk/uspace/rd/Makefile
/trunk/uspace/rd/rd.c
/trunk/kernel/Makefile
/trunk/kernel/generic/src/main/kinit.c
/trunk/kernel/generic/src/main/main.c
/trunk/uspace/Makefile
/trunk/uspace/libc/include/ipc/services.h
1996 6480 d 1 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
1995 6480 d 1 h jermar /trunk/kernel/ Move general configuration out of debugging configuration.
Add CONFIG_VIRT_IDX_CACHE.
 
/trunk/kernel/kernel.config
1994 6480 d 5 h decky /trunk/ Add BGR 0888 visual for Ultra 60  
/trunk/kernel/arch/sparc64/src/drivers/scr.c
/trunk/kernel/genarch/include/fb/visuals.h
/trunk/kernel/genarch/src/fb/fb.c
/trunk/uspace/fb/fb.c
1993 6480 d 7 h decky /trunk/ make framebuffer code more generic  
/trunk/kernel/genarch/include/fb/visuals.h
/trunk/kernel/arch/ia32/src/drivers/vesa.c
/trunk/kernel/arch/mips32/src/mips32.c
/trunk/kernel/arch/ppc32/src/ppc32.c
/trunk/kernel/arch/ppc64/src/ppc64.c
/trunk/kernel/arch/sparc64/src/drivers/scr.c
/trunk/kernel/genarch/include/fb/fb.h
/trunk/kernel/genarch/src/fb/fb.c
/trunk/uspace/fb/fb.c
1991 6481 d 0 h jermar /trunk/kernel/genarch/src/fb/ The prefered switch statement indentation is the one replaced by the previous commit :-)  
/trunk/kernel/genarch/src/fb/fb.c
1990 6481 d 3 h decky /trunk/kernel/genarch/src/fb/ framebuffer cleanup  
/trunk/kernel/genarch/src/fb/fb.c
1988 6481 d 21 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 6482 d 0 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
1986 6482 d 3 h decky /trunk/kernel/arch/sparc64/src/drivers/ The FFB framebuffer looks more like 32b  
/trunk/kernel/arch/sparc64/src/drivers/scr.c
1985 6482 d 4 h decky /trunk/kernel/ add benchmarking configuration directive  
/trunk/kernel/Makefile
/trunk/kernel/kernel.config
1984 6482 d 23 h jermar /trunk/kernel/arch/sparc64/ sparc64 work:
- untested support for Psycho PCI controller
 
/trunk/kernel/arch/sparc64/include/drivers/pci.h
/trunk/kernel/arch/sparc64/src/drivers/pci.c
1983 6484 d 3 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 6484 d 6 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
1981 6484 d 7 h jermar /trunk/kernel/ Indentation, formatting and minor changes.  
/trunk/kernel/genarch/src/fb/fb.c
/trunk/kernel/generic/src/mm/frame.c
1980 6484 d 7 h jermar /trunk/kernel/arch/mips32/include/mm/ mips32 mm has not been under construction for while now  
/trunk/kernel/arch/mips32/include/mm/page.h
1979 6484 d 22 h jermar /trunk/ Configuration changes on sparc64.
Compile TSB support by default.
Ask whether to start AP processors in the loader.
 
/trunk/boot/Makefile
/trunk/boot/arch/sparc64/loader/main.c
/trunk/boot/boot.config
/trunk/kernel/kernel.config
1978 6484 d 23 h jermar /trunk/ sparc64 code to support physical memory that starts on non-zero addresses.
Still needs to be tested on systems with such setup.
 
/trunk/boot/arch/sparc64/loader/asm.S
/trunk/boot/arch/sparc64/loader/asm.h
/trunk/boot/arch/sparc64/loader/main.c
/trunk/boot/arch/sparc64/loader/main.h
/trunk/boot/arch/sparc64/loader/ofwarch.c
/trunk/boot/arch/sparc64/loader/ofwarch.h
/trunk/kernel/arch/sparc64/include/boot/boot.h
/trunk/kernel/arch/sparc64/include/mm/page.h
/trunk/kernel/arch/sparc64/include/trap/mmu.h
/trunk/kernel/arch/sparc64/src/start.S
1977 6485 d 19 h jermar /trunk/ Fix bad indentation in ofw.c

sparc64 work:
o Fix copyright in main.c
o Move code from unused parts of the trap table.
 
/trunk/boot/arch/sparc64/loader/main.c
/trunk/boot/genarch/ofw.c
/trunk/kernel/arch/sparc64/src/trap/trap_table.S
1976 6491 d 4 h jermar /trunk/kernel/arch/sparc64/ sparc64 context does not have to include the CLEANWIN register.  
/trunk/kernel/arch/sparc64/include/context.h
/trunk/kernel/arch/sparc64/include/context_offset.h
/trunk/kernel/arch/sparc64/src/context.S
1975 6494 d 21 h jermar /trunk/kernel/arch/sparc64/src/ Typo.  
/trunk/kernel/arch/sparc64/src/start.S
1974 6495 d 0 h jermar /trunk/kernel/genarch/src/ofw/ Rewrite OFW device tree traversal algorithms to iterate over the list of peers rather than recurse on each
peer node. This saves us from big troubles with stack overflows.
 
/trunk/kernel/genarch/src/ofw/ofw_tree.c
1972 6497 d 5 h jermar /trunk/ Modify selected function to consume less stack space.

Avoid flushw instruction in the sparc64 loader.
 
/trunk/boot/arch/sparc64/loader/boot.S
/trunk/boot/arch/sparc64/loader/main.c
/trunk/kernel/genarch/src/ofw/ofw_tree.c
/trunk/kernel/generic/src/console/kconsole.c
1970 6504 d 7 h decky /trunk/kernel/arch/ia32/src/smp/ use new IRQ scheme in l_apic_timer_interrupt()  
/trunk/kernel/arch/ia32/src/smp/apic.c
1960 6505 d 23 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
1959 6506 d 5 h decky /trunk/kernel/arch/ia32xen/src/ ia32xen: adopt new IRQ interface  
/trunk/kernel/arch/ia32xen/src/ia32xen.c
/trunk/kernel/arch/ia32xen/src/interrupt.c
/trunk/kernel/arch/ia32xen/src/mm/page.c
/trunk/kernel/arch/ia32xen/src/pm.c