Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
1251 |
6693 d 5 h |
jermar |
/kernel/trunk/ |
Fix BITS2BYTES macro to return 0 when passed 0 as argument.
Fix ia32 TSS segment granularity to be 0.
Fix ia32 and amd64 initial TSS limit to be 103.
Little textual changes here and there. |
|
/kernel/trunk/arch/amd64/include/asm.h /kernel/trunk/arch/amd64/src/pm.c /kernel/trunk/arch/ia32/include/asm.h /kernel/trunk/arch/ia32/include/smp/apic.h /kernel/trunk/arch/ia32/src/pm.c /kernel/trunk/arch/ia32/src/proc/scheduler.c /kernel/trunk/generic/include/adt/bitmap.h
|
1186 |
6708 d 3 h |
jermar |
/kernel/trunk/arch/ |
Replace assembly from pm.c with new inline functions defined in asm.h. |
|
/kernel/trunk/arch/amd64/include/asm.h /kernel/trunk/arch/amd64/src/pm.c /kernel/trunk/arch/ia32/include/asm.h /kernel/trunk/arch/ia32/src/pm.c
|
1072 |
6735 d 8 h |
palkovsky |
/kernel/trunk/ |
Added debugger to AMD64.
Added automatic debugging of AS if it is not rewritten with zero.
Did small changes to IPC infrastructure. |
|
/kernel/trunk/arch/amd64/include/debugger.h /kernel/trunk/arch/amd64/src/debugger.c /kernel/trunk/generic/include/ipc/ipcrsc.h /kernel/trunk/generic/src/ipc/ipcrsc.c
/kernel/trunk/Makefile /kernel/trunk/arch/amd64/Makefile.inc /kernel/trunk/arch/amd64/include/asm.h /kernel/trunk/arch/amd64/include/cpu.h /kernel/trunk/arch/amd64/include/interrupt.h /kernel/trunk/arch/amd64/src/amd64.c /kernel/trunk/arch/amd64/src/proc/scheduler.c /kernel/trunk/generic/include/ipc/ipc.h /kernel/trunk/generic/src/console/cmd.c /kernel/trunk/generic/src/ipc/ipc.c /kernel/trunk/generic/src/ipc/sysipc.c /kernel/trunk/kernel.config
|
984 |
6738 d 4 h |
palkovsky |
/kernel/trunk/arch/ |
Fixed invlpg for ia32 & amd64. |
|
/kernel/trunk/arch/amd64/include/asm.h /kernel/trunk/arch/ia32/include/asm.h
|
806 |
6773 d 17 h |
palkovsky |
/kernel/trunk/arch/amd64/ |
Added (finally!) userspace to AMD64.
It does not work on Simics *$U&%&$&*#. Broken simics!!!
There should be probably LEA instead of MOV/ADD, but LEA does not
work in neither qemu nor bochs. Any other simulator to test? :-/ |
|
/kernel/trunk/arch/amd64/include/asm.h /kernel/trunk/arch/amd64/include/cpu.h /kernel/trunk/arch/amd64/src/asm_utils.S /kernel/trunk/arch/amd64/src/proc/scheduler.c /kernel/trunk/arch/amd64/src/syscall.c
|
803 |
6773 d 20 h |
palkovsky |
/kernel/trunk/arch/amd64/ |
Basic amd syscall support. |
|
/kernel/trunk/arch/amd64/include/syscall.h /kernel/trunk/arch/amd64/src/syscall.c
/kernel/trunk/arch/amd64/Makefile.inc /kernel/trunk/arch/amd64/include/asm.h /kernel/trunk/arch/amd64/include/cpu.h /kernel/trunk/arch/amd64/include/pm.h /kernel/trunk/arch/amd64/src/amd64.c /kernel/trunk/arch/amd64/src/asm_utils.S /kernel/trunk/arch/amd64/src/pm.c
|
625 |
6827 d 3 h |
palkovsky |
/kernel/trunk/ |
We are now almost -Wall clean.
- redefined atomic_t
- deleted many, many unused variables
- some minor code cleanups found using compiler warning. |
|
/kernel/trunk/arch/amd64/include/asm.h /kernel/trunk/arch/amd64/src/cpu/cpu.c /kernel/trunk/arch/ia32/include/atomic.h /kernel/trunk/arch/ia32/src/fmath.c /kernel/trunk/arch/ia32/src/mm/frame.c /kernel/trunk/arch/ia32/src/smp/smp.c /kernel/trunk/arch/ia64/include/atomic.h /kernel/trunk/arch/mips32/include/atomic.h /kernel/trunk/arch/mips32/src/drivers/arc.c /kernel/trunk/arch/mips32/src/drivers/serial.c /kernel/trunk/arch/ppc32/include/atomic.h /kernel/trunk/arch/sparc64/include/atomic.h /kernel/trunk/generic/include/cpu.h /kernel/trunk/generic/include/debug.h /kernel/trunk/generic/include/synch/spinlock.h /kernel/trunk/generic/src/console/cmd.c /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/debug/symtab.c /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/mm/vm.c /kernel/trunk/generic/src/proc/scheduler.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/rwlock.c /kernel/trunk/generic/src/synch/spinlock.c /kernel/trunk/test/synch/rwlock4/test.c
|
597 |
6831 d 6 h |
jermar |
/kernel/trunk/ |
Finer grained TLB invalidate functions for ia32 and amd64. Not yet deployed. |
|
/kernel/trunk/generic/include/mm/tlb_cmd.h
/kernel/trunk/arch/amd64/include/asm.h /kernel/trunk/arch/ia32/include/asm.h /kernel/trunk/arch/ia32/src/mm/tlb.c /kernel/trunk/generic/include/mm/tlb.h
|
581 |
6832 d 7 h |
palkovsky |
/kernel/trunk/ |
Small debug changes. |
|
/kernel/trunk/arch/amd64/include/debug.h /kernel/trunk/arch/ia32/include/debug.h /kernel/trunk/arch/ia64/include/debug.h /kernel/trunk/arch/ppc32/include/debug.h /kernel/trunk/arch/sparc64/include/debug.h
/kernel/trunk/arch/amd64/include/asm.h /kernel/trunk/arch/ia32/include/asm.h /kernel/trunk/arch/mips32/include/debug.h /kernel/trunk/generic/include/debug.h /kernel/trunk/generic/src/interrupt/interrupt.c /kernel/trunk/generic/src/synch/spinlock.c
|
534 |
6838 d 0 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
/kernel
/SPARTAN
|
532 |
6838 d 0 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
/SPARTAN
/kernel
|
501 |
6850 d 5 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
/kernel
/SPARTAN
|
413 |
6885 d 20 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
|
348 |
6919 d 22 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
|
282 |
6929 d 11 h |
palkovsky |
/SPARTAN/trunk/ |
Fixed gdtr naming issues after ia32 changes.
Fixed stack alignment on new thread to by multiple of 16,
we are now ABI-correct and we do not #GP on va_arg to boot.
Fixed bad exception register names reporting.
Fixed bad _hardcoded_load_addr, which caused allocation of kernel text
frames. |
|
/SPARTAN/trunk/arch/amd64/src/fpu_context.c
/SPARTAN/trunk/arch/amd64/include/fpu_context.h
/SPARTAN/trunk/arch/amd64/_link.ld /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/include/context.h /SPARTAN/trunk/arch/amd64/include/cpu.h /SPARTAN/trunk/arch/amd64/include/cpuid.h /SPARTAN/trunk/arch/amd64/include/pm.h /SPARTAN/trunk/arch/amd64/src/amd64.c /SPARTAN/trunk/arch/amd64/src/boot/boot.S /SPARTAN/trunk/arch/amd64/src/cpu/cpu.c /SPARTAN/trunk/arch/amd64/src/interrupt.c /SPARTAN/trunk/arch/amd64/src/smp/ap.S /SPARTAN/trunk/arch/ia32/include/fpu_context.h /SPARTAN/trunk/arch/ia32/src/fpu_context.c /SPARTAN/trunk/src/build.amd64
|
268 |
6930 d 3 h |
palkovsky |
/SPARTAN/trunk/ |
Added symbol table lookup in exceptions.
This breaks ia64 & ppc architecture compiles. |
|
/SPARTAN/trunk/arch/amd64/include/boot/boot.h /SPARTAN/trunk/arch/amd64/src/smp /SPARTAN/trunk/include/symtab.h /SPARTAN/trunk/src/debug/genmap.py /SPARTAN/trunk/src/debug/symtab.c
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/_link.ld /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/amd64/src/interrupt.c /SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/include/smp/apic.h /SPARTAN/trunk/arch/ia32/src/acpi/acpi.c /SPARTAN/trunk/arch/ia32/src/acpi/madt.c /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/mips/Makefile.inc /SPARTAN/trunk/arch/mips/_link.ld /SPARTAN/trunk/arch/mips/src/mm/tlb.c /SPARTAN/trunk/src/Makefile /SPARTAN/trunk/src/build.amd64
|
257 |
6930 d 10 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
|
253 |
6930 d 11 h |
jermar |
/SPARTAN/trunk/arch/ |
Implement PPC's get_stack_base().
Comment AMD64's get_stack_base(). |
|
/SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/ppc/include/asm.h
|
252 |
6930 d 12 h |
palkovsky |
/SPARTAN/trunk/arch/amd64/ |
Added volatile to inb/outb, so that it does not optimeze
lot of things out anymore.
Working delay loop. |
|
/SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/src/amd64.c /SPARTAN/trunk/arch/amd64/src/asm_utils.S /SPARTAN/trunk/arch/amd64/src/delay.S /SPARTAN/trunk/arch/amd64/src/dummy.s
|
226 |
6932 d 5 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
|
224 |
6932 d 10 h |
palkovsky |
/SPARTAN/trunk/arch/ |
Interrupts for amd64. |
|
/SPARTAN/trunk/arch/amd64/src/asm_utils.S
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/include/pm.h /SPARTAN/trunk/arch/amd64/src/boot/memmap.S /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/amd64/src/pm.c /SPARTAN/trunk/arch/ia32/src/interrupt.c
|
219 |
6932 d 19 h |
palkovsky |
/SPARTAN/trunk/ |
Fixed bad type in frame.c.
Amd64 prints banner. |
|
/SPARTAN/trunk/arch/amd64/src/mm /SPARTAN/trunk/arch/amd64/src/mm/page.c
/SPARTAN/trunk/arch/amd64/include/mm/memory_init.h
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/src/boot/memmap.S /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/src/build.amd64 /SPARTAN/trunk/src/mm/frame.c
|
216 |
6932 d 20 h |
palkovsky |
/SPARTAN/trunk/ |
hardcoded_symbol fixed into linker script on amd64/ia32/mips architecture |
|
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/_link.ld /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/mips/_link.ld /SPARTAN/trunk/src/build.amd64
|
206 |
6933 d 9 h |
palkovsky |
/SPARTAN/trunk/ |
Better types for ia32 drivers, so that they can be reused in amd64.
Build script cleanup amd64.
New code / not working yet / in amd64. |
|
/SPARTAN/trunk/arch/amd64/src/amd64.c /SPARTAN/trunk/arch/amd64/src/delay.S
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/include/interrupt.h /SPARTAN/trunk/arch/amd64/include/pm.h /SPARTAN/trunk/arch/amd64/include/types.h /SPARTAN/trunk/arch/amd64/src/boot/boot.S /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/amd64/src/pm.c /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/pm.h /SPARTAN/trunk/arch/ia32/src/acpi/acpi.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/src/build.amd64 /SPARTAN/trunk/src/clean.amd64
|
200 |
6933 d 21 h |
palkovsky |
/SPARTAN/trunk/ |
Added putchar to AMD |
|
/SPARTAN/trunk/arch/amd64/src/gencontext.c /SPARTAN/trunk/arch/amd64/src/supplib.c
/SPARTAN/trunk/arch/amd64/src/putchar.c
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/include/memstr.h /SPARTAN/trunk/src/build.amd64 /SPARTAN/trunk/src/lib/memstr.c
|
197 |
6933 d 23 h |
palkovsky |
/SPARTAN/trunk/ |
Context-save/restore in AMD64 |
|
/SPARTAN/trunk/arch/amd64/src/context.S
/SPARTAN/trunk/arch/amd64/Makefile.inc /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/dummy.s /SPARTAN/trunk/src/build.amd64
|
173 |
6938 d 23 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
|
164 |
6947 d 1 h |
palkovsky |
/SPARTAN/trunk/ |
Basics for amd64 architecture. It does compile, but it does not work yet. |
|
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/_link.ld /SPARTAN/trunk/arch/amd64/boot /SPARTAN/trunk/arch/amd64/boot/boot.S /SPARTAN/trunk/arch/amd64/boot/boot.ld /SPARTAN/trunk/arch/amd64/include /SPARTAN/trunk/arch/amd64/include/arg.h /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/include/atomic.h /SPARTAN/trunk/arch/amd64/include/barrier.h /SPARTAN/trunk/arch/amd64/include/context.h /SPARTAN/trunk/arch/amd64/include/cpu.h /SPARTAN/trunk/arch/amd64/include/faddr.h /SPARTAN/trunk/arch/amd64/include/fpu_context.h /SPARTAN/trunk/arch/amd64/include/interrupt.h /SPARTAN/trunk/arch/amd64/include/mm /SPARTAN/trunk/arch/amd64/include/mm/frame.h /SPARTAN/trunk/arch/amd64/include/mm/memory_init.h /SPARTAN/trunk/arch/amd64/include/mm/page.h /SPARTAN/trunk/arch/amd64/include/mm/vm.h /SPARTAN/trunk/arch/amd64/include/pm.h /SPARTAN/trunk/arch/amd64/include/thread.h /SPARTAN/trunk/arch/amd64/include/types.h /SPARTAN/trunk/arch/amd64/src /SPARTAN/trunk/arch/amd64/src/boot /SPARTAN/trunk/arch/amd64/src/boot/boot.S /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/amd64/src/fpu_context.c /SPARTAN/trunk/arch/amd64/src/putchar.c /SPARTAN/trunk/src/build.amd64 /SPARTAN/trunk/src/clean.amd64
|