Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
4251 |
5666 d 20 h |
decky |
/trunk/kernel/ |
ia32, amd64: do not reboot via a triple fault (which is nasty), but use the i8042 controller to trigger CPU reset |
|
/trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/amd64/src/pm.c /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia32/src/pm.c /trunk/kernel/genarch/include/drivers/i8042/i8042.h /trunk/kernel/genarch/src/drivers/i8042/i8042.c
|
4148 |
5686 d 2 h |
decky |
/trunk/ |
as kernel little brother drivers are not needed anymore, the device numbers do not have to be correlated between kernel and uspace in any way
introduce new syscall sys_device_assign_devno() for generating system-wide unique device numbers for uspace |
|
/trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/arm32/src/arm32.c /trunk/kernel/arch/ia32/src/drivers/i8254.c /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia32/src/smp/apic.c /trunk/kernel/arch/ia64/src/drivers/it.c /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/arch/mips32/src/mips32.c /trunk/kernel/arch/ppc32/include/drivers/cuda.h /trunk/kernel/arch/ppc32/src/drivers/cuda.c /trunk/kernel/arch/ppc32/src/ppc32.c /trunk/kernel/arch/sparc64/src/drivers/kbd.c /trunk/kernel/genarch/include/drivers/dsrln/dsrlnin.h /trunk/kernel/genarch/include/drivers/i8042/i8042.h /trunk/kernel/genarch/include/drivers/ns16550/ns16550.h /trunk/kernel/genarch/include/drivers/z8530/z8530.h /trunk/kernel/genarch/src/drivers/dsrln/dsrlnin.c /trunk/kernel/genarch/src/drivers/i8042/i8042.c /trunk/kernel/genarch/src/drivers/ns16550/ns16550.c /trunk/kernel/genarch/src/drivers/z8530/z8530.c /trunk/kernel/generic/include/ddi/device.h /trunk/kernel/generic/include/syscall/syscall.h /trunk/kernel/generic/src/console/kconsole.c /trunk/kernel/generic/src/ddi/device.c /trunk/kernel/generic/src/syscall/syscall.c /trunk/uspace/app/klog/klog.c /trunk/uspace/lib/libc/generic/ddi.c /trunk/uspace/lib/libc/include/ddi.h /trunk/uspace/srv/console/console.c /trunk/uspace/srv/kbd/port/gxemul.c /trunk/uspace/srv/kbd/port/i8042.c /trunk/uspace/srv/kbd/port/msim.c /trunk/uspace/srv/kbd/port/ns16550.c /trunk/uspace/srv/kbd/port/z8530.c
|
4099 |
5691 d 18 h |
decky |
/trunk/kernel/arch/ia32/src/ |
update for the new scheme of wiring device drivers to keyboard/serial modules
use ega_redraw() only if it is compiled in |
|
/trunk/kernel/arch/ia32/src/ia32.c
|
4057 |
5695 d 23 h |
decky |
/trunk/kernel/arch/ |
optional EGA support |
|
/trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/ia32/src/ia32.c
|
4042 |
5696 d 20 h |
jermar |
/trunk/ |
Complete emancipation of kernel serial controller drivers (i8042, ns16550 and
z8530). Provide a common keyboard module for PC and Sun keyboards. The serial
line module is still to follow. |
|
/trunk/kernel/genarch/include/drivers/i8042 /trunk/kernel/genarch/include/drivers/i8042/i8042.h /trunk/kernel/genarch/include/drivers/ns16550 /trunk/kernel/genarch/include/drivers/ns16550/ns16550.h /trunk/kernel/genarch/include/drivers/z8530 /trunk/kernel/genarch/include/drivers/z8530/z8530.h /trunk/kernel/genarch/include/kbrd /trunk/kernel/genarch/include/kbrd/kbrd.h /trunk/kernel/genarch/src/drivers/i8042 /trunk/kernel/genarch/src/drivers/i8042/i8042.c /trunk/kernel/genarch/src/drivers/ns16550 /trunk/kernel/genarch/src/drivers/ns16550/ns16550.c /trunk/kernel/genarch/src/drivers/z8530 /trunk/kernel/genarch/src/drivers/z8530/z8530.c /trunk/kernel/genarch/src/kbrd /trunk/kernel/genarch/src/kbrd/kbrd.c
/trunk/kernel/genarch/include/kbd /trunk/kernel/genarch/include/kbrd/i8042.h /trunk/kernel/genarch/include/kbrd/key.h /trunk/kernel/genarch/include/kbrd/ns16550.h /trunk/kernel/genarch/include/kbrd/z8530.h /trunk/kernel/genarch/src/kbd /trunk/kernel/genarch/src/kbrd/i8042.c /trunk/kernel/genarch/src/kbrd/key.c /trunk/kernel/genarch/src/kbrd/ns16550.c /trunk/kernel/genarch/src/kbrd/z8530.c
/trunk/HelenOS.config /trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/arch/ia64/src/smp/smp.c /trunk/kernel/arch/sparc64/src/console.c /trunk/kernel/arch/sparc64/src/drivers/kbd.c /trunk/kernel/arch/sparc64/src/sparc64.c /trunk/kernel/genarch/Makefile.inc /trunk/kernel/genarch/src/kbrd/scanc_pc.c /trunk/kernel/genarch/src/kbrd/scanc_sun.c /trunk/kernel/generic/include/console/console.h /trunk/kernel/generic/src/console/console.c /trunk/kernel/generic/src/main/main.c
|
4026 |
5700 d 13 h |
jermar |
/trunk/ |
Make the kbd port drivers platform neutral by using PIO functions.
The kernel now supplies the physical address and the kernel virtual address. |
|
/trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/arch/sparc64/src/drivers/kbd.c /trunk/uspace/srv/kbd/port/i8042.c /trunk/uspace/srv/kbd/port/i8042.h /trunk/uspace/srv/kbd/port/ns16550.c /trunk/uspace/srv/kbd/port/z8530.c
|
4022 |
5700 d 15 h |
svoboda |
/trunk/ |
Move multiboot parsing to genarch/*/multiboot and adapt it for use with both ia32 and amd64. Multiboot info parsing now supported on amd64, too. |
|
/trunk/kernel/genarch/include/multiboot /trunk/kernel/genarch/include/multiboot/multiboot.h /trunk/kernel/genarch/src/multiboot /trunk/kernel/genarch/src/multiboot/multiboot.c
/trunk/kernel/arch/ia32/include/boot/multiboot.h
/trunk/HelenOS.config /trunk/kernel/arch/amd64/include/arch.h /trunk/kernel/arch/amd64/include/boot/boot.h /trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/amd64/src/boot/boot.S /trunk/kernel/arch/ia32/include/arch.h /trunk/kernel/arch/ia32/include/boot/boot.h /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/genarch/Makefile.inc
|
4015 |
5701 d 0 h |
decky |
/trunk/kernel/arch/ia32/ |
rename ia32_cboot() to arch_pre_main() and move it to ia32.c (to be in line with other platforms) |
|
/trunk/kernel/arch/ia32/include/boot/multiboot.h
/trunk/kernel/arch/ia32/include/boot/cboot.h /trunk/kernel/arch/ia32/src/boot/cboot.c
/trunk/kernel/arch/ia32/Makefile.inc /trunk/kernel/arch/ia32/include/arch.h /trunk/kernel/arch/ia32/include/boot/boot.h /trunk/kernel/arch/ia32/src/boot/boot.S /trunk/kernel/arch/ia32/src/ia32.c
|
3982 |
5703 d 18 h |
jermar |
/trunk/kernel/ |
Do not set sysinfo for uspace drivers directly in the kernel drivers. |
|
/trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/arch/sparc64/src/drivers/kbd.c /trunk/kernel/genarch/src/kbd/i8042.c /trunk/kernel/genarch/src/kbd/ns16550.c /trunk/kernel/genarch/src/kbd/z8530.c
|
3964 |
5707 d 23 h |
decky |
/trunk/kernel/ |
switch between the preference of kernel/uspace IRQ hash table |
|
/trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/generic/include/console/console.h /trunk/kernel/generic/src/console/console.c /trunk/kernel/generic/src/ddi/irq.c /trunk/kernel/generic/src/ipc/irq.c
|
3963 |
5709 d 21 h |
jermar |
/trunk/kernel/ |
The kernel i8042 driver should be instance-neutral. |
|
/trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/genarch/include/kbd/i8042.h /trunk/kernel/genarch/src/kbd/i8042.c
|
3947 |
5710 d 19 h |
jermar |
/trunk/ |
This is the evil commit. In particular, it does:
- introduces more powerful pseudo code for userspace IRQ top-half handlers
- changes the internals of IRQ dispatching
- simplifies the kernel's i8042 driver
- adapts the uspace i8042 driver to make use of the new pseudocode
- breaks all other architectures except ia32
- breaks almost all existing drivers
- breaks switching between uspace and kernel drivers |
|
/trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/genarch/src/kbd/i8042.c /trunk/kernel/generic/include/ddi/irq.h /trunk/kernel/generic/include/ipc/irq.h /trunk/kernel/generic/src/ddi/irq.c /trunk/kernel/generic/src/ipc/irq.c /trunk/uspace/srv/kbd/port/i8042.c
|
3932 |
5712 d 14 h |
jermar |
/trunk/kernel/ |
Kill arch/drivers/ega.h. Provide one-stop shopping
place for architectures with ia32 legacy I/O space. |
|
/trunk/kernel/genarch/include/drivers/legacy /trunk/kernel/genarch/include/drivers/legacy/ia32 /trunk/kernel/genarch/include/drivers/legacy/ia32/io.h
/trunk/kernel/arch/ia32/include/drivers/ega.h /trunk/kernel/arch/ia64/include/drivers/ega.h
/trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/genarch/src/kbd/i8042.c
|
3880 |
5719 d 16 h |
decky |
/trunk/kernel/arch/ |
simplify configuration
introduce arch_construct_function and inb/outb (sometimes empty) on all platforms
various code cleanup |
|
/trunk/kernel/arch/sparc64/include/drivers/ns16550.h
/trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/amd64/src/debugger.c /trunk/kernel/arch/amd64/src/interrupt.c /trunk/kernel/arch/arm32/include/asm.h /trunk/kernel/arch/arm32/src/arm32.c /trunk/kernel/arch/ia32/_link.ld.in /trunk/kernel/arch/ia32/include/fpu_context.h /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia64/include/asm.h /trunk/kernel/arch/ia64/include/drivers/kbd.h /trunk/kernel/arch/ia64/include/fpu_context.h /trunk/kernel/arch/ia64/include/interrupt.h /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/arch/ia64/src/interrupt.c /trunk/kernel/arch/ia64/src/ski/ski.c /trunk/kernel/arch/mips32/include/asm.h /trunk/kernel/arch/mips32/include/context_offset.h /trunk/kernel/arch/mips32/src/asm.S /trunk/kernel/arch/mips32/src/drivers/msim.c /trunk/kernel/arch/mips32/src/fpu_context.c /trunk/kernel/arch/mips32/src/mips32.c /trunk/kernel/arch/mips32/src/mm/frame.c /trunk/kernel/arch/ppc32/include/asm.h /trunk/kernel/arch/ppc32/src/ppc32.c /trunk/kernel/arch/sparc64/_link.ld.in /trunk/kernel/arch/sparc64/include/fpu_context.h /trunk/kernel/arch/sparc64/src/sparc64.c
|
3779 |
5758 d 22 h |
jermar |
/trunk/kernel/ |
Only one kernel EGA driver to rule them all. |
|
/trunk/kernel/genarch/include/drivers /trunk/kernel/genarch/include/drivers/ega /trunk/kernel/genarch/include/drivers/ega/ega.h /trunk/kernel/genarch/src/drivers /trunk/kernel/genarch/src/drivers/ega /trunk/kernel/genarch/src/drivers/ega/ega.c
/trunk/kernel/arch/ia32/src/drivers/ega.c /trunk/kernel/arch/ia64/src/drivers/ega.c
/trunk/kernel/arch/amd64/Makefile.inc /trunk/kernel/arch/amd64/include/types.h /trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/ia32/Makefile.inc /trunk/kernel/arch/ia32/include/types.h /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia64/Makefile.inc /trunk/kernel/arch/ia64/include/asm.h /trunk/kernel/arch/ia64/include/drivers/ega.h /trunk/kernel/arch/ia64/include/types.h /trunk/kernel/arch/ia64/src/asm.S /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/arch/sparc64/include/types.h /trunk/kernel/genarch/Makefile.inc
|
3707 |
5777 d 17 h |
decky |
/trunk/ |
kconsole is optional
kernel & uspace framebuffer rewrite with speedups (some things are slightly broken yet) |
|
/trunk/kernel/genarch/src/fb/helenos.xbm
/trunk/kernel/arch/amd64/src/debugger.c /trunk/kernel/arch/ia32/include/drivers/ega.h /trunk/kernel/arch/ia32/include/drivers/vesa.h /trunk/kernel/arch/ia32/src/cpu/cpu.c /trunk/kernel/arch/ia32/src/drivers/vesa.c /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/mips32/src/cpu/cpu.c /trunk/kernel/arch/mips32/src/debugger.c /trunk/kernel/arch/mips32/src/exception.c /trunk/kernel/genarch/include/fb/fb.h /trunk/kernel/genarch/include/fb/font-8x16.h /trunk/kernel/genarch/include/fb/visuals.h /trunk/kernel/genarch/src/acpi/acpi.c /trunk/kernel/genarch/src/fb/fb.c /trunk/kernel/genarch/src/fb/font-8x16.c /trunk/kernel/genarch/src/mm/asid.c /trunk/kernel/generic/include/console/kconsole.h /trunk/kernel/generic/src/console/cmd.c /trunk/kernel/generic/src/console/console.c /trunk/kernel/generic/src/console/kconsole.c /trunk/kernel/generic/src/cpu/cpu.c /trunk/kernel/generic/src/interrupt/interrupt.c /trunk/kernel/generic/src/lib/func.c /trunk/kernel/generic/src/main/kinit.c /trunk/kernel/generic/src/main/main.c /trunk/kernel/generic/src/mm/as.c /trunk/kernel/generic/src/syscall/syscall.c /trunk/uspace/lib/libc/include/ipc/fb.h /trunk/uspace/srv/console/console.c /trunk/uspace/srv/console/gcons.c /trunk/uspace/srv/console/gcons.h /trunk/uspace/srv/console/screenbuffer.h /trunk/uspace/srv/fb/fb.c /trunk/uspace/srv/fb/fb.h /trunk/uspace/srv/fb/font-8x16.c /trunk/uspace/srv/fb/font-8x16.h /trunk/uspace/srv/fb/main.c /trunk/uspace/srv/fb/ppm.c
|
2725 |
6091 d 22 h |
decky |
/trunk/kernel/ |
remove config.memory_size, get_memory_size() and memory_init.{c|d}
the amount of available memory can be calculated from the sizes of the zones
add FRAMES2SIZE, SIZE2KB and SIZE2MB functions/macros (code readability) |
|
/trunk/kernel/arch/amd64/src/boot/memmap.c /trunk/kernel/arch/ia32/src/boot/memmap.c
/trunk/kernel/arch/amd64/include/mm/memory_init.h /trunk/kernel/arch/amd64/src/mm/memory_init.c /trunk/kernel/arch/arm32/include/mm/memory_init.h /trunk/kernel/arch/arm32/src/mm/memory_init.c /trunk/kernel/arch/ia32/include/mm/memory_init.h /trunk/kernel/arch/ia32/src/mm/memory_init.c /trunk/kernel/arch/ia32xen/include/mm/memory_init.h /trunk/kernel/arch/ia32xen/src/mm/memory_init.c /trunk/kernel/arch/ia64/include/mm/memory_init.h /trunk/kernel/arch/mips32/include/mm/memory_init.h /trunk/kernel/arch/ppc32/include/mm/memory_init.h /trunk/kernel/arch/ppc32/src/mm/memory_init.c /trunk/kernel/arch/ppc64/include/mm/memory_init.h /trunk/kernel/arch/ppc64/src/mm/memory_init.c /trunk/kernel/arch/sparc64/include/mm/memory_init.h /trunk/kernel/arch/sparc64/src/mm/memory_init.c
/trunk/kernel/arch/amd64/Makefile.inc /trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/amd64/src/boot/boot.S /trunk/kernel/arch/arm32/Makefile.inc /trunk/kernel/arch/arm32/src/mm/frame.c /trunk/kernel/arch/ia32/Makefile.inc /trunk/kernel/arch/ia32/include/boot/memmap.h /trunk/kernel/arch/ia32/src/boot/boot.S /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia32xen/Makefile.inc /trunk/kernel/arch/ia32xen/src/ia32xen.c /trunk/kernel/arch/ia64/src/mm/frame.c /trunk/kernel/arch/mips32/src/drivers/arc.c /trunk/kernel/arch/mips32/src/mm/frame.c /trunk/kernel/arch/ppc32/Makefile.inc /trunk/kernel/arch/ppc32/src/mm/frame.c /trunk/kernel/arch/ppc32/src/ppc32.c /trunk/kernel/arch/ppc64/Makefile.inc /trunk/kernel/arch/ppc64/src/mm/frame.c /trunk/kernel/arch/ppc64/src/ppc64.c /trunk/kernel/arch/sparc64/Makefile.inc /trunk/kernel/generic/include/config.h /trunk/kernel/generic/include/macros.h /trunk/kernel/generic/include/mm/frame.h /trunk/kernel/generic/src/main/main.c /trunk/kernel/generic/src/mm/frame.c
|
2723 |
6092 d 20 h |
decky |
/trunk/kernel/arch/ |
remove memory_print_map(), as it duplicates functionality of physmem_print() |
|
/trunk/kernel/arch/amd64/src/amd64.c /trunk/kernel/arch/amd64/src/mm/memory_init.c /trunk/kernel/arch/ia32/include/mm/memory_init.h /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia32/src/mm/frame.c /trunk/kernel/arch/ia32/src/mm/memory_init.c /trunk/kernel/arch/ia32xen/include/mm/frame.h /trunk/kernel/arch/ia32xen/include/mm/memory_init.h /trunk/kernel/arch/ia32xen/src/ia32xen.c /trunk/kernel/arch/ia32xen/src/mm/frame.c /trunk/kernel/arch/ia32xen/src/mm/memory_init.c /trunk/kernel/arch/ppc32/include/mm/frame.h /trunk/kernel/arch/ppc32/include/mm/memory_init.h /trunk/kernel/arch/ppc32/src/mm/frame.c /trunk/kernel/arch/ppc32/src/mm/memory_init.c /trunk/kernel/arch/ppc32/src/ppc32.c /trunk/kernel/arch/ppc64/include/mm/frame.h /trunk/kernel/arch/ppc64/include/mm/memory_init.h /trunk/kernel/arch/ppc64/src/mm/frame.c /trunk/kernel/arch/ppc64/src/mm/memory_init.c /trunk/kernel/arch/ppc64/src/ppc64.c
|
2439 |
6342 d 15 h |
decky |
/trunk/kernel/arch/ia32/src/ |
fix ICC compilation |
|
/trunk/kernel/arch/ia32/src/drivers/ega.c /trunk/kernel/arch/ia32/src/drivers/i8254.c /trunk/kernel/arch/ia32/src/drivers/i8259.c /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia32/src/interrupt.c /trunk/kernel/arch/ia32/src/mm/tlb.c
|
2107 |
6459 d 15 h |
jermar |
/trunk/ |
When clock() is called by an external interrupt dispatched by the IRQ dispatcher,
no spinlock can be held or the kernel will not be preemptive. This fixes Ticket #24.
Formating and indentation fixes. |
|
/trunk/kernel/arch/ia32/src/drivers/i8254.c /trunk/kernel/arch/ia32/src/drivers/i8259.c /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia32/src/interrupt.c /trunk/kernel/arch/ia32/src/smp/smp.c /trunk/kernel/arch/ia32xen/src/ia32xen.c /trunk/kernel/arch/ia32xen/src/smp/apic.c /trunk/kernel/arch/ia64/src/drivers/it.c /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/arch/mips32/src/interrupt.c /trunk/kernel/arch/sparc64/src/drivers/tick.c /trunk/kernel/arch/sparc64/src/sparc64.c /trunk/kernel/generic/include/mm/as.h /trunk/kernel/generic/src/ddi/ddi.c /trunk/kernel/generic/src/ddi/irq.c /trunk/uspace/ipcc/ipcc.c
|