Subversion Repositories HelenOS

Rev

Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
1968 6426 d 19 h jermar /tags/ Canonize pre-0.2.0.3 tags: remove inner branches, tags and trunk directories.
The change now should reflect how those releases looked like after checkout.
 
/tags/0.1.0/SPARTAN/Makefile
/tags/0.1.0/SPARTAN/Makefile.config
/tags/0.1.0/SPARTAN/arch
/tags/0.1.0/SPARTAN/build.ia32
/tags/0.1.0/SPARTAN/clean
/tags/0.1.0/SPARTAN/contrib
/tags/0.1.0/SPARTAN/doc
/tags/0.1.0/SPARTAN/genarch
/tags/0.1.0/SPARTAN/generic
/tags/0.1.0/SPARTAN/test
/tags/0.1.0/SPARTAN/tools
/tags/0.1.0/SPARTAN/uspace
/tags/0.1.0/uspace/Makefile
/tags/0.1.0/uspace/_link.ld
/tags/0.1.0/uspace/init.c
/tags/0.1.0/uspace/libc
/tags/0.1.1/boot/Makefile
/tags/0.1.1/boot/arch
/tags/0.1.1/boot/boot.config
/tags/0.1.1/boot/tools
/tags/0.1.1/kernel/Makefile
/tags/0.1.1/kernel/arch
/tags/0.1.1/kernel/contrib
/tags/0.1.1/kernel/doc
/tags/0.1.1/kernel/genarch
/tags/0.1.1/kernel/generic
/tags/0.1.1/kernel/kernel.config
/tags/0.1.1/kernel/test
/tags/0.1.1/kernel/tools
/tags/0.1.1/uspace/Makefile
/tags/0.1.1/uspace/init
/tags/0.1.1/uspace/kbd
/tags/0.1.1/uspace/libadt
/tags/0.1.1/uspace/libc
/tags/0.1.1/uspace/ns
/tags/0.1.1/uspace/pci
/tags/0.1.1/uspace/softfloat
/tags/0.1.1/uspace/softint
/tags/0.1.1/uspace/tools
/tags/0.1.1/uspace/uspace.config
/tags/0.2.0.1/boot/Makefile
/tags/0.2.0.1/boot/arch
/tags/0.2.0.1/boot/boot.config
/tags/0.2.0.1/boot/tools
/tags/0.2.0.1/kernel/Makefile
/tags/0.2.0.1/kernel/arch
/tags/0.2.0.1/kernel/contrib
/tags/0.2.0.1/kernel/doc
/tags/0.2.0.1/kernel/genarch
/tags/0.2.0.1/kernel/generic
/tags/0.2.0.1/kernel/kernel.config
/tags/0.2.0.1/kernel/test
/tags/0.2.0.1/kernel/tools
/tags/0.2.0.1/uspace/Makefile
/tags/0.2.0.1/uspace/console
/tags/0.2.0.1/uspace/fb
/tags/0.2.0.1/uspace/init
/tags/0.2.0.1/uspace/ipcc
/tags/0.2.0.1/uspace/kbd
/tags/0.2.0.1/uspace/klog
/tags/0.2.0.1/uspace/libc
/tags/0.2.0.1/uspace/ns
/tags/0.2.0.1/uspace/pci
/tags/0.2.0.1/uspace/softfloat
/tags/0.2.0.1/uspace/softint
/tags/0.2.0.1/uspace/tetris
/tags/0.2.0.1/uspace/tools
/tags/0.2.0.1/uspace/uspace.config
/tags/0.2.0.2/boot/Makefile
/tags/0.2.0.2/boot/arch
/tags/0.2.0.2/boot/boot.config
/tags/0.2.0.2/boot/tools
/tags/0.2.0.2/kernel/Makefile
/tags/0.2.0.2/kernel/arch
/tags/0.2.0.2/kernel/contrib
/tags/0.2.0.2/kernel/doc
/tags/0.2.0.2/kernel/genarch
/tags/0.2.0.2/kernel/generic
/tags/0.2.0.2/kernel/kernel.config
/tags/0.2.0.2/kernel/test
/tags/0.2.0.2/kernel/tools
/tags/0.2.0.2/uspace/Makefile
/tags/0.2.0.2/uspace/console
/tags/0.2.0.2/uspace/doc
/tags/0.2.0.2/uspace/fb
/tags/0.2.0.2/uspace/init
/tags/0.2.0.2/uspace/ipcc
/tags/0.2.0.2/uspace/kbd
/tags/0.2.0.2/uspace/klog
/tags/0.2.0.2/uspace/libc
/tags/0.2.0.2/uspace/ns
/tags/0.2.0.2/uspace/pci
/tags/0.2.0.2/uspace/softfloat
/tags/0.2.0.2/uspace/softint
/tags/0.2.0.2/uspace/tetris
/tags/0.2.0.2/uspace/tools
/tags/0.2.0.2/uspace/uspace.config
/tags/0.2.0/boot/Makefile
/tags/0.2.0/boot/arch
/tags/0.2.0/boot/boot.config
/tags/0.2.0/boot/tools
/tags/0.2.0/kernel/Makefile
/tags/0.2.0/kernel/arch
/tags/0.2.0/kernel/contrib
/tags/0.2.0/kernel/doc
/tags/0.2.0/kernel/genarch
/tags/0.2.0/kernel/generic
/tags/0.2.0/kernel/kernel.config
/tags/0.2.0/kernel/test
/tags/0.2.0/kernel/tools
/tags/0.2.0/uspace/Makefile
/tags/0.2.0/uspace/console
/tags/0.2.0/uspace/fb
/tags/0.2.0/uspace/init
/tags/0.2.0/uspace/ipcc
/tags/0.2.0/uspace/kbd
/tags/0.2.0/uspace/klog
/tags/0.2.0/uspace/libc
/tags/0.2.0/uspace/libfb
/tags/0.2.0/uspace/ns
/tags/0.2.0/uspace/pci
/tags/0.2.0/uspace/softfloat
/tags/0.2.0/uspace/softint
/tags/0.2.0/uspace/tetris
/tags/0.2.0/uspace/tools
/tags/0.2.0/uspace/uspace.config
/tags/0.1.0/SPARTAN/trunk
/tags/0.1.0/uspace/trunk
/tags/0.1.1/boot/trunk
/tags/0.1.1/kernel/trunk
/tags/0.1.1/uspace/trunk
/tags/0.2.0.1/boot/trunk
/tags/0.2.0.1/kernel/branches
/tags/0.2.0.1/kernel/tags
/tags/0.2.0.1/kernel/trunk
/tags/0.2.0.1/uspace/trunk
/tags/0.2.0.2/boot/trunk
/tags/0.2.0.2/kernel/branches
/tags/0.2.0.2/kernel/tags
/tags/0.2.0.2/kernel/trunk
/tags/0.2.0.2/uspace/trunk
/tags/0.2.0/boot/trunk
/tags/0.2.0/kernel/branches
/tags/0.2.0/kernel/tags
/tags/0.2.0/kernel/trunk
/tags/0.2.0/uspace/trunk
1962 6426 d 20 h jermar /tags/0.1.0/ Tagging release 0.1.0  
/tags/0.1.0
430 6786 d 19 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
/SPARTAN/trunk/generic
/SPARTAN/trunk/generic/include
/SPARTAN/trunk/generic/src
/SPARTAN/trunk/include
/SPARTAN/trunk/src
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/boot/Makefile
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/sparc64/Makefile.inc
/SPARTAN/trunk/genarch/Makefile.inc
/SPARTAN/trunk/generic/src/main/kinit.c
413 6801 d 18 h jermar /SPARTAN/trunk/ Rename cpu_priority_{high|low|restore|read} functions to interrupts_{disable|enable|restore|read}.
Rename pri_t to ipl_t (Interrupt Priority Level).
Rename thread_t::pri to thread_t::priority.
 
/SPARTAN/trunk/arch/amd64/include/asm.h
/SPARTAN/trunk/arch/amd64/include/context.h
/SPARTAN/trunk/arch/amd64/include/types.h
/SPARTAN/trunk/arch/amd64/src/interrupt.c
/SPARTAN/trunk/arch/amd64/src/userspace.c
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/include/types.h
/SPARTAN/trunk/arch/ia32/src/drivers/ega.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/userspace.c
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/include/types.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/ia64/src/dummy.s
/SPARTAN/trunk/arch/mips32/include/context.h
/SPARTAN/trunk/arch/mips32/include/types.h
/SPARTAN/trunk/arch/mips32/src/drivers/arc.c
/SPARTAN/trunk/arch/mips32/src/exception.c
/SPARTAN/trunk/arch/mips32/src/interrupt.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/mips32/src/mm/vm.c
/SPARTAN/trunk/arch/ppc32/include/asm.h
/SPARTAN/trunk/arch/ppc32/include/context.h
/SPARTAN/trunk/arch/ppc32/include/types.h
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/src/debug/print.c
/SPARTAN/trunk/src/lib/func.c
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/frame.c
/SPARTAN/trunk/src/mm/heap.c
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/task.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/src/synch/rwlock.c
/SPARTAN/trunk/src/synch/semaphore.c
/SPARTAN/trunk/src/synch/waitq.c
/SPARTAN/trunk/src/time/clock.c
/SPARTAN/trunk/src/time/delay.c
/SPARTAN/trunk/src/time/timeout.c
/SPARTAN/trunk/test/synch/rwlock4/test.c
/SPARTAN/trunk/tools/amd64/gencontext.c
/SPARTAN/trunk/tools/mips32/gencontext.c
391 6814 d 19 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
389 6815 d 6 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
381 6819 d 18 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
379 6821 d 4 h jermar /SPARTAN/trunk/src/mm/ Optimize buddy_system_free().
Remove special-case code from the main codepath.
 
/SPARTAN/trunk/src/mm/buddy.c
378 6821 d 4 h jermar /SPARTAN/trunk/ Redeclare eraly_malloc() with __attribute__ ((malloc)) to improve optimizations.

Reorganize #include's in scheduler.c.

Buddy system improvements.
Make buddy_system_free() explicitly invalidate order of blocks before they are coalesced.
Add some assertions.
 
/SPARTAN/trunk/include/mm/buddy.h
/SPARTAN/trunk/include/mm/heap.h
/SPARTAN/trunk/src/mm/buddy.c
/SPARTAN/trunk/src/proc/scheduler.c
377 6823 d 21 h jermar /SPARTAN/trunk/ Generic buddy allocator.
Please review the code before it is deployed.
 
/SPARTAN/trunk/include/mm/buddy.h
/SPARTAN/trunk/src/mm/buddy.c
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/include/typedefs.h
375 6824 d 1 h jermar /SPARTAN/trunk/src/mm/ Replace free() call with early_free() call in zone_create().  
/SPARTAN/trunk/src/mm/frame.c
374 6825 d 18 h jermar /SPARTAN/trunk/ Revert previous change in frame_t as it broke IA-64.
(Most likely some alignment problem.)

Rename heap_init(), malloc() and free(), respectively, to early_heap_init(), early_malloc() and early_free(), respectively.
Define new macros malloc() and free(). They are to be replaced by real functions some day.
 
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/include/mm/heap.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/frame.c
/SPARTAN/trunk/src/mm/heap.c
373 6825 d 20 h jermar /SPARTAN/trunk/ Physical memory management work.
Add "__attribute__ ((packed))" to frame_t so that it takes up less space.
Note that this is essential as there is lot of these structures.
Remove busy list from zone_t as it is redundant.
 
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/frame.c
368 6828 d 3 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
367 6828 d 18 h jermar /SPARTAN/trunk/ Physical memory management work.
Implement zone_*() and some frame_*() functions.
 
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/src/mm/frame.c
257 6846 d 7 h palkovsky /SPARTAN/trunk/ Added basic FPU context (not working).
Added CPU utilities from ia32
Fixed bug in vm.c that wanted PTL to be mapped in bottom memory.
 
/SPARTAN/trunk/arch/amd64/src/proc
/SPARTAN/trunk/arch/amd64/src/proc/scheduler.c
/SPARTAN/trunk/arch/amd64/src/userspace.c
/SPARTAN/trunk/arch/amd64/src/fpu_context.c
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/include/asm.h
/SPARTAN/trunk/arch/amd64/src/asm_utils.S
/SPARTAN/trunk/arch/amd64/src/cpu/cpu.c
/SPARTAN/trunk/arch/amd64/src/dummy.s
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/src/build.amd64
/SPARTAN/trunk/src/mm/vm.c
251 6846 d 17 h palkovsky /SPARTAN/trunk/ Changes, that were needed to make it work on Bochs.
- We CAN use the NX bit in paging tables, but we have
to initialize the NXE bit in EFER register first.
 
/SPARTAN/trunk/arch/amd64/src/cpu
/SPARTAN/trunk/arch/amd64/src/cpu/cpu.c
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/include/cpu.h
/SPARTAN/trunk/arch/amd64/include/cpuid.h
/SPARTAN/trunk/arch/amd64/include/mm/page.h
/SPARTAN/trunk/arch/amd64/src/amd64.c
/SPARTAN/trunk/arch/amd64/src/asm_utils.S
/SPARTAN/trunk/arch/amd64/src/boot/boot.S
/SPARTAN/trunk/arch/amd64/src/dummy.s
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/src/mm/page.c
236 6848 d 0 h jermar /SPARTAN/trunk/src/ Add missing header into kinit.c.

Do not use PA2KA() on dst_ptl0.
 
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/mm/vm.c
227 6848 d 2 h jermar /SPARTAN/trunk/ Add couple of assertions CPU != NULL.

Change type of nrdy from int to count_t.

Rewrite halt() to avoid page fault when CPU == NULL.
 
/SPARTAN/trunk/arch/mips/src/exception.c
/SPARTAN/trunk/include/proc/scheduler.h
/SPARTAN/trunk/src/lib/func.c
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
226 6848 d 3 h palkovsky /SPARTAN/trunk/ Fixed typo in 'outb' instruction.
Paging basically working.
 
/SPARTAN/trunk/arch/amd64/src/interrupt.c
/SPARTAN/trunk/arch/amd64/include/asm.h
/SPARTAN/trunk/arch/amd64/include/mm/page.h
/SPARTAN/trunk/arch/amd64/src/mm/page.c
/SPARTAN/trunk/src/build.amd64
/SPARTAN/trunk/src/mm/page.c

Show All