Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
938 |
6739 d 18 h |
jermar |
/kernel/trunk/ |
Basic support for loading ELF object files.
ia64, amd64, ia32 working.
mips32 requires some attention. |
|
/kernel/trunk/generic/src/lib/elf.c
/kernel/trunk/generic/include/elf32.h /kernel/trunk/generic/include/elf64.h /kernel/trunk/generic/src/lib/elf32.c /kernel/trunk/generic/src/lib/elf64.c
/kernel/trunk/Makefile /kernel/trunk/arch/amd64/Makefile.inc /kernel/trunk/arch/amd64/_link.ld.in /kernel/trunk/arch/amd64/include/elf.h /kernel/trunk/arch/amd64/include/types.h /kernel/trunk/arch/amd64/src/userspace.c /kernel/trunk/arch/ia32/Makefile.inc /kernel/trunk/arch/ia32/include/elf.h /kernel/trunk/arch/ia32/include/types.h /kernel/trunk/arch/ia32/src/userspace.c /kernel/trunk/arch/ia64/Makefile.inc /kernel/trunk/arch/ia64/include/elf.h /kernel/trunk/arch/ia64/src/ia64.c /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/include/elf.h /kernel/trunk/arch/mips32/src/mips32.c /kernel/trunk/arch/ppc32/Makefile.inc /kernel/trunk/arch/ppc32/include/elf.h /kernel/trunk/arch/ppc32/include/types.h /kernel/trunk/arch/sparc64/Makefile.inc /kernel/trunk/arch/sparc64/include/elf.h /kernel/trunk/contrib/conf/msim.conf /kernel/trunk/contrib/conf/ski.conf /kernel/trunk/contrib/conf/spmips.conf /kernel/trunk/generic/include/elf.h /kernel/trunk/generic/include/userspace.h /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/generic/src/main/uinit.c
|
924 |
6740 d 4 h |
palkovsky |
/kernel/trunk/arch/mips32/ |
Macro redefinition for mips fpu. |
|
/kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/include/fpu_context.h /kernel/trunk/arch/mips32/src/asm.S /kernel/trunk/arch/mips32/src/fpu_context.c
|
814 |
6772 d 0 h |
palkovsky |
/kernel/trunk/ |
Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print. |
|
/kernel/trunk/generic/include/mm/heap.h /kernel/trunk/generic/src/mm/heap.c
/kernel/trunk/Makefile /kernel/trunk/arch/amd64/include/types.h /kernel/trunk/arch/amd64/src/mm/page.c /kernel/trunk/arch/amd64/src/pm.c /kernel/trunk/arch/ia32/include/types.h /kernel/trunk/arch/ia32/src/mm/frame.c /kernel/trunk/arch/ia32/src/pm.c /kernel/trunk/arch/ia32/src/smp/smp.c /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/include/types.h /kernel/trunk/arch/mips32/src/drivers/arc.c /kernel/trunk/arch/mips32/src/mips32.c /kernel/trunk/arch/mips32/src/mm/frame.c /kernel/trunk/contrib/conf/msim.conf /kernel/trunk/genarch/src/acpi/matd.c /kernel/trunk/genarch/src/mm/as_pt.c /kernel/trunk/genarch/src/mm/page_pt.c /kernel/trunk/generic/include/mm/buddy.h /kernel/trunk/generic/include/mm/frame.h /kernel/trunk/generic/include/mm/slab.h /kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/include/typedefs.h /kernel/trunk/generic/src/adt/hash_table.c /kernel/trunk/generic/src/cpu/cpu.c /kernel/trunk/generic/src/lib/sort.c /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/mm/as.c /kernel/trunk/generic/src/mm/buddy.c /kernel/trunk/generic/src/mm/frame.c /kernel/trunk/generic/src/mm/slab.c /kernel/trunk/generic/src/proc/scheduler.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/test/mm/falloc1/test.c /kernel/trunk/test/mm/falloc2/test.c
|
797 |
6773 d 18 h |
palkovsky |
/kernel/trunk/arch/mips32/ |
Fixed uspace address constants. |
|
/kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/src/mips32.c
|
796 |
6773 d 19 h |
palkovsky |
/kernel/trunk/ |
Gxemul support for mips userspace. MIPS now _must_ be started
always with userspace, there is (almost) no way how to pass parameters
to kernel. |
|
/kernel/trunk/contrib/conf/gxemul.sh
/kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/src/mips32.c
|
730 |
6789 d 19 h |
jermar |
/kernel/trunk/ |
Finalize ASID management for sparc64 and mips32 by making use of FIFO queue of ASIDs. |
|
/kernel/trunk/genarch/include/mm/asid_fifo.h /kernel/trunk/genarch/src/mm/asid_fifo.c
/kernel/trunk/arch/mips32/src/mm/asid.c
/kernel/trunk/arch/ia32/src/mm/tlb.c /kernel/trunk/arch/ia64/include/mm/asid.h /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/src/mm/tlb.c /kernel/trunk/arch/sparc64/Makefile.inc /kernel/trunk/arch/sparc64/src/mm/tlb.c /kernel/trunk/genarch/Makefile.inc /kernel/trunk/generic/include/mm/asid.h
|
727 |
6791 d 14 h |
jermar |
/kernel/trunk/ |
New ASID management subsystem (initial work, more is required).
Some TLB invalidation changes. |
|
/kernel/trunk/genarch/src/mm/asid.c
/kernel/trunk/arch/ia32/include/mm/asid.h /kernel/trunk/arch/ia32/src/mm/tlb.c /kernel/trunk/arch/ia64/Makefile.inc /kernel/trunk/arch/ia64/include/mm/asid.h /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/include/mm/asid.h /kernel/trunk/arch/mips32/src/mm/as.c /kernel/trunk/arch/mips32/src/mm/asid.c /kernel/trunk/arch/mips32/src/mm/tlb.c /kernel/trunk/arch/ppc32/include/mm/asid.h /kernel/trunk/arch/sparc64/Makefile.inc /kernel/trunk/arch/sparc64/include/mm/asid.h /kernel/trunk/arch/sparc64/src/mm/tlb.c /kernel/trunk/genarch/Makefile.inc /kernel/trunk/generic/include/mm/as.h /kernel/trunk/generic/include/mm/asid.h /kernel/trunk/generic/include/mm/tlb.h /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/mm/as.c /kernel/trunk/generic/src/mm/tlb.c
|
703 |
6797 d 23 h |
jermar |
/kernel/trunk/ |
Memory management work.
- vm.* -> as.* (as like address space is, imho, more fitting)
- Don't do TLB shootdown on vm_install(). Some architectures only need to call tlb_invalidate_asid().
- Don't allocate all frames for as_area in as_area_create(), but let them be allocated on-demand by as_page_fault().
- Add high-level page fault handler as_page_fault().
- Add as_area_load_mapping(). |
|
/kernel/trunk/arch/amd64/include/mm/as.h /kernel/trunk/arch/ia32/include/mm/as.h /kernel/trunk/arch/ia64/include/mm/as.h /kernel/trunk/arch/mips32/include/mm/as.h /kernel/trunk/arch/mips32/src/mm/as.c /kernel/trunk/arch/ppc32/include/mm/as.h /kernel/trunk/arch/sparc64/include/mm/as.h /kernel/trunk/generic/include/mm/as.h /kernel/trunk/generic/src/mm/as.c
/kernel/trunk/arch/amd64/include/mm/vm.h /kernel/trunk/arch/ia32/include/mm/vm.h /kernel/trunk/arch/ia64/include/mm/vm.h /kernel/trunk/arch/mips32/include/mm/vm.h /kernel/trunk/arch/mips32/src/mm/vm.c /kernel/trunk/arch/ppc32/include/mm/vm.h /kernel/trunk/arch/sparc64/include/mm/vm.h /kernel/trunk/generic/include/mm/vm.h /kernel/trunk/generic/src/mm/vm.c
/kernel/trunk/Makefile /kernel/trunk/arch/amd64/src/interrupt.c /kernel/trunk/arch/amd64/src/userspace.c /kernel/trunk/arch/ia32/src/interrupt.c /kernel/trunk/arch/ia32/src/mm/frame.c /kernel/trunk/arch/ia32/src/userspace.c /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/src/mips32.c /kernel/trunk/arch/mips32/src/mm/tlb.c /kernel/trunk/doc/mm /kernel/trunk/generic/include/arch.h /kernel/trunk/generic/include/proc/task.h /kernel/trunk/generic/include/typedefs.h /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/mm/frame.c /kernel/trunk/generic/src/mm/page.c /kernel/trunk/generic/src/proc/scheduler.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/the.c
|
684 |
6802 d 21 h |
jermar |
/kernel/trunk/ |
Memory management work.
Move generic 4-level page table interface to genarch
and enable architectures to use different virtual memory
mechanisms (e.g. page hash tables).
Start page hash table support.
Switch ia64 and sparc64 to page hash tables.
Other architectures keep on using 4-level page table interface. |
|
/kernel/trunk/arch/ia64/src/mm/page.c /kernel/trunk/genarch/include/mm /kernel/trunk/genarch/include/mm/page_ht.h /kernel/trunk/genarch/include/mm/page_pt.h /kernel/trunk/genarch/src/mm /kernel/trunk/genarch/src/mm/page_ht.c /kernel/trunk/genarch/src/mm/page_pt.c
/kernel/trunk/arch/amd64/Makefile.inc /kernel/trunk/arch/amd64/src/mm/page.c /kernel/trunk/arch/ia32/Makefile.inc /kernel/trunk/arch/ia32/src/mm/page.c /kernel/trunk/arch/ia64/Makefile.inc /kernel/trunk/arch/ia64/include/mm/page.h /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/src/mm/page.c /kernel/trunk/arch/ppc32/Makefile.inc /kernel/trunk/arch/ppc32/src/mm/page.c /kernel/trunk/arch/sparc64/Makefile.inc /kernel/trunk/arch/sparc64/src/mm/page.c /kernel/trunk/genarch/Makefile.inc /kernel/trunk/generic/include/mm/page.h /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/mm/page.c /kernel/trunk/generic/src/mm/vm.c
|
674 |
6807 d 1 h |
cejka |
/kernel/trunk/ |
Support for printing float numbers in kernel removed. |
|
/kernel/trunk/arch/amd64/include/fmath.h /kernel/trunk/arch/amd64/src/fmath.c /kernel/trunk/arch/ia32/include/fmath.h /kernel/trunk/arch/ia32/src/fmath.c /kernel/trunk/arch/ia64/include/fmath.h /kernel/trunk/arch/ia64/src/fmath.c /kernel/trunk/arch/mips32/include/fmath.h /kernel/trunk/arch/mips32/src/fmath.c /kernel/trunk/arch/ppc32/include/fmath.h /kernel/trunk/arch/ppc32/src/fmath.c
/kernel/trunk/arch/amd64/Makefile.inc /kernel/trunk/arch/ia32/Makefile.inc /kernel/trunk/arch/ia64/Makefile.inc /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/ppc32/Makefile.inc /kernel/trunk/generic/src/debug/print.c /kernel/trunk/test/print/print1/test.c
|
614 |
6829 d 11 h |
palkovsky |
/kernel/trunk/ |
Added support for mips breakpoints.
We have a kind of kernel debugger :-)
Breakpoints on JMP/Branch instructions are not supported and
they are reported after the breakpoint is fired and exited as
a BranchDelay exception. If we found a way, how to detect these
instructions, we would be able to support them as 'one-time' breakpoints. |
|
/kernel/trunk/arch/mips32/include/debugger.h /kernel/trunk/arch/mips32/src/debugger.c
/kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/src/exception.c /kernel/trunk/arch/mips32/src/mips32.c /kernel/trunk/generic/src/console/kconsole.c
|
604 |
6830 d 1 h |
palkovsky |
/kernel/trunk/ |
Make it boot on SGI indy again. |
|
/kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/tools/config.py
|
600 |
6830 d 21 h |
jermar |
/kernel/trunk/arch/mips32/ |
Different sizes of TLB on mips32.
R4000 has 48 entries, 4kc has only 16 entries. |
|
/kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/include/mm/tlb.h
|
575 |
6832 d 12 h |
palkovsky |
/kernel/trunk/ |
Added generic exc_register/exc_dispatch functions,
copied from ia32 architecture. Currently only mips32 uses them.
The chardev_t can now be both input & output device (was
needed for serial driver).
Broken other architectures - ia64, sparc, powerpc will not compile.
Mips32 supports input on all msim, gxemul, indy(tested emulation
in gxemul, loses characters), simics. Simics serial line
is done using polling, I was unable to make it produce
an interrupt when the key was pressed. |
|
/kernel/trunk/arch/mips32/include/drivers/msim.h /kernel/trunk/arch/mips32/include/drivers/serial.h /kernel/trunk/arch/mips32/src/drivers/msim.c /kernel/trunk/arch/mips32/src/drivers/serial.c /kernel/trunk/generic/include/interrupt.h /kernel/trunk/generic/src/interrupt /kernel/trunk/generic/src/interrupt/interrupt.c
/kernel/trunk/arch/mips32/include/drivers/keyboard.h /kernel/trunk/arch/mips32/src/drivers/keyboard.c
/kernel/trunk/Makefile /kernel/trunk/arch/ia32/include/ega.h /kernel/trunk/arch/ia32/src/drivers/ega.c /kernel/trunk/arch/ia32/src/drivers/i8042.c /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/include/console.h /kernel/trunk/arch/mips32/include/drivers/arc.h /kernel/trunk/arch/mips32/include/interrupt.h /kernel/trunk/arch/mips32/src/console.c /kernel/trunk/arch/mips32/src/drivers/arc.c /kernel/trunk/arch/mips32/src/interrupt.c /kernel/trunk/arch/mips32/src/mips32.c /kernel/trunk/generic/include/console/chardev.h /kernel/trunk/generic/include/console/console.h /kernel/trunk/generic/include/print.h /kernel/trunk/generic/src/console/chardev.c /kernel/trunk/generic/src/console/console.c
|
568 |
6833 d 20 h |
palkovsky |
/kernel/trunk/ |
Configuration tweaks, now supports both CNF and DNF in config.file. |
|
/kernel/trunk/Makefile /kernel/trunk/arch/amd64/Makefile.inc /kernel/trunk/arch/ia32/Makefile.inc /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/kernel.config /kernel/trunk/tools/config.py
|
550 |
6835 d 15 h |
palkovsky |
/kernel/trunk/ |
Completely reworked configuration system. |
|
/kernel/trunk/build
/kernel/trunk/build.amd64 /kernel/trunk/build.ia32 /kernel/trunk/build.ia64 /kernel/trunk/build.mips32 /kernel/trunk/build.ppc32 /kernel/trunk/build.sparc64
/kernel/trunk/Makefile /kernel/trunk/arch/ia32/Makefile.inc /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/kernel.config /kernel/trunk/tools/build /kernel/trunk/tools/config.py
|
546 |
6835 d 18 h |
palkovsky |
/kernel/trunk/arch/mips32/ |
Fixed mips gxemul architecture. |
|
/kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/src/fpu_context.c
|
534 |
6837 d 17 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
/kernel
/SPARTAN
|
532 |
6837 d 17 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
/SPARTAN
/kernel
|
509 |
6849 d 15 h |
jermar |
/kernel/trunk/ |
Basic keyboard support for mips32 (msim). |
|
/kernel/trunk/arch/mips32/include/drivers/keyboard.h /kernel/trunk/arch/mips32/src/drivers/keyboard.c
/kernel/trunk/arch/ia32/src/drivers/i8042.c /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/include/interrupt.h /kernel/trunk/arch/mips32/src/interrupt.c /kernel/trunk/arch/mips32/src/mips32.c /kernel/trunk/contrib/conf/msim.conf
|