Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
4057 5721 d 4 h decky /trunk/kernel/arch/ optional EGA support  
4042 5722 d 2 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.
 
4026 5725 d 19 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.
 
4022 5725 d 21 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.  
4015 5726 d 5 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)  
3982 5728 d 23 h jermar /trunk/kernel/ Do not set sysinfo for uspace drivers directly in the kernel drivers.  
3964 5733 d 5 h decky /trunk/kernel/ switch between the preference of kernel/uspace IRQ hash table  
3963 5735 d 2 h jermar /trunk/kernel/ The kernel i8042 driver should be instance-neutral.  
3947 5736 d 1 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
 
3932 5737 d 20 h jermar /trunk/kernel/ Kill arch/drivers/ega.h. Provide one-stop shopping
place for architectures with ia32 legacy I/O space.
 
3880 5744 d 22 h decky /trunk/kernel/arch/ simplify configuration
introduce arch_construct_function and inb/outb (sometimes empty) on all platforms
various code cleanup
 
3779 5784 d 4 h jermar /trunk/kernel/ Only one kernel EGA driver to rule them all.  
3707 5802 d 23 h decky /trunk/ kconsole is optional
kernel & uspace framebuffer rewrite with speedups (some things are slightly broken yet)
 
2725 6117 d 4 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)
 
2723 6118 d 2 h decky /trunk/kernel/arch/ remove memory_print_map(), as it duplicates functionality of physmem_print()  
2439 6367 d 21 h decky /trunk/kernel/arch/ia32/src/ fix ICC compilation  
2107 6484 d 21 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.
 
2089 6491 d 5 h decky /trunk/ huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes
 
2071 6501 d 21 h jermar /trunk/ (c) versus (C)  
1957 6584 d 6 h decky /trunk/kernel/ ia32: mouse support, mouse regrab is still broken  
1956 6584 d 7 h decky /trunk/kernel/ ia32: adopt new IRQ interface, mouse not tested yet  
1901 6615 d 3 h jermar /trunk/kernel/ Make SMP related parts of main.c more generic.
Move initialization of local APIC to architecture specific code.
Add arch_post_cpu_init() to support the above.
 
1888 6627 d 1 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1842 6663 d 5 h jermar /trunk/kernel/ i8042 and z8530 separated, the tree compiles again.
Now there is some duplicated code in i8042.c and z8530.c,
but that can be eliminated in slower pace.
 
1787 6692 d 0 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6699 d 1 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1705 6719 d 7 h cejka /kernel/trunk/ Added file with modules definitions and descriptions.
We are able to change modules order and their description in one place.
 
1704 6719 d 10 h cejka /kernel/trunk/ Fixed first letter size of subgroup name in Others.  
1702 6720 d 4 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1477 6732 d 13 h decky /kernel/trunk/arch/ cleanup  
1474 6732 d 20 h palkovsky /kernel/trunk/ Added syscall that lets kernel regain access to keyboard.  
1473 6732 d 22 h decky /kernel/trunk/ kernel support for text-only framebuffer  
1303 6755 d 0 h palkovsky /kernel/trunk/arch/ zone_merge_all must be called after frame_init is completed - otherwise
new zone information can be allocated over the not-yet-blacklisted areas.
 
1287 6759 d 8 h vana /kernel/trunk/ ia32 VESA FB support  
1184 6781 d 4 h jermar /kernel/trunk/ Move arch/thread.h to arch/proc/thread.h on all architectures.
Replace ARCH_THREAD_DATA with new thread_arch_t arch on all architectures.
Similarily, add task_arch_t arch on all architectures.
On amd64 and ia32, grow the TSS segment by 64K + 1B to support IO port
permission bitmap. For the same reason, define per task IO port permission bitmaps
on ia32 and amd64.
 
1121 6801 d 21 h jermar /kernel/trunk/ Small textual changes.  
1119 6801 d 21 h palkovsky /kernel/trunk/arch/ Fixed bad rflags masking in amd64.
Added TLS get address instruction emulation for mips.
 
1112 6802 d 8 h palkovsky /kernel/trunk/ Added basic kernel infrastructure for ThreadLocalStorage(TLS) for
ia32(complete),amd64(complete),mips32(missing emulation of rdhwr instruction).
 
1074 6808 d 6 h palkovsky /kernel/trunk/ Ported AMD64 debugger to ia32 and enabled AS watchpoint to ia32 as well.  
958 6811 d 22 h jermar /kernel/trunk/ Nicer ia32 interrupt handlers and structures holding interrupted context data.
Unify the name holding interrupted context data on all architectures to be istate.