Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
3908 |
5658 d 2 h |
decky |
/trunk/ |
overhaul pareas: use one single physical area for the physical address space not belonging to physical memory |
|
/trunk/kernel/arch/amd64/include/mm/frame.h /trunk/kernel/arch/amd64/src/mm/page.c /trunk/kernel/arch/arm32/include/mm/frame.h /trunk/kernel/arch/arm32/src/mm/frame.c /trunk/kernel/arch/arm32/src/mm/page.c /trunk/kernel/arch/ia32/include/mm/frame.h /trunk/kernel/arch/ia32/src/mm/frame.c /trunk/kernel/arch/ia32/src/mm/page.c /trunk/kernel/arch/ia64/include/mm/frame.h /trunk/kernel/arch/ia64/src/mm/frame.c /trunk/kernel/arch/ia64/src/mm/page.c /trunk/kernel/arch/mips32/include/mm/frame.h /trunk/kernel/arch/mips32/src/drivers/msim.c /trunk/kernel/arch/mips32/src/mm/frame.c /trunk/kernel/arch/mips32/src/mm/page.c /trunk/kernel/arch/ppc32/include/mm/frame.h /trunk/kernel/arch/ppc32/src/mm/frame.c /trunk/kernel/arch/ppc32/src/mm/page.c /trunk/kernel/arch/sparc64/include/mm/frame.h /trunk/kernel/arch/sparc64/src/drivers/sgcn.c /trunk/kernel/arch/sparc64/src/mm/frame.c /trunk/kernel/arch/sparc64/src/mm/page.c /trunk/kernel/genarch/src/drivers/ega/ega.c /trunk/kernel/genarch/src/fb/fb.c /trunk/kernel/generic/include/ddi/ddi.h /trunk/kernel/generic/include/mm/page.h /trunk/kernel/generic/src/adt/avl.c /trunk/kernel/generic/src/console/cmd.c /trunk/kernel/generic/src/console/console.c /trunk/kernel/generic/src/ddi/ddi.c /trunk/kernel/generic/src/lib/rd.c /trunk/kernel/generic/src/proc/task.c /trunk/kernel/generic/src/time/clock.c /trunk/uspace/srv/fb/ega.c /trunk/uspace/srv/fb/fb.c /trunk/uspace/srv/fb/msim.c /trunk/uspace/srv/fb/sgcn.c /trunk/uspace/srv/kbd/arch/sparc64/src/sgcn.c /trunk/uspace/srv/ns/ns.c /trunk/uspace/srv/rd/rd.c
|
3790 |
5697 d 9 h |
svoboda |
/trunk/kernel/ |
Make newlines in panic messages consistent. Add periods at end of messages so that it is obvious whether they are printed entirely. |
|
/trunk/kernel/arch/amd64/src/interrupt.c /trunk/kernel/arch/amd64/src/mm/page.c /trunk/kernel/arch/amd64/src/pm.c /trunk/kernel/arch/arm32/src/mm/page.c /trunk/kernel/arch/arm32/src/mm/page_fault.c /trunk/kernel/arch/ia32/src/drivers/vesa.c /trunk/kernel/arch/ia32/src/interrupt.c /trunk/kernel/arch/ia32/src/mm/page.c /trunk/kernel/arch/ia32/src/pm.c /trunk/kernel/arch/ia32/src/smp/smp.c /trunk/kernel/arch/ia32xen/src/interrupt.c /trunk/kernel/arch/ia32xen/src/mm/page.c /trunk/kernel/arch/ia32xen/src/pm.c /trunk/kernel/arch/ia32xen/src/smp/smp.c /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/arch/ia64/src/interrupt.c /trunk/kernel/arch/ia64/src/mm/tlb.c /trunk/kernel/arch/mips32/src/cache.c /trunk/kernel/arch/mips32/src/debugger.c /trunk/kernel/arch/mips32/src/exception.c /trunk/kernel/arch/mips32/src/mm/tlb.c /trunk/kernel/arch/ppc32/src/mm/page.c /trunk/kernel/arch/ppc32/src/mm/tlb.c /trunk/kernel/arch/ppc32/src/ppc32.c /trunk/kernel/arch/ppc64/include/exception.h /trunk/kernel/arch/ppc64/src/mm/page.c /trunk/kernel/arch/ppc64/src/ppc64.c /trunk/kernel/arch/sparc64/src/console.c /trunk/kernel/arch/sparc64/src/drivers/fhc.c /trunk/kernel/arch/sparc64/src/drivers/kbd.c /trunk/kernel/arch/sparc64/src/drivers/scr.c /trunk/kernel/arch/sparc64/src/drivers/sgcn.c /trunk/kernel/arch/sparc64/src/mm/tlb.c /trunk/kernel/arch/sparc64/src/smp/ipi.c /trunk/kernel/arch/sparc64/src/sparc64.c /trunk/kernel/arch/sparc64/src/trap/exception.c /trunk/kernel/arch/sparc64/src/trap/interrupt.c /trunk/kernel/genarch/src/drivers/ega/ega.c /trunk/kernel/genarch/src/fb/fb.c /trunk/kernel/genarch/src/ofw/fhc.c /trunk/kernel/genarch/src/ofw/ofw_tree.c /trunk/kernel/genarch/src/ofw/pci.c /trunk/kernel/generic/include/debug.h /trunk/kernel/generic/include/panic.h /trunk/kernel/generic/src/adt/btree.c /trunk/kernel/generic/src/adt/hash_table.c /trunk/kernel/generic/src/cpu/cpu.c /trunk/kernel/generic/src/interrupt/interrupt.c /trunk/kernel/generic/src/main/kinit.c /trunk/kernel/generic/src/main/main.c /trunk/kernel/generic/src/mm/as.c /trunk/kernel/generic/src/mm/backend_anon.c /trunk/kernel/generic/src/mm/backend_elf.c /trunk/kernel/generic/src/mm/backend_phys.c /trunk/kernel/generic/src/mm/tlb.c /trunk/kernel/generic/src/proc/scheduler.c /trunk/kernel/generic/src/proc/tasklet.c /trunk/kernel/generic/src/synch/rwlock.c /trunk/kernel/generic/src/sysinfo/sysinfo.c /trunk/kernel/generic/src/time/clock.c /trunk/kernel/generic/src/time/timeout.c
|
3788 |
5697 d 22 h |
svoboda |
/trunk/kernel/ |
Unify newlines in fault_if_from_uspace() format strings. (Remove them and print newline automatically). Also start messages with caps. |
|
/trunk/kernel/arch/amd64/src/interrupt.c /trunk/kernel/arch/amd64/src/mm/page.c /trunk/kernel/arch/arm32/src/mm/page_fault.c /trunk/kernel/arch/ia32/src/interrupt.c /trunk/kernel/arch/ia32xen/src/interrupt.c /trunk/kernel/arch/ia32xen/src/mm/page.c /trunk/kernel/arch/ia64/src/interrupt.c /trunk/kernel/arch/mips32/src/exception.c /trunk/kernel/arch/mips32/src/mm/tlb.c /trunk/kernel/arch/ppc32/src/mm/tlb.c /trunk/kernel/arch/sparc64/src/mm/tlb.c /trunk/kernel/arch/sparc64/src/trap/exception.c /trunk/kernel/generic/include/interrupt.h /trunk/kernel/generic/src/interrupt/interrupt.c
|
3672 |
5731 d 1 h |
jermar |
/trunk/ |
Merge sparc branch to trunk. |
|
/trunk/boot/arch/sparc64/silo/silo.patched.tar.gz /trunk/contrib/util /trunk/kernel/arch/sparc64/include/cpu_family.h /trunk/kernel/arch/sparc64/include/cpu_node.h /trunk/kernel/arch/sparc64/include/drivers/sgcn.h /trunk/kernel/arch/sparc64/src/drivers/sgcn.c /trunk/uspace/srv/fb/serial_console.c /trunk/uspace/srv/fb/serial_console.h /trunk/uspace/srv/fb/sgcn.c /trunk/uspace/srv/fb/sgcn.h /trunk/uspace/srv/kbd/arch/sparc64/include/sgcn.h /trunk/uspace/srv/kbd/arch/sparc64/src/sgcn.c /trunk/uspace/srv/kbd/genarch/include/nofb.h /trunk/uspace/srv/kbd/genarch/src/nofb.c
/trunk/boot/arch/ppc64/Makefile.inc /trunk/boot/arch/sparc64/Makefile.inc /trunk/boot/arch/sparc64/loader/asm.S /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/register.h /trunk/boot/boot.config /trunk/boot/genarch/balloc.h /trunk/boot/genarch/ofw.c /trunk/boot/genarch/ofw_tree.c /trunk/kernel/arch/arm32/src/arm32.c /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/sparc64/Makefile.inc /trunk/kernel/arch/sparc64/include/arch.h /trunk/kernel/arch/sparc64/include/asm.h /trunk/kernel/arch/sparc64/include/cpu.h /trunk/kernel/arch/sparc64/include/drivers/kbd.h /trunk/kernel/arch/sparc64/include/drivers/scr.h /trunk/kernel/arch/sparc64/include/mm/cache.h /trunk/kernel/arch/sparc64/include/mm/cache_spec.h /trunk/kernel/arch/sparc64/include/mm/frame.h /trunk/kernel/arch/sparc64/include/mm/mmu.h /trunk/kernel/arch/sparc64/include/mm/tlb.h /trunk/kernel/arch/sparc64/include/mm/tsb.h /trunk/kernel/arch/sparc64/include/mm/tte.h /trunk/kernel/arch/sparc64/include/regdef.h /trunk/kernel/arch/sparc64/include/register.h /trunk/kernel/arch/sparc64/include/trap/interrupt.h /trunk/kernel/arch/sparc64/src/console.c /trunk/kernel/arch/sparc64/src/cpu/cpu.c /trunk/kernel/arch/sparc64/src/ddi/ddi.c /trunk/kernel/arch/sparc64/src/drivers/scr.c /trunk/kernel/arch/sparc64/src/drivers/tick.c /trunk/kernel/arch/sparc64/src/mm/as.c /trunk/kernel/arch/sparc64/src/mm/cache.S /trunk/kernel/arch/sparc64/src/mm/page.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/smp/smp.c /trunk/kernel/arch/sparc64/src/sparc64.c /trunk/kernel/arch/sparc64/src/start.S /trunk/kernel/arch/sparc64/src/trap/interrupt.c /trunk/kernel/genarch/include/fb/fb.h /trunk/kernel/genarch/include/fb/visuals.h /trunk/kernel/genarch/include/ofw/ofw_tree.h /trunk/kernel/genarch/src/fb/fb.c /trunk/kernel/genarch/src/ofw/ofw_tree.c /trunk/kernel/kernel.config /trunk/uspace/srv/console/console.c /trunk/uspace/srv/fb/Makefile /trunk/uspace/srv/fb/main.c /trunk/uspace/srv/fb/msim.c /trunk/uspace/srv/kbd/Makefile /trunk/uspace/srv/kbd/arch/mips32/src/kbd.c /trunk/uspace/srv/kbd/arch/sparc64/src/kbd.c
|
3133 |
5906 d 0 h |
jermar |
/trunk/kernel/arch/ |
Add smc_coherence() macro to all architectures.
So far, only amd64, ia32, ia64 and sparc64 are implemented. |
|
/trunk/kernel/arch/sparc64/include/mm/cache_spec.h
/trunk/kernel/arch/arm32/include/barrier.h /trunk/kernel/arch/ia32/include/barrier.h /trunk/kernel/arch/ia64/include/barrier.h /trunk/kernel/arch/mips32/include/barrier.h /trunk/kernel/arch/ppc32/include/barrier.h /trunk/kernel/arch/ppc64/include/barrier.h /trunk/kernel/arch/sparc64/include/barrier.h /trunk/kernel/arch/sparc64/include/mm/tlb.h /trunk/kernel/arch/sparc64/src/mm/cache.S
|
3104 |
5913 d 13 h |
svoboda |
/trunk/kernel/ |
Declare arguments for memstr.h operations as pointers instead of uintptr_t. |
|
/trunk/kernel/Makefile /trunk/kernel/arch/amd64/include/memstr.h /trunk/kernel/arch/amd64/src/pm.c /trunk/kernel/arch/arm32/include/memstr.h /trunk/kernel/arch/ia32/include/memstr.h /trunk/kernel/arch/ia32/src/drivers/ega.c /trunk/kernel/arch/ia32/src/pm.c /trunk/kernel/arch/ia32/src/smp/smp.c /trunk/kernel/arch/ia32xen/src/ia32xen.c /trunk/kernel/arch/ia32xen/src/pm.c /trunk/kernel/arch/ia32xen/src/smp/smp.c /trunk/kernel/arch/ia64/include/memstr.h /trunk/kernel/arch/ia64/src/drivers/ega.c /trunk/kernel/arch/ia64/src/mm/vhpt.c /trunk/kernel/arch/mips32/include/memstr.h /trunk/kernel/arch/ppc32/include/memstr.h /trunk/kernel/arch/ppc64/include/memstr.h /trunk/kernel/arch/ppc64/src/mm/page.c /trunk/kernel/arch/sparc64/include/memstr.h /trunk/kernel/arch/sparc64/src/mm/as.c /trunk/kernel/genarch/src/mm/as_pt.c /trunk/kernel/genarch/src/mm/page_pt.c /trunk/kernel/generic/include/memstr.h /trunk/kernel/generic/src/adt/hash_table.c /trunk/kernel/generic/src/cpu/cpu.c /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/lib/memstr.c /trunk/kernel/generic/src/lib/objc_ext.c /trunk/kernel/generic/src/mm/as.c /trunk/kernel/generic/src/mm/backend_anon.c /trunk/kernel/generic/src/mm/backend_elf.c /trunk/kernel/generic/src/mm/slab.c /trunk/kernel/generic/src/proc/thread.c /trunk/kernel/test/mm/falloc2.c /trunk/kernel/test/mm/slab1.c /trunk/kernel/test/mm/slab2.c
|
2745 |
6013 d 9 h |
decky |
/trunk/ |
code cleanup (mostly signed/unsigned)
allow extra compiler warnings |
|
/trunk/kernel/Makefile /trunk/kernel/arch/amd64/src/mm/page.c /trunk/kernel/arch/arm32/src/arm32.c /trunk/kernel/arch/arm32/src/cpu/cpu.c /trunk/kernel/arch/arm32/src/debug/print.c /trunk/kernel/arch/ia32xen/src/mm/tlb.c /trunk/kernel/arch/ia32xen/src/smp/mps.c /trunk/kernel/arch/ia32xen/src/smp/smp.c /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/arch/ia64/src/mm/tlb.c /trunk/kernel/arch/mips32/src/cpu/cpu.c /trunk/kernel/arch/mips32/src/debugger.c /trunk/kernel/arch/mips32/src/drivers/arc.c /trunk/kernel/arch/mips32/src/mm/tlb.c /trunk/kernel/arch/sparc64/src/mm/frame.c /trunk/kernel/arch/sparc64/src/mm/page.c /trunk/kernel/arch/sparc64/src/mm/tlb.c /trunk/kernel/arch/sparc64/src/smp/ipi.c /trunk/kernel/genarch/src/ofw/ebus.c /trunk/kernel/genarch/src/ofw/fhc.c /trunk/kernel/genarch/src/ofw/ofw_tree.c /trunk/kernel/genarch/src/ofw/pci.c /trunk/kernel/genarch/src/ofw/sbus.c /trunk/kernel/generic/include/lib/elf.h /trunk/kernel/generic/include/mm/as.h /trunk/kernel/generic/include/mm/slab.h /trunk/kernel/generic/src/debug/symtab.c /trunk/kernel/generic/src/interrupt/interrupt.c /trunk/kernel/generic/src/ipc/irq.c /trunk/kernel/generic/src/ipc/sysipc.c /trunk/kernel/generic/src/lib/elf.c /trunk/kernel/generic/src/lib/func.c /trunk/kernel/generic/src/lib/memstr.c /trunk/kernel/generic/src/lib/sort.c /trunk/kernel/generic/src/main/main.c /trunk/kernel/generic/src/mm/as.c /trunk/kernel/generic/src/mm/backend_anon.c /trunk/kernel/generic/src/mm/backend_elf.c /trunk/kernel/generic/src/mm/frame.c /trunk/kernel/generic/src/mm/slab.c /trunk/kernel/generic/src/mm/tlb.c /trunk/kernel/generic/src/printf/printf_core.c /trunk/kernel/generic/src/proc/task.c /trunk/kernel/generic/src/synch/futex.c /trunk/kernel/generic/src/time/clock.c /trunk/kernel/test/avltree/avltree1.c /trunk/kernel/test/fpu/fpu1.c /trunk/kernel/test/fpu/mips2.c /trunk/kernel/test/fpu/sse1.c /trunk/kernel/test/mm/falloc2.c /trunk/kernel/test/synch/rwlock5.c /trunk/kernel/test/test.c /trunk/kernel/test/thread/thread1.c /trunk/uspace/lib/libc/arch/ppc64/src/syscall.c
|
2725 |
6034 d 6 h |
decky |
/trunk/kernel/ |
remove config.memory_size, get_memory_size() and memory_init.{c|d}
the amount of available memory can be calculated from the sizes of the zones
add FRAMES2SIZE, SIZE2KB and SIZE2MB functions/macros (code readability) |
|
/trunk/kernel/arch/amd64/src/boot/memmap.c /trunk/kernel/arch/ia32/src/boot/memmap.c
/trunk/kernel/arch/amd64/include/mm/memory_init.h /trunk/kernel/arch/amd64/src/mm/memory_init.c /trunk/kernel/arch/arm32/include/mm/memory_init.h /trunk/kernel/arch/arm32/src/mm/memory_init.c /trunk/kernel/arch/ia32/include/mm/memory_init.h /trunk/kernel/arch/ia32/src/mm/memory_init.c /trunk/kernel/arch/ia32xen/include/mm/memory_init.h /trunk/kernel/arch/ia32xen/src/mm/memory_init.c /trunk/kernel/arch/ia64/include/mm/memory_init.h /trunk/kernel/arch/mips32/include/mm/memory_init.h /trunk/kernel/arch/ppc32/include/mm/memory_init.h /trunk/kernel/arch/ppc32/src/mm/memory_init.c /trunk/kernel/arch/ppc64/include/mm/memory_init.h /trunk/kernel/arch/ppc64/src/mm/memory_init.c /trunk/kernel/arch/sparc64/include/mm/memory_init.h /trunk/kernel/arch/sparc64/src/mm/memory_init.c
/trunk/kernel/arch/amd64/Makefile.inc /trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/amd64/src/boot/boot.S /trunk/kernel/arch/arm32/Makefile.inc /trunk/kernel/arch/arm32/src/mm/frame.c /trunk/kernel/arch/ia32/Makefile.inc /trunk/kernel/arch/ia32/include/boot/memmap.h /trunk/kernel/arch/ia32/src/boot/boot.S /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia32xen/Makefile.inc /trunk/kernel/arch/ia32xen/src/ia32xen.c /trunk/kernel/arch/ia64/src/mm/frame.c /trunk/kernel/arch/mips32/src/drivers/arc.c /trunk/kernel/arch/mips32/src/mm/frame.c /trunk/kernel/arch/ppc32/Makefile.inc /trunk/kernel/arch/ppc32/src/mm/frame.c /trunk/kernel/arch/ppc32/src/ppc32.c /trunk/kernel/arch/ppc64/Makefile.inc /trunk/kernel/arch/ppc64/src/mm/frame.c /trunk/kernel/arch/ppc64/src/ppc64.c /trunk/kernel/arch/sparc64/Makefile.inc /trunk/kernel/generic/include/config.h /trunk/kernel/generic/include/macros.h /trunk/kernel/generic/include/mm/frame.h /trunk/kernel/generic/src/main/main.c /trunk/kernel/generic/src/mm/frame.c
|
2462 |
6279 d 0 h |
jermar |
/trunk/kernel/ |
Replace gcc-specific __FUNCTION__ with C99 __func__.
suncc's xregs=no%float can be used only on sparc64. |
|
/trunk/kernel/Makefile /trunk/kernel/arch/amd64/src/interrupt.c /trunk/kernel/arch/ia32/src/smp/mps.c /trunk/kernel/arch/ia32xen/src/smp/mps.c /trunk/kernel/arch/ia64/src/mm/tlb.c /trunk/kernel/arch/sparc64/Makefile.inc /trunk/kernel/arch/sparc64/src/mm/tlb.c /trunk/kernel/arch/sparc64/src/smp/smp.c /trunk/kernel/arch/sparc64/src/trap/exception.c /trunk/kernel/generic/include/panic.h /trunk/kernel/generic/include/synch/spinlock.h /trunk/kernel/generic/src/console/kconsole.c
|
2272 |
6327 d 2 h |
jermar |
/trunk/kernel/ |
Indentation and formatting fixes. |
|
/trunk/kernel/arch/sparc64/include/barrier.h /trunk/kernel/arch/sparc64/src/cpu/cpu.c /trunk/kernel/arch/sparc64/src/mm/as.c /trunk/kernel/arch/sparc64/src/proc/scheduler.c /trunk/kernel/arch/sparc64/src/proc/thread.c /trunk/kernel/arch/sparc64/src/smp/ipi.c /trunk/kernel/arch/sparc64/src/smp/smp.c /trunk/kernel/generic/src/lib/memstr.c
|
2267 |
6329 d 1 h |
jermar |
/trunk/kernel/arch/sparc64/src/mm/ |
Fix indentation. |
|
/trunk/kernel/arch/sparc64/src/mm/frame.c
|
2266 |
6329 d 2 h |
jermar |
/trunk/kernel/arch/sparc64/src/mm/ |
Add few assertions to tsb.c and clean it up a little bit. |
|
/trunk/kernel/arch/sparc64/src/mm/tsb.c
|
2252 |
6331 d 0 h |
jermar |
/trunk/kernel/arch/sparc64/src/mm/ |
Move one MEMBAR instruction from a delay slot,
which is, due to SF Erratum #51, a potentionally
dangerous place for a MEMBAR to be. |
|
/trunk/kernel/arch/sparc64/src/mm/cache.S
|
2231 |
6337 d 4 h |
jermar |
/trunk/kernel/arch/sparc64/ |
Fix a nasty bug in the TLB miss handlers on sparc64.
After we no longer lock the kernel stack in the DTLB,
there is a real danger of nested DTLB misses. The nested
miss can very easily clobber the DTLB Tag Access register.
Therefore, the original miss may not read this register, but
it has to receive its value as an argument. The argument
value is saved in the trap table when it is guaranteed that
the nested TLB miss will not occur. |
|
/trunk/kernel/arch/sparc64/include/mm/tlb.h /trunk/kernel/arch/sparc64/include/trap/mmu.h /trunk/kernel/arch/sparc64/src/mm/tlb.c
|
2170 |
6345 d 22 h |
jermar |
/trunk/kernel/ |
Simplify synchronization in as_switch().
The function was oversynchronized, which
was causing deadlocks on the address
space mutex.
Now, address spaces can only be switched
when the asidlock is held. This also protects
stealing of ASIDs. No other synchronization
is necessary. |
|
/trunk/kernel/arch/ia64/src/mm/as.c /trunk/kernel/arch/mips32/src/mm/as.c /trunk/kernel/arch/ppc32/src/mm/as.c /trunk/kernel/arch/ppc64/src/mm/as.c /trunk/kernel/arch/sparc64/src/mm/as.c /trunk/kernel/genarch/src/mm/asid.c /trunk/kernel/generic/include/mm/as.h /trunk/kernel/generic/src/mm/as.c
|
2161 |
6348 d 1 h |
jermar |
/trunk/kernel/arch/sparc64/src/mm/ |
Fix TSB bug during TSB refill.
When one wants to enable a TSB entry, he or she should set the
entry invalid bit to false, as opposed to setting it to true. |
|
/trunk/kernel/arch/sparc64/src/mm/tsb.c
|
2144 |
6348 d 23 h |
jermar |
/trunk/kernel/arch/sparc64/src/mm/ |
Fix TSB size. |
|
/trunk/kernel/arch/sparc64/src/mm/as.c
|
2141 |
6349 d 21 h |
jermar |
/trunk/ |
The Ultimate Solution To Illegal Virtual Aliases.
It is better to avoid them completely than to fight them.
Switch the sparc64 port to 16K pages. The TLBs and TSBs
continue to operate with 8K pages only. Page tables and
other generic parts operate with 16K pages.
Because the MMU doesn't support 16K directly, each 16K
page is emulated by a pair of 8K pages. With 16K pages,
illegal aliases cannot be created in 16K D-cache. |
|
/trunk/kernel/arch/sparc64/src/mm/cache.S
/trunk/kernel/arch/sparc64/src/mm/cache.c /trunk/kernel/arch/sparc64/src/mm/cache_asm.S
/trunk/boot/arch/sparc64/loader/asm.h /trunk/kernel/arch/sparc64/Makefile.inc /trunk/kernel/arch/sparc64/include/cpu.h /trunk/kernel/arch/sparc64/include/mm/as.h /trunk/kernel/arch/sparc64/include/mm/cache.h /trunk/kernel/arch/sparc64/include/mm/frame.h /trunk/kernel/arch/sparc64/include/mm/page.h /trunk/kernel/arch/sparc64/include/mm/tsb.h /trunk/kernel/arch/sparc64/include/stack.h /trunk/kernel/arch/sparc64/src/cpu/cpu.c /trunk/kernel/arch/sparc64/src/mm/as.c /trunk/kernel/arch/sparc64/src/mm/page.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/trap/interrupt.c /trunk/kernel/genarch/src/fb/fb.c /trunk/kernel/genarch/src/mm/page_ht.c /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/mm/as.c /trunk/kernel/generic/src/mm/backend_anon.c /trunk/kernel/generic/src/mm/backend_elf.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/sparc64/_link.ld.in /trunk/uspace/libc/arch/sparc64/include/config.h /trunk/uspace/libc/arch/sparc64/include/stack.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
|
2134 |
6351 d 1 h |
jermar |
/trunk/kernel/ |
Reworked handling of illegal virtual aliases caused by frame reuse.
We moved the incomplete handling from backend's frame method to
backend's page_fault method. The page_fault method is the one that
can create an illegal alias if it writes the userspace frame using
kernel address with a different page color than the page to which is
this frame mapped in userspace. When we detect this, we do D-cache
shootdown on all processors (!!!).
If we add code that accesses userspace memory from kernel address
space, we will have to check for illegal virtual aliases at all such
places.
I tested this on a 4-way simulated E6500 and a real-world Ultra 5,
which has unfortunatelly only one processor.
This solves ticket #26. |
|
/trunk/kernel/arch/sparc64/include/cpu.h /trunk/kernel/arch/sparc64/include/interrupt.h /trunk/kernel/arch/sparc64/include/mm/cache.h /trunk/kernel/arch/sparc64/src/cpu/cpu.c /trunk/kernel/arch/sparc64/src/mm/cache.c /trunk/kernel/arch/sparc64/src/mm/tlb.c /trunk/kernel/arch/sparc64/src/smp/ipi.c /trunk/kernel/arch/sparc64/src/trap/interrupt.c /trunk/kernel/generic/src/mm/backend_anon.c /trunk/kernel/generic/src/mm/backend_elf.c
|
2089 |
6408 d 7 h |
decky |
/trunk/ |
huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes |
|
/trunk/kernel/arch/sparc64/include/sparc64.h /trunk/kernel/generic/include/mm/mm.h
/trunk/kernel/arch/ia32xen/include/boot
/trunk/kernel/Makefile /trunk/kernel/arch/amd64/_link.ld.in /trunk/kernel/arch/amd64/include/asm.h /trunk/kernel/arch/amd64/include/atomic.h /trunk/kernel/arch/amd64/include/cpu.h /trunk/kernel/arch/amd64/include/interrupt.h /trunk/kernel/arch/amd64/include/mm/as.h /trunk/kernel/arch/amd64/include/mm/page.h /trunk/kernel/arch/amd64/include/pm.h /trunk/kernel/arch/amd64/include/proc/task.h /trunk/kernel/arch/amd64/include/proc/thread.h /trunk/kernel/arch/amd64/include/types.h /trunk/kernel/arch/amd64/src/cpu/cpu.c /trunk/kernel/arch/amd64/src/ddi/ddi.c /trunk/kernel/arch/amd64/src/fpu_context.c /trunk/kernel/arch/amd64/src/mm/memory_init.c /trunk/kernel/arch/amd64/src/pm.c /trunk/kernel/arch/ia32/_link.ld.in /trunk/kernel/arch/ia32/include/atomic.h /trunk/kernel/arch/ia32/include/boot/memmap.h /trunk/kernel/arch/ia32/include/cpu.h /trunk/kernel/arch/ia32/include/interrupt.h /trunk/kernel/arch/ia32/include/mm/as.h /trunk/kernel/arch/ia32/include/mm/asid.h /trunk/kernel/arch/ia32/include/mm/memory_init.h /trunk/kernel/arch/ia32/include/mm/page.h /trunk/kernel/arch/ia32/include/pm.h /trunk/kernel/arch/ia32/include/proc/task.h /trunk/kernel/arch/ia32/include/smp/apic.h /trunk/kernel/arch/ia32/include/smp/mps.h /trunk/kernel/arch/ia32/include/smp/smp.h /trunk/kernel/arch/ia32/include/types.h /trunk/kernel/arch/ia32/src/boot/boot.S /trunk/kernel/arch/ia32/src/cpu/cpu.c /trunk/kernel/arch/ia32/src/ddi/ddi.c /trunk/kernel/arch/ia32/src/drivers/vesa.c /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia32/src/mm/as.c /trunk/kernel/arch/ia32/src/mm/memory_init.c /trunk/kernel/arch/ia32/src/pm.c /trunk/kernel/arch/ia32/src/smp/mps.c /trunk/kernel/arch/ia32xen/_link.ld.in /trunk/kernel/arch/ia32xen/include/hypercall.h /trunk/kernel/arch/ia32xen/include/mm/as.h /trunk/kernel/arch/ia32xen/include/mm/frame.h /trunk/kernel/arch/ia32xen/include/mm/memory_init.h /trunk/kernel/arch/ia32xen/include/mm/page.h /trunk/kernel/arch/ia32xen/include/pm.h /trunk/kernel/arch/ia32xen/include/types.h /trunk/kernel/arch/ia32xen/src/boot/boot.S /trunk/kernel/arch/ia32xen/src/ia32xen.c /trunk/kernel/arch/ia32xen/src/mm/as.c /trunk/kernel/arch/ia32xen/src/mm/memory_init.c /trunk/kernel/arch/ia32xen/src/pm.c /trunk/kernel/arch/ia32xen/src/smp/apic.c /trunk/kernel/arch/ia32xen/src/smp/mps.c /trunk/kernel/arch/ia32xen/src/smp/smp.c /trunk/kernel/arch/ia64/_link.ld.in /trunk/kernel/arch/ia64/include/context.h /trunk/kernel/arch/ia64/include/cpu.h /trunk/kernel/arch/ia64/include/fpu_context.h /trunk/kernel/arch/ia64/include/interrupt.h /trunk/kernel/arch/ia64/include/mm/as.h /trunk/kernel/arch/ia64/include/mm/page.h /trunk/kernel/arch/ia64/include/mm/tlb.h /trunk/kernel/arch/ia64/include/types.h /trunk/kernel/arch/ia64/src/ddi/ddi.c /trunk/kernel/arch/ia64/src/mm/page.c /trunk/kernel/arch/ia64/src/mm/tlb.c /trunk/kernel/arch/ia64/src/mm/vhpt.c /trunk/kernel/arch/ia64/src/ski/ski.c /trunk/kernel/arch/mips32/include/asm.h /trunk/kernel/arch/mips32/include/cache.h /trunk/kernel/arch/mips32/include/context_offset.h /trunk/kernel/arch/mips32/include/cp0.h /trunk/kernel/arch/mips32/include/cpu.h /trunk/kernel/arch/mips32/include/debugger.h /trunk/kernel/arch/mips32/include/exception.h /trunk/kernel/arch/mips32/include/interrupt.h /trunk/kernel/arch/mips32/include/mm/as.h /trunk/kernel/arch/mips32/include/mm/page.h /trunk/kernel/arch/mips32/include/mm/tlb.h /trunk/kernel/arch/mips32/include/types.h /trunk/kernel/arch/mips32/src/cache.c /trunk/kernel/arch/mips32/src/cpu/cpu.c /trunk/kernel/arch/mips32/src/ddi/ddi.c /trunk/kernel/arch/mips32/src/drivers/msim.c /trunk/kernel/arch/mips32/src/drivers/serial.c /trunk/kernel/arch/mips32/src/exception.c /trunk/kernel/arch/mips32/src/interrupt.c /trunk/kernel/arch/mips32/src/mips32.c /trunk/kernel/arch/ppc32/_link.ld.in /trunk/kernel/arch/ppc32/include/cpu.h /trunk/kernel/arch/ppc32/include/drivers/cuda.h /trunk/kernel/arch/ppc32/include/drivers/pic.h /trunk/kernel/arch/ppc32/include/exception.h /trunk/kernel/arch/ppc32/include/mm/as.h /trunk/kernel/arch/ppc32/include/mm/memory_init.h /trunk/kernel/arch/ppc32/include/mm/page.h /trunk/kernel/arch/ppc32/include/mm/tlb.h /trunk/kernel/arch/ppc32/include/types.h /trunk/kernel/arch/ppc32/src/cpu/cpu.c /trunk/kernel/arch/ppc32/src/ddi/ddi.c /trunk/kernel/arch/ppc32/src/drivers/cuda.c /trunk/kernel/arch/ppc32/src/drivers/pic.c /trunk/kernel/arch/ppc32/src/mm/memory_init.c /trunk/kernel/arch/ppc32/src/ppc32.c /trunk/kernel/arch/ppc64/_link.ld.in /trunk/kernel/arch/ppc64/include/cpu.h /trunk/kernel/arch/ppc64/include/drivers/pic.h /trunk/kernel/arch/ppc64/include/exception.h /trunk/kernel/arch/ppc64/include/mm/as.h /trunk/kernel/arch/ppc64/include/mm/memory_init.h /trunk/kernel/arch/ppc64/include/mm/page.h /trunk/kernel/arch/ppc64/include/types.h /trunk/kernel/arch/ppc64/src/cpu/cpu.c /trunk/kernel/arch/ppc64/src/ddi/ddi.c /trunk/kernel/arch/ppc64/src/drivers/pic.c /trunk/kernel/arch/ppc64/src/mm/as.c /trunk/kernel/arch/ppc64/src/mm/memory_init.c /trunk/kernel/arch/sparc64/_link.ld.in /trunk/kernel/arch/sparc64/include/asm.h /trunk/kernel/arch/sparc64/include/atomic.h /trunk/kernel/arch/sparc64/include/boot/boot.h /trunk/kernel/arch/sparc64/include/cpu.h /trunk/kernel/arch/sparc64/include/drivers/tick.h /trunk/kernel/arch/sparc64/include/drivers/z8530.h /trunk/kernel/arch/sparc64/include/interrupt.h /trunk/kernel/arch/sparc64/include/mm/as.h /trunk/kernel/arch/sparc64/include/mm/memory_init.h /trunk/kernel/arch/sparc64/include/mm/mmu.h /trunk/kernel/arch/sparc64/include/mm/page.h /trunk/kernel/arch/sparc64/include/mm/tlb.h /trunk/kernel/arch/sparc64/include/mm/tsb.h /trunk/kernel/arch/sparc64/include/syscall.h /trunk/kernel/arch/sparc64/include/trap/exception.h /trunk/kernel/arch/sparc64/include/trap/interrupt.h /trunk/kernel/arch/sparc64/include/types.h /trunk/kernel/arch/sparc64/src/console.c /trunk/kernel/arch/sparc64/src/cpu/cpu.c /trunk/kernel/arch/sparc64/src/ddi/ddi.c /trunk/kernel/arch/sparc64/src/drivers/fhc.c /trunk/kernel/arch/sparc64/src/drivers/kbd.c /trunk/kernel/arch/sparc64/src/drivers/pci.c /trunk/kernel/arch/sparc64/src/drivers/scr.c /trunk/kernel/arch/sparc64/src/drivers/tick.c /trunk/kernel/arch/sparc64/src/mm/as.c /trunk/kernel/arch/sparc64/src/mm/memory_init.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/smp/smp.c /trunk/kernel/arch/sparc64/src/trap/exception.c /trunk/kernel/arch/sparc64/src/trap/interrupt.c /trunk/kernel/arch/sparc64/src/trap/syscall.c /trunk/kernel/arch/sparc64/src/trap/trap.c /trunk/kernel/genarch/include/kbd/i8042.h /trunk/kernel/genarch/include/kbd/key.h /trunk/kernel/genarch/include/kbd/ns16550.h /trunk/kernel/genarch/include/kbd/z8530.h /trunk/kernel/genarch/include/mm/as_ht.h /trunk/kernel/genarch/include/mm/as_pt.h /trunk/kernel/genarch/include/mm/page_ht.h /trunk/kernel/genarch/include/mm/page_pt.h /trunk/kernel/genarch/include/ofw/ofw_tree.h /trunk/kernel/genarch/src/acpi/madt.c /trunk/kernel/genarch/src/fb/fb.c /trunk/kernel/genarch/src/kbd/i8042.c /trunk/kernel/genarch/src/kbd/key.c /trunk/kernel/genarch/src/kbd/ns16550.c /trunk/kernel/genarch/src/kbd/z8530.c /trunk/kernel/genarch/src/mm/as_ht.c /trunk/kernel/genarch/src/mm/as_pt.c /trunk/kernel/genarch/src/mm/asid_fifo.c /trunk/kernel/genarch/src/mm/page_ht.c /trunk/kernel/genarch/src/mm/page_pt.c /trunk/kernel/generic/include/adt/bitmap.h /trunk/kernel/generic/include/adt/btree.h /trunk/kernel/generic/include/adt/fifo.h /trunk/kernel/generic/include/adt/hash_table.h /trunk/kernel/generic/include/adt/list.h /trunk/kernel/generic/include/arch.h /trunk/kernel/generic/include/bitops.h /trunk/kernel/generic/include/config.h /trunk/kernel/generic/include/console/chardev.h /trunk/kernel/generic/include/console/cmd.h /trunk/kernel/generic/include/console/console.h /trunk/kernel/generic/include/console/kconsole.h /trunk/kernel/generic/include/context.h /trunk/kernel/generic/include/cpu.h /trunk/kernel/generic/include/ddi/ddi.h /trunk/kernel/generic/include/ddi/device.h /trunk/kernel/generic/include/ddi/irq.h /trunk/kernel/generic/include/debug.h /trunk/kernel/generic/include/fpu_context.h /trunk/kernel/generic/include/func.h /trunk/kernel/generic/include/interrupt.h /trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/include/ipc/irq.h /trunk/kernel/generic/include/ipc/sysipc.h /trunk/kernel/generic/include/lib/elf.h /trunk/kernel/generic/include/lib/rd.h /trunk/kernel/generic/include/macros.h /trunk/kernel/generic/include/main/main.h /trunk/kernel/generic/include/memstr.h /trunk/kernel/generic/include/mm/as.h /trunk/kernel/generic/include/mm/asid.h /trunk/kernel/generic/include/mm/buddy.h /trunk/kernel/generic/include/mm/frame.h /trunk/kernel/generic/include/mm/page.h /trunk/kernel/generic/include/mm/tlb.h /trunk/kernel/generic/include/printf/printf_core.h /trunk/kernel/generic/include/proc/scheduler.h /trunk/kernel/generic/include/proc/task.h /trunk/kernel/generic/include/proc/thread.h /trunk/kernel/generic/include/security/cap.h /trunk/kernel/generic/include/synch/futex.h /trunk/kernel/generic/include/synch/mutex.h /trunk/kernel/generic/include/synch/rwlock.h /trunk/kernel/generic/include/synch/semaphore.h /trunk/kernel/generic/include/synch/spinlock.h /trunk/kernel/generic/include/synch/waitq.h /trunk/kernel/generic/include/syscall/copy.h /trunk/kernel/generic/include/syscall/syscall.h /trunk/kernel/generic/include/time/timeout.h /trunk/kernel/generic/include/typedefs.h /trunk/kernel/generic/src/adt/bitmap.c /trunk/kernel/generic/src/adt/btree.c /trunk/kernel/generic/src/adt/hash_table.c /trunk/kernel/generic/src/console/cmd.c /trunk/kernel/generic/src/console/console.c /trunk/kernel/generic/src/console/kconsole.c /trunk/kernel/generic/src/cpu/cpu.c /trunk/kernel/generic/src/ddi/device.c /trunk/kernel/generic/src/ddi/irq.c /trunk/kernel/generic/src/debug/symtab.c /trunk/kernel/generic/src/lib/elf.c /trunk/kernel/generic/src/lib/func.c /trunk/kernel/generic/src/main/kinit.c /trunk/kernel/generic/src/main/main.c /trunk/kernel/generic/src/mm/as.c /trunk/kernel/generic/src/mm/backend_anon.c /trunk/kernel/generic/src/mm/backend_elf.c /trunk/kernel/generic/src/mm/backend_phys.c /trunk/kernel/generic/src/mm/buddy.c /trunk/kernel/generic/src/mm/frame.c /trunk/kernel/generic/src/mm/page.c /trunk/kernel/generic/src/mm/tlb.c /trunk/kernel/generic/src/proc/scheduler.c /trunk/kernel/generic/src/proc/task.c /trunk/kernel/generic/src/proc/the.c /trunk/kernel/generic/src/proc/thread.c /trunk/kernel/generic/src/security/cap.c /trunk/kernel/generic/src/synch/condvar.c /trunk/kernel/generic/src/synch/rwlock.c /trunk/kernel/generic/src/synch/waitq.c /trunk/kernel/generic/src/syscall/copy.c /trunk/kernel/generic/src/time/timeout.c /trunk/kernel/test/test.h /trunk/uspace/init/init.c /trunk/uspace/klog/klog.c /trunk/uspace/libc/include/as.h /trunk/uspace/libc/include/ipc/ipc.h
|