Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
501 |
6879 d 9 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
/kernel
/SPARTAN
|
483 |
6887 d 4 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 |
6900 d 1 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 |
6916 d 4 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 |
6933 d 1 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 |
6937 d 4 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 |
6942 d 2 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 |
6944 d 9 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 |
6968 d 3 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 |
7024 d 0 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 |
7057 d 4 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 |
7074 d 4 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 |
7074 d 4 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 |
7077 d 14 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 |
7079 d 11 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
|
16 |
7105 d 7 h |
jermar |
/SPARTAN/trunk/ |
Switch from mm-based 'the' mechanism to macro-based 'cpu_private_data[CPU_ID_ARCH]' mechanism.
Added l_apic_id() and some other minor APIC changes.
Move gdtr to K_DATA_START section.
Move K_DATA_START section immediately behind K_TEXT_START section so that real-mode addresses work even with growing size of kernel code. |
|
/SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/boot/boot.ld /SPARTAN/trunk/arch/ia32/include/cpu.h /SPARTAN/trunk/arch/ia32/include/smp/apic.h /SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/mips/include/cpu.h /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/cpu.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/cpu/cpu.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/thread.c
|
1 |
7156 d 6 h |
jermar |
/SPARTAN/ |
Initial import |
|
/SPARTAN /SPARTAN/branches /SPARTAN/tags /SPARTAN/trunk /SPARTAN/trunk/arch /SPARTAN/trunk/arch/ia32 /SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/boot /SPARTAN/trunk/arch/ia32/boot/Makefile /SPARTAN/trunk/arch/ia32/boot/boot.S /SPARTAN/trunk/arch/ia32/boot/boot.ld /SPARTAN/trunk/arch/ia32/include /SPARTAN/trunk/arch/ia32/include/ap.h /SPARTAN/trunk/arch/ia32/include/apic.h /SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/atomic.h /SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/include/cpu.h /SPARTAN/trunk/arch/ia32/include/cpuid.h /SPARTAN/trunk/arch/ia32/include/ega.h /SPARTAN/trunk/arch/ia32/include/i8042.h /SPARTAN/trunk/arch/ia32/include/i8254.h /SPARTAN/trunk/arch/ia32/include/i8259.h /SPARTAN/trunk/arch/ia32/include/interrupt.h /SPARTAN/trunk/arch/ia32/include/mm /SPARTAN/trunk/arch/ia32/include/mm/frame.h /SPARTAN/trunk/arch/ia32/include/mm/page.h /SPARTAN/trunk/arch/ia32/include/mm/vm.h /SPARTAN/trunk/arch/ia32/include/mp.h /SPARTAN/trunk/arch/ia32/include/pm.h /SPARTAN/trunk/arch/ia32/include/thread.h /SPARTAN/trunk/arch/ia32/include/types.h /SPARTAN/trunk/arch/ia32/src /SPARTAN/trunk/arch/ia32/src/asm.s /SPARTAN/trunk/arch/ia32/src/boot /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/context.s /SPARTAN/trunk/arch/ia32/src/cpu /SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/cpuid.s /SPARTAN/trunk/arch/ia32/src/debug /SPARTAN/trunk/arch/ia32/src/debug/panic.s /SPARTAN/trunk/arch/ia32/src/delay.s /SPARTAN/trunk/arch/ia32/src/drivers /SPARTAN/trunk/arch/ia32/src/drivers/ega.c /SPARTAN/trunk/arch/ia32/src/drivers/i8042.c /SPARTAN/trunk/arch/ia32/src/drivers/i8254.c /SPARTAN/trunk/arch/ia32/src/drivers/i8259.c /SPARTAN/trunk/arch/ia32/src/ia32.c /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/ia32/src/mm /SPARTAN/trunk/arch/ia32/src/mm/frame.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/mm/tlb.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/smp /SPARTAN/trunk/arch/ia32/src/smp/ap.S /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/ia32/src/smp/atomic.S /SPARTAN/trunk/arch/ia32/src/smp/mp.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/arch/mips /SPARTAN/trunk/arch/mips/Makefile.inc /SPARTAN/trunk/arch/mips/_link.ld /SPARTAN/trunk/arch/mips/boot /SPARTAN/trunk/arch/mips/boot/Makefile /SPARTAN/trunk/arch/mips/boot/boot.s /SPARTAN/trunk/arch/mips/include /SPARTAN/trunk/arch/mips/include/asm /SPARTAN/trunk/arch/mips/include/asm.h /SPARTAN/trunk/arch/mips/include/asm/macro.h /SPARTAN/trunk/arch/mips/include/atomic.h /SPARTAN/trunk/arch/mips/include/cache.h /SPARTAN/trunk/arch/mips/include/context.h /SPARTAN/trunk/arch/mips/include/cp0.h /SPARTAN/trunk/arch/mips/include/cpu.h /SPARTAN/trunk/arch/mips/include/exception.h /SPARTAN/trunk/arch/mips/include/interrupt.h /SPARTAN/trunk/arch/mips/include/mm /SPARTAN/trunk/arch/mips/include/mm/frame.h /SPARTAN/trunk/arch/mips/include/mm/page.h /SPARTAN/trunk/arch/mips/include/mm/tlb.h /SPARTAN/trunk/arch/mips/include/mm/vm.h /SPARTAN/trunk/arch/mips/include/thread.h /SPARTAN/trunk/arch/mips/include/types.h /SPARTAN/trunk/arch/mips/src /SPARTAN/trunk/arch/mips/src/asm.s /SPARTAN/trunk/arch/mips/src/cache.c /SPARTAN/trunk/arch/mips/src/context.S /SPARTAN/trunk/arch/mips/src/cpu /SPARTAN/trunk/arch/mips/src/cpu/cpu.c /SPARTAN/trunk/arch/mips/src/exception.c /SPARTAN/trunk/arch/mips/src/fake.s /SPARTAN/trunk/arch/mips/src/interrupt.c /SPARTAN/trunk/arch/mips/src/lib /SPARTAN/trunk/arch/mips/src/lib/memstr.c /SPARTAN/trunk/arch/mips/src/mips.c /SPARTAN/trunk/arch/mips/src/mm /SPARTAN/trunk/arch/mips/src/mm/frame.c /SPARTAN/trunk/arch/mips/src/mm/page.c /SPARTAN/trunk/arch/mips/src/mm/tlb.c /SPARTAN/trunk/arch/mips/src/panic.s /SPARTAN/trunk/arch/mips/src/putchar.c /SPARTAN/trunk/arch/mips/src/start.S /SPARTAN/trunk/arch/powerpc /SPARTAN/trunk/arch/powerpc/Makefile.inc /SPARTAN/trunk/arch/powerpc/_link.ld /SPARTAN/trunk/arch/powerpc/boot /SPARTAN/trunk/arch/powerpc/boot/Makefile /SPARTAN/trunk/arch/powerpc/boot/boot.s /SPARTAN/trunk/arch/powerpc/src /SPARTAN/trunk/arch/powerpc/src/powerpc.c /SPARTAN/trunk/doc /SPARTAN/trunk/doc/TODO /SPARTAN/trunk/doc/mips /SPARTAN/trunk/doc/preemption /SPARTAN/trunk/doc/requirements /SPARTAN/trunk/doc/synchronization /SPARTAN/trunk/include /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/config.h /SPARTAN/trunk/include/context.h /SPARTAN/trunk/include/cpu.h /SPARTAN/trunk/include/func.h /SPARTAN/trunk/include/list.h /SPARTAN/trunk/include/main /SPARTAN/trunk/include/main/kinit.h /SPARTAN/trunk/include/main/uinit.h /SPARTAN/trunk/include/memstr.h /SPARTAN/trunk/include/mm /SPARTAN/trunk/include/mm/frame.h /SPARTAN/trunk/include/mm/heap.h /SPARTAN/trunk/include/mm/page.h /SPARTAN/trunk/include/mm/tlb.h /SPARTAN/trunk/include/mm/vm.h /SPARTAN/trunk/include/panic.h /SPARTAN/trunk/include/print.h /SPARTAN/trunk/include/proc /SPARTAN/trunk/include/proc/scheduler.h /SPARTAN/trunk/include/proc/task.h /SPARTAN/trunk/include/proc/thread.h /SPARTAN/trunk/include/putchar.h /SPARTAN/trunk/include/synch /SPARTAN/trunk/include/synch/condvar.h /SPARTAN/trunk/include/synch/mutex.h /SPARTAN/trunk/include/synch/rwlock.h /SPARTAN/trunk/include/synch/semaphore.h /SPARTAN/trunk/include/synch/spinlock.h /SPARTAN/trunk/include/synch/synch.h /SPARTAN/trunk/include/synch/waitq.h /SPARTAN/trunk/include/test.h /SPARTAN/trunk/include/time /SPARTAN/trunk/include/time/clock.h /SPARTAN/trunk/include/time/delay.h /SPARTAN/trunk/include/time/timeout.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/include/userspace.h /SPARTAN/trunk/src /SPARTAN/trunk/src/Makefile /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/cpu /SPARTAN/trunk/src/cpu/cpu.c /SPARTAN/trunk/src/debug /SPARTAN/trunk/src/debug/print.c /SPARTAN/trunk/src/lib /SPARTAN/trunk/src/lib/func.c /SPARTAN/trunk/src/lib/list.c /SPARTAN/trunk/src/main /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/main/uinit.c /SPARTAN/trunk/src/mm /SPARTAN/trunk/src/mm/frame.c /SPARTAN/trunk/src/mm/heap.c /SPARTAN/trunk/src/mm/page.c /SPARTAN/trunk/src/mm/tlb.c /SPARTAN/trunk/src/mm/vm.c /SPARTAN/trunk/src/proc /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/task.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/synch /SPARTAN/trunk/src/synch/condvar.c /SPARTAN/trunk/src/synch/mutex.c /SPARTAN/trunk/src/synch/rwlock.c /SPARTAN/trunk/src/synch/semaphore.c /SPARTAN/trunk/src/synch/spinlock.c /SPARTAN/trunk/src/synch/waitq.c /SPARTAN/trunk/src/time /SPARTAN/trunk/src/time/clock.c /SPARTAN/trunk/src/time/delay.c /SPARTAN/trunk/src/time/timeout.c /SPARTAN/trunk/test /SPARTAN/trunk/test/synch /SPARTAN/trunk/test/synch/rwlock1 /SPARTAN/trunk/test/synch/rwlock1/test.c /SPARTAN/trunk/test/synch/rwlock2 /SPARTAN/trunk/test/synch/rwlock2/test.c /SPARTAN/trunk/test/synch/rwlock3 /SPARTAN/trunk/test/synch/rwlock3/test.c /SPARTAN/trunk/test/synch/rwlock4 /SPARTAN/trunk/test/synch/rwlock4/test.c /SPARTAN/trunk/test/synch/rwlock5 /SPARTAN/trunk/test/synch/rwlock5/test.c /SPARTAN/trunk/test/synch/semaphore1 /SPARTAN/trunk/test/synch/semaphore1/test.c /SPARTAN/trunk/test/synch/semaphore2 /SPARTAN/trunk/test/synch/semaphore2/test.c
|