Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
534 |
6838 d 22 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
/kernel
/SPARTAN
|
533 |
6838 d 22 h |
bondari |
/SPARTAN/trunk/ |
Buddy allocator for physical memory complete implementation.
Tested on IA32, AMD64, MIPS32. RWLock Test #5 is not passed.
NOTE: Other architectures could be broken (but should not be) |
|
/SPARTAN/trunk/Makefile.config /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/ia64/src/mm/frame.c /SPARTAN/trunk/arch/mips32/src/mm/frame.c /SPARTAN/trunk/arch/mips32/src/mm/page.c /SPARTAN/trunk/arch/ppc32/src/mm/frame.c /SPARTAN/trunk/generic/include/mm/buddy.h /SPARTAN/trunk/generic/include/mm/frame.h /SPARTAN/trunk/generic/include/typedefs.h /SPARTAN/trunk/generic/src/cpu/cpu.c /SPARTAN/trunk/generic/src/mm/buddy.c /SPARTAN/trunk/generic/src/mm/frame.c /SPARTAN/trunk/generic/src/mm/page.c /SPARTAN/trunk/generic/src/mm/vm.c /SPARTAN/trunk/generic/src/proc/thread.c
|
532 |
6838 d 23 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
/SPARTAN
/kernel
|
517 |
6847 d 19 h |
jermar |
/kernel/trunk/ |
Implement basic kernel console command recognition.
Commands without arguments are now recognized. |
|
/kernel/trunk/generic/include/macros.h
/kernel/trunk/arch/ia32/src/drivers/i8042.c /kernel/trunk/generic/include/console/console.h /kernel/trunk/generic/include/func.h /kernel/trunk/generic/include/main/kconsole.h /kernel/trunk/generic/include/typedefs.h /kernel/trunk/generic/src/console/console.c /kernel/trunk/generic/src/lib/func.c /kernel/trunk/generic/src/main/kconsole.c /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/generic/src/main/main.c
|
510 |
6850 d 18 h |
jermar |
/kernel/trunk/ |
Add chardev_t.
This type is meant to abstract any input character device such as keyboard, serial port etc.
Add stdin.
Add dummy kconsole. |
|
/kernel/trunk/generic/include/console /kernel/trunk/generic/include/console/chardev.h /kernel/trunk/generic/include/console/console.h /kernel/trunk/generic/include/main/kconsole.h /kernel/trunk/generic/src/console /kernel/trunk/generic/src/console/chardev.c /kernel/trunk/generic/src/console/console.c /kernel/trunk/generic/src/main/kconsole.c
/kernel/trunk/Makefile /kernel/trunk/arch/mips32/src/drivers/keyboard.c /kernel/trunk/arch/mips32/src/mips32.c /kernel/trunk/generic/include/typedefs.h /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/generic/src/main/main.c
|
501 |
6851 d 3 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
/kernel
/SPARTAN
|
483 |
6858 d 22 h |
jermar |
/SPARTAN/trunk/ |
For now, each architecture must use its own -O switch (-O2 doesn't work for ia64, -O3 doesn't work for mips32).
New mips32 atomic_add() function.
Cleanup. |
|
/SPARTAN/trunk/Makefile /SPARTAN/trunk/Makefile.config /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/include/atomic.h /SPARTAN/trunk/arch/mips32/include/cpu.h /SPARTAN/trunk/arch/mips32/src/interrupt.c /SPARTAN/trunk/arch/ppc32/Makefile.inc /SPARTAN/trunk/arch/sparc64/Makefile.inc /SPARTAN/trunk/generic/include/arch.h /SPARTAN/trunk/generic/include/config.h /SPARTAN/trunk/generic/include/cpu.h /SPARTAN/trunk/generic/include/proc/scheduler.h /SPARTAN/trunk/generic/include/synch/rwlock.h /SPARTAN/trunk/generic/include/typedefs.h /SPARTAN/trunk/generic/src/proc/scheduler.c /SPARTAN/trunk/test/fpu/fpu1/test.c /SPARTAN/trunk/test/fpu/mips1/test.c /SPARTAN/trunk/test/fpu/sse1/test.c /SPARTAN/trunk/test/synch/rwlock5/test.c
|
430 |
6871 d 20 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
|
410 |
6887 d 23 h |
jermar |
/SPARTAN/trunk/ |
Doxygen-style comments. |
|
/SPARTAN/trunk/doc/arch/mips32 /SPARTAN/trunk/include/proc/scheduler.h /SPARTAN/trunk/include/proc/task.h /SPARTAN/trunk/include/proc/thread.h /SPARTAN/trunk/include/synch/rwlock.h /SPARTAN/trunk/include/synch/synch.h /SPARTAN/trunk/include/synch/waitq.h /SPARTAN/trunk/include/typedefs.h
|
381 |
6904 d 19 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
|
377 |
6908 d 22 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
|
366 |
6913 d 20 h |
jermar |
/SPARTAN/trunk/include/ |
Add zone pointer to frame_t.
This will be essential for fast frame_free().
Rename frame_zone_t to zone_t.
Declare frame and zone functions to be implemented. |
|
/SPARTAN/trunk/include/mm/frame.h /SPARTAN/trunk/include/typedefs.h
|
354 |
6916 d 3 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
|
173 |
6939 d 21 h |
jermar |
/SPARTAN/trunk/ |
Preparations for weaker preemption model.
Make all kernel stacks (i.e. startup, scheduler and thread) be STACK_SIZE bytes long.
Reincarnate "the" structure. This time, it is planned to be located at the base of each and every kernel stack.
On IA-32 and MIPS, implement get_stack_base() functions. On the rest of supported platforms, define it to be dummy. |
|
/SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia64/include/asm.h /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/mips/include/asm.h /SPARTAN/trunk/arch/ppc/include/asm.h /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/config.h /SPARTAN/trunk/include/cpu.h /SPARTAN/trunk/include/proc/thread.h /SPARTAN/trunk/include/typedefs.h
|
120 |
6995 d 19 h |
jermar |
/SPARTAN/trunk/ |
Generic 4-level page tables interface & implementation (review & test).
Implement more architecture dependant macros on IA-32.
Provide fake implementation on IA-64 and MIPS.
Convert map_page_to_frame() to use the new interface.
Move adjusted map_page_to_frame() from IA-32's arch/mm/page.c to the generic mm/page.c. |
|
/SPARTAN/trunk/arch/ia32/include/mm/page.h /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia64/include/mm/page.h /SPARTAN/trunk/arch/ia64/src/fake.s /SPARTAN/trunk/arch/mips/include/mm/page.h /SPARTAN/trunk/arch/mips/src/mm/page.c /SPARTAN/trunk/include/mm/page.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/src/mm/page.c
|
102 |
7028 d 22 h |
jermar |
/SPARTAN/trunk/ |
IA-64 work.
Redefine FRAME_SIZE to "(16*1024)" instead of "2*4096". Note that the latter definition was wrong because of the lack of "()".
Take panic_printf(), cpu_halt() and memsetb() out of fake.s and implement them properly in asm.S.
Move ski_init_console() from arch_post_mm_init() to arch_pre_mm_init().
In start.S, write r0 to ar.bspstore.
Janitorial fixes.
Add count_t type.
Replace several occurrences of int and __u32 by count_t or size_t.
Shorten several panic strings. |
|
/SPARTAN/trunk/arch/ia64/include/mm/frame.h /SPARTAN/trunk/arch/ia64/src/asm.S /SPARTAN/trunk/arch/ia64/src/fake.s /SPARTAN/trunk/arch/ia64/src/ia64.c /SPARTAN/trunk/arch/ia64/src/start.S /SPARTAN/trunk/include/config.h /SPARTAN/trunk/include/mm/frame.h /SPARTAN/trunk/include/mm/heap.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/src/mm/frame.c /SPARTAN/trunk/src/mm/heap.c
|
68 |
7045 d 22 h |
decky |
/SPARTAN/trunk/ |
NDEBUG debug symbol, ASSERT debug macro, fancier panic() in debug mode
indentation fixes, ASSERTs |
|
/SPARTAN/trunk/arch/ia32/src/debug/panic.s /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/smp/mps.c /SPARTAN/trunk/arch/ia64/src/fake.s /SPARTAN/trunk/arch/mips/src/cache.c /SPARTAN/trunk/arch/mips/src/exception.c /SPARTAN/trunk/arch/mips/src/interrupt.c /SPARTAN/trunk/arch/mips/src/mm/tlb.c /SPARTAN/trunk/arch/mips/src/panic.s /SPARTAN/trunk/include/list.h /SPARTAN/trunk/include/panic.h /SPARTAN/trunk/include/print.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/src/debug/print.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/synch/rwlock.c /SPARTAN/trunk/src/time/timeout.c
|
67 |
7045 d 23 h |
decky |
/SPARTAN/trunk/ |
typedef short bool (as logical type), defines of false and true
const qualifier for list_member() |
|
/SPARTAN/trunk/include/list.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/src/lib/list.c
|
45 |
7049 d 8 h |
vana |
/SPARTAN/trunk/ |
Added fpu_context_t type.
IA-32's version of this type contains array of 512 bytes to be used by FXSAVE ... instructions. |
|
/SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/mips/include/context.h /SPARTAN/trunk/include/typedefs.h
|
40 |
7051 d 5 h |
jermar |
/SPARTAN/trunk/ |
Variable argument list support for architectures passing arguments on stack. |
|
/SPARTAN/trunk/arch/ia32/include/arg.h /SPARTAN/trunk/arch/ia64/include/arg.h /SPARTAN/trunk/arch/mips/include/arg.h /SPARTAN/trunk/include/stackarg.h
/SPARTAN/trunk/arch/ia32/include/types.h /SPARTAN/trunk/arch/ia64/include/types.h /SPARTAN/trunk/arch/mips/include/types.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/src/debug/print.c
|