Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
624 |
6826 d 11 h |
jermar |
/kernel/trunk/generic/ |
Add LIST_INITIALIZE() macro to declare and initialize statically allocated lists. |
|
/kernel/trunk/generic/include/list.h /kernel/trunk/generic/include/mm/frame.h /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/mm/frame.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/thread.c
|
623 |
6826 d 16 h |
jermar |
/kernel/trunk/ |
Add SPINLOCK_DECLARE and SPINLOCK_INITIALIZE macros.
SPINLOCK_DECLARE is to be used instead of direct spinlock_t declarations
in dynamically allocated structures on which spinlock_initialize() is called after
their creation.
SPINLOCK_INITIALIZE is to be used instead of direct spinlock_t declarations
of global spinlocks. It declares and initializes the spinlock.
Moreover, both macros are empty on UP so that -Wall warnings about unused structures
get supressed. |
|
/kernel/trunk/arch/ia32/src/drivers/ega.c /kernel/trunk/arch/ia32/src/drivers/i8042.c /kernel/trunk/arch/ia32/src/mm/page.c /kernel/trunk/arch/mips32/src/debugger.c /kernel/trunk/arch/mips32/src/mm/asid.c /kernel/trunk/generic/include/console/chardev.h /kernel/trunk/generic/include/console/kconsole.h /kernel/trunk/generic/include/cpu.h /kernel/trunk/generic/include/mm/frame.h /kernel/trunk/generic/include/mm/vm.h /kernel/trunk/generic/include/proc/scheduler.h /kernel/trunk/generic/include/proc/task.h /kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/include/synch/rwlock.h /kernel/trunk/generic/include/synch/spinlock.h /kernel/trunk/generic/include/synch/waitq.h /kernel/trunk/generic/include/time/timeout.h /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/cpu/cpu.c /kernel/trunk/generic/src/debug/print.c /kernel/trunk/generic/src/interrupt/interrupt.c /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/mm/frame.c /kernel/trunk/generic/src/mm/heap.c /kernel/trunk/generic/src/mm/tlb.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/rwlock.c /kernel/trunk/test/synch/rwlock4/test.c /kernel/trunk/test/synch/semaphore2/test.c /kernel/trunk/test/thread/thread1/test.c
|
614 |
6829 d 1 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
|
611 |
6829 d 8 h |
jermar |
/kernel/trunk/generic/src/console/ |
Fix kconsole so that side-effect command shortcuts do not take effect. |
|
/kernel/trunk/generic/src/console/kconsole.c
|
609 |
6829 d 9 h |
palkovsky |
/kernel/trunk/ |
added support for breakpoints to mips32 |
|
/kernel/trunk/test/debug /kernel/trunk/test/debug/mips1 /kernel/trunk/test/debug/mips1/test.c
/kernel/trunk/arch/mips32/src/exception.c /kernel/trunk/generic/include/console/kconsole.h /kernel/trunk/generic/src/console/cmd.c /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/lib/func.c /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/kernel.config
|
608 |
6829 d 10 h |
palkovsky |
/kernel/trunk/generic/src/console/ |
intelligent retyping for set4 |
|
/kernel/trunk/generic/src/console/cmd.c
|
607 |
6829 d 10 h |
palkovsky |
/kernel/trunk/ |
Fixed weird simics panic.
Run kconsole, if we panic. This currently works in gxemul,
simics. In mips we need to modify the simulator.
On ia32 we need a function, that would speak directly to the chip
and fetch the character using polling. |
|
/kernel/trunk/arch/mips32/src/drivers/msim.c /kernel/trunk/arch/mips32/src/drivers/serial.c /kernel/trunk/arch/mips32/src/panic.S /kernel/trunk/generic/include/console/chardev.h /kernel/trunk/generic/src/console/console.c /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/lib/func.c
|
606 |
6829 d 11 h |
palkovsky |
/kernel/trunk/ |
Small kconsole readline changes.
Some mips tweaks to allow for real keyboard support in indy. |
|
/kernel/trunk/arch/ia32/include/i8042.h /kernel/trunk/arch/ia32/src/drivers/i8042.c /kernel/trunk/arch/mips32/include/drivers/arc.h /kernel/trunk/arch/mips32/include/drivers/msim.h /kernel/trunk/arch/mips32/include/drivers/serial.h /kernel/trunk/arch/mips32/src/console.c /kernel/trunk/arch/mips32/src/drivers/arc.c /kernel/trunk/arch/mips32/src/drivers/msim.c /kernel/trunk/arch/mips32/src/drivers/serial.c /kernel/trunk/generic/src/console/kconsole.c
|
603 |
6830 d 4 h |
palkovsky |
/kernel/trunk/generic/src/ |
Added set4 command. |
|
/kernel/trunk/generic/src/console/cmd.c /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/lib/func.c
|
602 |
6830 d 5 h |
palkovsky |
/kernel/trunk/ |
Symtab returns correct addresses even when symtab is befor bss.
Some tab completion optimization. |
|
/kernel/trunk/Makefile /kernel/trunk/arch/amd64/_link.ld.in /kernel/trunk/arch/ia32/_link.ld.in /kernel/trunk/generic/src/console/cmd.c /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/debug/symtab.c
|
601 |
6830 d 7 h |
palkovsky |
/kernel/trunk/ |
Added some readline functionality to kconsole.
Arrows editing, history, tab completion. |
|
/kernel/trunk/arch/ia32/include/i8042.h /kernel/trunk/arch/ia32/src/drivers/i8042.c /kernel/trunk/generic/include/console/console.h /kernel/trunk/generic/include/console/kconsole.h /kernel/trunk/generic/include/symtab.h /kernel/trunk/generic/src/console/console.c /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/debug/symtab.c /kernel/trunk/generic/src/lib/func.c
|
596 |
6831 d 3 h |
jermar |
/kernel/trunk/ |
kconsole cleanup.
Separate commands from the engine. |
|
/kernel/trunk/generic/include/console/cmd.h /kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/mm/tlb_cmd.c
/kernel/trunk/Makefile /kernel/trunk/generic/include/console/kconsole.h /kernel/trunk/generic/src/console/kconsole.c
|
594 |
6831 d 8 h |
jermar |
/kernel/trunk/ |
ptlb command (currently usable on mips32 only). |
|
/kernel/trunk/generic/include/mm/tlb_cmd.h /kernel/trunk/generic/src/mm/tlb_cmd.c
/kernel/trunk/Makefile /kernel/trunk/arch/mips32/include/mm/tlb.h /kernel/trunk/arch/mips32/src/mm/tlb.c /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/mm/tlb.c
|
591 |
6831 d 9 h |
palkovsky |
/kernel/trunk/generic/src/ |
Fixes in new console. |
|
/kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/lib/func.c /kernel/trunk/generic/src/mm/heap.c
|
589 |
6831 d 10 h |
palkovsky |
/kernel/trunk/generic/src/console/ |
Added * operator to symbols. |
|
/kernel/trunk/generic/src/console/kconsole.c
|
588 |
6831 d 10 h |
palkovsky |
/kernel/trunk/ |
Added support for backspace
- printing '\b' should move the cursor one char to the left
- backspace key should return '\b' to application |
|
/kernel/trunk/arch/ia32/src/drivers/ega.c /kernel/trunk/arch/ia32/src/drivers/i8042.c /kernel/trunk/arch/mips32/src/drivers/arc.c /kernel/trunk/arch/mips32/src/drivers/msim.c /kernel/trunk/generic/src/console/chardev.c /kernel/trunk/generic/src/console/console.c
|
585 |
6831 d 11 h |
palkovsky |
/kernel/trunk/generic/ |
String constants without spaces are now supported by call commands.
For more we would need some lexer.
The call? commands are not compatibile with stdarg functions on AMD
architectures, because of the calling sequence. |
|
/kernel/trunk/generic/include/console/kconsole.h /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/lib/func.c
|
582 |
6831 d 12 h |
palkovsky |
/kernel/trunk/generic/ |
Added calling of generic functions to kconsole. |
|
/kernel/trunk/generic/include/console/kconsole.h /kernel/trunk/generic/include/func.h /kernel/trunk/generic/include/symtab.h /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/debug/symtab.c /kernel/trunk/generic/src/interrupt/interrupt.c /kernel/trunk/generic/src/lib/func.c
|
579 |
6831 d 15 h |
palkovsky |
/kernel/trunk/generic/src/ |
Removed unnecessary interrupts_disable from kconsole.
Fixed calling gets() with interrupts_disable. |
|
/kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/interrupt/interrupt.c
|
575 |
6832 d 3 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
|