Subversion Repositories HelenOS

Rev

Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
412 6863 d 13 h jermar /SPARTAN/trunk/arch/ia64/src/ IA-64 work.
context_save() doesn't have to restore ar.pfs as it is a leaf procedure.
Get rid of assembler warning for start.S.
 
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/ia64/src/start.S
408 6865 d 9 h decky /SPARTAN/trunk/ IA32 has_cpuid() inline
minor indentation fixes
 
/SPARTAN/trunk/arch/ia32/src/cpuid.s
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/include/cpuid.h
/SPARTAN/trunk/contrib/conf/dot.bochsrc
406 6868 d 1 h jermar /SPARTAN/trunk/arch/ Fix directives for K_TEXT_START, K_TEXT_START_2 and K_DATA_START sections to be more descriptive about section's content.
Remove LOAD(0xdeadbeaf) from ia32 linker script.
Remove __fake from amd64 pm.c.
 
/SPARTAN/trunk/arch/amd64/src/boot/boot.S
/SPARTAN/trunk/arch/amd64/src/pm.c
/SPARTAN/trunk/arch/amd64/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/_link.ld.in
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/boot/memmap.S
/SPARTAN/trunk/arch/ia32/src/smp/ap.S
403 6870 d 2 h jermar /SPARTAN/trunk/arch/ Small improvement in pte_t type definition.  
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/mips32/include/mm/page.h
/SPARTAN/trunk/arch/mips32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/include/types.h
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
402 6870 d 11 h jermar /SPARTAN/trunk/ Add ALIGN() macro.

Fix usage of early_mapping() in main.c.
The previous version would not map part of the heap.
Please, review.
 
/SPARTAN/trunk/include/align.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/src/main/main.c
399 6872 d 23 h jermar /SPARTAN/trunk/ mips32 memory management work.
TLB exceptions seem to be working on at least simics.
msim handles TLB Refill and TLB Invalid exceptions well,
but seems to skip writes to the mapped addressies in mm
mapping test #1 (the data is not written and exception
is not triggered).
 
/SPARTAN/trunk/arch/mips32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
/SPARTAN/trunk/test/mm/mapping1/test.c
398 6873 d 11 h jermar /SPARTAN/trunk/ Add arch directory for sparc64.  
/SPARTAN/trunk/arch/sparc64
/SPARTAN/trunk/doc/arch/sparc64
397 6873 d 13 h jermar /SPARTAN/trunk/ Small changes to mips32 mm.
Small changes in mm mapping test #1.
 
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
/SPARTAN/trunk/arch/mips32/src/mm/vm.c
/SPARTAN/trunk/test/mm/mapping1/test.c
396 6874 d 10 h jermar /SPARTAN/trunk/ Add mm/mapping1 test.
(Will not make it past TLB Invalid exception on mips32.)
Fixes in asid.c.
Make TLB register types union with __u32 value.
Implement tlb_invalidate() for mips32.
(TLB invalidation and shootdown path will have to be revised.)
 
/SPARTAN/trunk/test/mm
/SPARTAN/trunk/test/mm/mapping1
/SPARTAN/trunk/test/mm/mapping1/test.c
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/arch/ia32/src/mm/tlb.c
/SPARTAN/trunk/arch/mips32/include/mm/asid.h
/SPARTAN/trunk/arch/mips32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/src/mm/asid.c
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
/SPARTAN/trunk/arch/mips32/src/mm/vm.c
/SPARTAN/trunk/include/mm/tlb.h
395 6875 d 1 h jermar /SPARTAN/trunk/arch/mips32/src/mm/ Small fix.
MIPS32 pte_t.c is not bool.
 
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
394 6875 d 1 h jermar /SPARTAN/trunk/arch/mips32/ MIPS32 memory management work.
Fix some bugs introduced yesterday (PTL3 index is indeed calculated by >> 14).
Introduce two new bits in pte_t (i.e. 'a' and 'w').
Implement TLB Invalid Exception and TLB Modified Exception. (Needs review and testing)
 
/SPARTAN/trunk/arch/mips32/include/mm/page.h
/SPARTAN/trunk/arch/mips32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/include/types.h
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
393 6875 d 3 h bondari /SPARTAN/trunk/arch/ia32/include/ Comments fixed  
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/memstr.h
392 6875 d 3 h bondari /SPARTAN/trunk/arch/ia32/ Last inline functions for IA-32  
/SPARTAN/trunk/arch/ia32/include/memstr.h
/SPARTAN/trunk/arch/ia32/src/asm.S
/SPARTAN/trunk/arch/ia32/src/ia32.c
391 6876 d 0 h jermar /SPARTAN/trunk/ mips32 memory management work.
TLB Refill Exception implemented (passed basic testing).
Remove bit g from struct entry_hi.
Add generic find_mapping().
Add asid to vm_t type, define asid_t to hide architecture specific differences.
Implement ASID allocation for mips32, dummy for other architectures.
Add THE->vm (a.k.a. VM).
Add vm_install_arch().
Move pte_t definition to arch/types.h on each architecture.
Fix PTL manipulating functions on mips32 to shift pfn by 12 instead of by 14.
Fix tlb_init_arch() to initialize all entries.

Other.
Remove unnecessary header files from arch.h
Add missing headers here and there.
Remove two unnecessary ld flags from mips32 makefile.
 
/SPARTAN/trunk/arch/amd64/include/mm/asid.h
/SPARTAN/trunk/arch/ia32/include/mm/asid.h
/SPARTAN/trunk/arch/ia64/include/mm/asid.h
/SPARTAN/trunk/arch/mips32/src/mm/vm.c
/SPARTAN/trunk/arch/ppc32/include/mm/asid.h
/SPARTAN/trunk/arch/amd64/include/mm/page.h
/SPARTAN/trunk/arch/amd64/include/mm/vm.h
/SPARTAN/trunk/arch/amd64/include/types.h
/SPARTAN/trunk/arch/amd64/src/cpu/cpu.c
/SPARTAN/trunk/arch/amd64/src/interrupt.c
/SPARTAN/trunk/arch/ia32/include/mm/page.h
/SPARTAN/trunk/arch/ia32/include/mm/vm.h
/SPARTAN/trunk/arch/ia32/include/types.h
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia64/include/mm/page.h
/SPARTAN/trunk/arch/ia64/include/mm/vm.h
/SPARTAN/trunk/arch/ia64/include/types.h
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/include/cp0.h
/SPARTAN/trunk/arch/mips32/include/mm/asid.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/types.h
/SPARTAN/trunk/arch/mips32/src/exception.c
/SPARTAN/trunk/arch/mips32/src/mips32.c
/SPARTAN/trunk/arch/mips32/src/mm/asid.c
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
/SPARTAN/trunk/arch/ppc32/include/mm/page.h
/SPARTAN/trunk/arch/ppc32/include/mm/vm.h
/SPARTAN/trunk/arch/ppc32/include/types.h
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/include/mm/vm.h
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/mm/page.c
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc/the.c
/SPARTAN/trunk/src/time/clock.c
390 6876 d 0 h bondari /SPARTAN/trunk/arch/ia32/ ia-32 memcmp inline  
/SPARTAN/trunk/arch/ia32/include/memstr.h
/SPARTAN/trunk/arch/ia32/src/asm.S
389 6876 d 11 h jermar /SPARTAN/trunk/ MIPS work.
Fix some name inconsistencies between cp0 functions' declarations and definitions.
Add and implement tlb_init_arch().
Add tlb_modified() exception handler.

Other architectures: add dummy tlb_init_arch().
 
/SPARTAN/trunk/arch/amd64/include/mm/tlb.h
/SPARTAN/trunk/arch/ia32/include/mm/tlb.h
/SPARTAN/trunk/arch/ia64/include/mm/tlb.h
/SPARTAN/trunk/arch/ppc32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/include/cp0.h
/SPARTAN/trunk/arch/mips32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/src/asm.S
/SPARTAN/trunk/arch/mips32/src/exception.c
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
/SPARTAN/trunk/include/mm/tlb.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/tlb.c
388 6877 d 9 h jermar /SPARTAN/trunk/arch/ia64/src/ IA-64 work.
Map interrupt vectors to their names.
 
/SPARTAN/trunk/arch/ia64/src/interrupt_handler.c
381 6881 d 0 h jermar /SPARTAN/trunk/ Make cross-compiler the default compiler on IA-32.
For native compilations, use ./build.ia32 native.

Small changes elsewhere.
 
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/_link.ld.in
/SPARTAN/trunk/arch/ia32/src/asm.S
/SPARTAN/trunk/build.ia32
/SPARTAN/trunk/include/fpu_context.h
/SPARTAN/trunk/include/mm/buddy.h
/SPARTAN/trunk/include/mm/heap.h
/SPARTAN/trunk/include/typedefs.h
/SPARTAN/trunk/src/mm/buddy.c
376 6885 d 6 h jermar /SPARTAN/trunk/ Move kernel build files one level up the directory tree.
Fix paths in your testing environment!
 
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/build.amd64
/SPARTAN/trunk/build.ia32
/SPARTAN/trunk/build.ia64
/SPARTAN/trunk/build.mips32
/SPARTAN/trunk/build.ppc32
/SPARTAN/trunk/clean.amd64
/SPARTAN/trunk/clean.ia32
/SPARTAN/trunk/clean.ia64
/SPARTAN/trunk/clean.mips32
/SPARTAN/trunk/clean.ppc32
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/build.amd64
/SPARTAN/trunk/src/build.ia32
/SPARTAN/trunk/src/build.ia64
/SPARTAN/trunk/src/build.mips32
/SPARTAN/trunk/src/build.ppc32
/SPARTAN/trunk/src/clean.amd64
/SPARTAN/trunk/src/clean.ia32
/SPARTAN/trunk/src/clean.ia64
/SPARTAN/trunk/src/clean.mips32
/SPARTAN/trunk/src/clean.ppc32
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/boot/Makefile
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/boot/Makefile
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/boot/Makefile
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/boot/Makefile
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/ppc32/boot/Makefile
/SPARTAN/trunk/contrib/conf/SPMIPS.simics
/SPARTAN/trunk/contrib/conf/dot.bochsrc
/SPARTAN/trunk/contrib/conf/ski.conf
372 6888 d 8 h cejka /SPARTAN/trunk/arch/ia32/src/mm/ Memmap print fixed.  
/SPARTAN/trunk/arch/ia32/src/mm/memory_init.c
371 6889 d 0 h jermar /SPARTAN/trunk/arch/ia32/src/ Complete map_kernel() in boot.S to map the entire 4G space.

Change IA-32 frame_arch_init() to add zone with lower base addresses first.
 
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/mm/frame.c
370 6889 d 1 h jermar /SPARTAN/trunk/arch/ia32/src/acpi/ During MADT parse, count only enabled CPUs.  
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
368 6889 d 9 h jermar /SPARTAN/trunk/ Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap.
 
/SPARTAN/trunk/arch/ia64/src/mm
/SPARTAN/trunk/arch/ia64/src/mm/frame.c
/SPARTAN/trunk/arch/amd64/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/mm/frame.c
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/src/dummy.s
/SPARTAN/trunk/arch/mips32/src/mm/frame.c
/SPARTAN/trunk/arch/ppc32/src/mm/frame.c
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/src/mm/frame.c
364 6890 d 12 h palkovsky /SPARTAN/trunk/ Added support for msim with 4kc instructions.
Fixed support for upstream msim.

Small boot fix on Indy.
 
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/src/drivers/arc.c
/SPARTAN/trunk/src/build.mips32
363 6891 d 1 h jermar /SPARTAN/trunk/arch/ Fix copyright notices.  
/SPARTAN/trunk/arch/amd64/include/memstr.h
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/memstr.h
/SPARTAN/trunk/arch/ia64/include/memstr.h
/SPARTAN/trunk/arch/mips32/include/memstr.h
/SPARTAN/trunk/arch/ppc32/include/memstr.h
361 6891 d 2 h bondari /SPARTAN/trunk/ Memory routines per-arch declations for future implementation  
/SPARTAN/trunk/arch/amd64/include/memstr.h
/SPARTAN/trunk/arch/ia32/include/memstr.h
/SPARTAN/trunk/arch/ia64/include/memstr.h
/SPARTAN/trunk/arch/mips32/include/memstr.h
/SPARTAN/trunk/arch/ppc32/include/memstr.h
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/include/memstr.h
359 6892 d 1 h bondari /SPARTAN/trunk/arch/ia32/include/ I think some comments to the algoritm would be helful  
/SPARTAN/trunk/arch/ia32/include/asm.h
358 6892 d 1 h bondari /SPARTAN/trunk/ built-in memcpy is not used anymore on IA-32.
IA-32 memcpy is now fast and inline.
 
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/src/asm.S
/SPARTAN/trunk/include/memstr.h
357 6892 d 2 h bondari /SPARTAN/trunk/arch/ia32/src/ small fix  
/SPARTAN/trunk/arch/ia32/src/asm.S
356 6892 d 3 h bondari /SPARTAN/trunk/arch/ia32/ Get from port functions are now inline  
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/src/asm.S
354 6892 d 8 h jermar /SPARTAN/trunk/ Physical memory management work.
Define structures for frame zones and frames.

Add some comments.
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/include/typedefs.h
353 6892 d 13 h bondari /SPARTAN/trunk/arch/ia32/ Outb, outw, outl are now inline functions  
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/src/asm.S
352 6893 d 1 h bondari /SPARTAN/trunk/arch/ia32/ outb inline function  
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/src/asm.S
349 6895 d 1 h jermar /SPARTAN/trunk/ Optimize sorting functions so that malloc() and free() is called only for e_size > EBUFSIZE.
Smaller buffers are allocated directly on the stack.

Some copyright holder fixes on some files written by Ondrej Palkovsky.
 
/SPARTAN/trunk/arch/amd64/include/mm/frame.h
/SPARTAN/trunk/arch/amd64/include/mm/page.h
/SPARTAN/trunk/arch/amd64/include/mm/vm.h
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
/SPARTAN/trunk/src/lib/sort.c
348 6897 d 1 h jermar /SPARTAN/trunk/arch/ Optimize some assembler functions.  
/SPARTAN/trunk/arch/amd64/include/asm.h
/SPARTAN/trunk/arch/amd64/src/asm_utils.S
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/cpuid.h
/SPARTAN/trunk/arch/ia32/src/cpuid.s
/SPARTAN/trunk/arch/ia32/src/delay.s
347 6897 d 2 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
345 6898 d 2 h palkovsky /SPARTAN/trunk/arch/mips32/include/  
/SPARTAN/trunk/arch/mips32/include/byteorder.h
/SPARTAN/trunk/arch/mips32/include/drivers/arc.h
344 6898 d 2 h palkovsky /SPARTAN/trunk/ Added more code to arc.
Fixed bad name in byteorder.h
 
/SPARTAN/trunk/arch/mips32/include/byteorder.h
/SPARTAN/trunk/arch/mips32/include/drivers/arc.h
/SPARTAN/trunk/arch/mips32/src/drivers/arc.c
/SPARTAN/trunk/arch/mips32/src/mips32.c
/SPARTAN/trunk/doc/requirements
343 6898 d 9 h jermar /SPARTAN/trunk/ Finish renaming of mips and ppc ports.  
/SPARTAN/trunk/arch/ppc32/src/ppc32.c
/SPARTAN/trunk/contrib/toolchain/toolchain.mipseb32.sh
/SPARTAN/trunk/contrib/toolchain/toolchain.mipsel32.sh
/SPARTAN/trunk/contrib/toolchain/toolchain.ppc32.sh
/SPARTAN/trunk/arch/ppc32/src/ppc.c
/SPARTAN/trunk/contrib/toolchain/toolchain.mipseb.sh
/SPARTAN/trunk/contrib/toolchain/toolchain.mipsel.sh
/SPARTAN/trunk/contrib/toolchain/toolchain.ppc.sh
/SPARTAN/trunk/arch/ppc32/Makefile.inc
342 6898 d 9 h jermar /SPARTAN/trunk/arch/ Rename ppc port to ppc32.  
/SPARTAN/trunk/arch/mips32/src/mips32.c
/SPARTAN/trunk/arch/ppc32
/SPARTAN/trunk/arch/mips32/src/mips.c
/SPARTAN/trunk/arch/ppc
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/ppc32/include/arch.h
/SPARTAN/trunk/arch/ppc32/include/arg.h
/SPARTAN/trunk/arch/ppc32/include/asm.h
/SPARTAN/trunk/arch/ppc32/include/asm/macro.h
/SPARTAN/trunk/arch/ppc32/include/atomic.h
/SPARTAN/trunk/arch/ppc32/include/barrier.h
/SPARTAN/trunk/arch/ppc32/include/byteorder.h
/SPARTAN/trunk/arch/ppc32/include/context.h
/SPARTAN/trunk/arch/ppc32/include/cpu.h
/SPARTAN/trunk/arch/ppc32/include/drivers/ofw.h
/SPARTAN/trunk/arch/ppc32/include/faddr.h
/SPARTAN/trunk/arch/ppc32/include/fmath.h
/SPARTAN/trunk/arch/ppc32/include/fpu_context.h
/SPARTAN/trunk/arch/ppc32/include/interrupt.h
/SPARTAN/trunk/arch/ppc32/include/mm/frame.h
/SPARTAN/trunk/arch/ppc32/include/mm/memory_init.h
/SPARTAN/trunk/arch/ppc32/include/mm/page.h
/SPARTAN/trunk/arch/ppc32/include/mm/vm.h
/SPARTAN/trunk/arch/ppc32/include/thread.h
/SPARTAN/trunk/arch/ppc32/include/types.h