Subversion Repositories HelenOS

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
4320 5724 d 7 h decky /trunk/kernel/genarch/src/drivers/ega/ avoid touching EGA video memory or cursor in silent mode  
4223 5745 d 1 h decky /trunk/kernel/ represent special keystrokes (cursor arrows, page up/down, delete, etc.) as appropriate Unicode characters
do not parse ANSI control sequences in kconsole, but in serial line driver
 
4190 5754 d 14 h decky /trunk/kernel/genarch/src/drivers/ega/ convert Unicode characters to OEM (a.k.a. 437) code page
add colors to EGA output
 
4177 5755 d 2 h decky /trunk/kernel/genarch/ use Unicode font glyphs and mapping for framebuffer  
4093 5766 d 23 h decky /trunk/kernel/genarch/src/ chardev_t -> outdev_t
small fixes and cleanups
 
3994 5777 d 2 h decky /trunk/kernel/genarch/src/drivers/ega/ make sure the EGA framebuffer is initialized with proper attributes  
3975 5780 d 3 h decky /trunk/kernel/genarch/src/drivers/ega/ keep original contents of the EGA framebuffer,
make sure the cursor is on
 
3940 5786 d 23 h decky /trunk/kernel/ make hw_area API more generic
this allows mapping of EGA VRAM on ia32/amd64
 
3930 5787 d 18 h jermar /trunk/kernel/ Adapt most of the kernel to ioport8_t, ioport16_t and ioport32_t types.  
3908 5790 d 22 h decky /trunk/ overhaul pareas: use one single physical area for the physical address space not belonging to physical memory  
3902 5792 d 1 h jermar /trunk/kernel/ Introduce a more platform-neutral name for programmed I/O.

The new API looks like pio_read_n() or pio_write_n(), where n is 8, 16 or 32.
The old API (i.e. inb(), inw(), inl(), outb() outw(), outl()) may have made
some people think that the interface is only to be used with the separate I/O
space. That's not the case. This API is to be implemented on all platforms
so that we can finally have really generic kernel device drivers.
 
3844 5806 d 19 h decky /trunk/ silent kernel console output when user space console is active  
3790 5830 d 4 h svoboda /trunk/kernel/ Make newlines in panic messages consistent. Add periods at end of messages so that it is obvious whether they are printed entirely.  
3779 5834 d 2 h jermar /trunk/kernel/ Only one kernel EGA driver to rule them all.  
3751 5842 d 5 h svoboda /trunk/kernel/arch/ia32/src/drivers/ Revive kernel EGA fb driver. Plus fix bug -- was using memcpy() for scrolling instead of memmove().  
3234 5995 d 1 h decky /trunk/ reintroduce support for MSIM text console in user space  
3227 5995 d 21 h decky /trunk/kernel/arch/ia32/src/drivers/ remove unnecessary newline  
3104 6046 d 9 h svoboda /trunk/kernel/ Declare arguments for memstr.h operations as pointers instead of uintptr_t.  
2439 6417 d 19 h decky /trunk/kernel/arch/ia32/src/ fix ICC compilation  
2071 6551 d 20 h jermar /trunk/ (c) versus (C)  
2065 6565 d 18 h jermar /trunk/kernel/ Coding style fixes and formatting improvements.  
2015 6590 d 20 h jermar /trunk/ Rework support for virtually indexed cache.
Instead of repeatedly flushing the data cache, which was a huge overkill, refuse to create an illegal address alias
in the kernel (again) and allocate appropriate page color in userspace instead. Extend the detection also to
SYS_PHYSMEM_MAP syscall.

Add support for tracking physical memory areas mappable by SYS_PHYSMEM_MAP.

Lots of coding style changes.
 
1787 6741 d 22 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6748 d 23 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1754 6763 d 5 h jermar /kernel/trunk/ Indentation and some improved comments.
Remove forgotten comment from gxemul.sh.
 
1702 6770 d 2 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1473 6782 d 21 h decky /kernel/trunk/ kernel support for text-only framebuffer  
1296 6807 d 2 h vana /kernel/trunk/arch/ia32/src/drivers/ new line only if no clrscr  
756 6902 d 16 h jermar /kernel/trunk/ Memory management work.
Remove the last (i.e. 'root') argument from page_mapping_insert() and page_mapping_find().
Page table address is now extracted from the first (i.e. 'as') argument.
Add a lot of infrastructure to make the above possible.
sparc64 is now broken, most likely because of insufficient identity mapping of physical memory.
 
755 6903 d 16 h jermar /kernel/trunk/ Change page_mapping_find/insert interfaces to take as_t * as first argument
and not asid_t as second argument. This change was necessitated by the
removal of mapping array from as_area_t and the fact that an address
space doesn't have an ASID when it is created.
 
687 6926 d 0 h jermar /kernel/trunk/ Memory management work.
Pass address space identifier to functions in page_operations to support single global page hash table.
 
623 6950 d 6 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.
 
588 6955 d 0 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
 
575 6955 d 16 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.
 
534 6960 d 21 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6960 d 21 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6973 d 1 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
492 6973 d 18 h jermar /SPARTAN/trunk/ Rename map_page_to_frame() to page_mapping_insert() and find_mapping() to page_mapping_find().
New names should make it more apparent that these two belong together.
 
452 6987 d 20 h decky /SPARTAN/trunk/ major build system revision (unfinished)
this patchset most definitively breaks a lot of things, be patient
 
413 7008 d 17 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.