Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
4327 5724 d 21 h mejdrech /branches/network/ Net: *merged with trunk 4326, +ne2k irq debug  
4263 5740 d 11 h mejdrech /branches/network/ Net: merged with trunk:4261  
4153 5762 d 10 h mejdrech /branches/network/ Networking: merged with trunk changes  
4093 5768 d 12 h decky /trunk/kernel/genarch/src/ chardev_t -> outdev_t
small fixes and cleanups
 
3994 5778 d 16 h decky /trunk/kernel/genarch/src/drivers/ega/ make sure the EGA framebuffer is initialized with proper attributes  
3975 5781 d 16 h decky /trunk/kernel/genarch/src/drivers/ega/ keep original contents of the EGA framebuffer,
make sure the cursor is on
 
3940 5788 d 13 h decky /trunk/kernel/ make hw_area API more generic
this allows mapping of EGA VRAM on ia32/amd64
 
3930 5789 d 8 h jermar /trunk/kernel/ Adapt most of the kernel to ioport8_t, ioport16_t and ioport32_t types.  
3908 5792 d 11 h decky /trunk/ overhaul pareas: use one single physical area for the physical address space not belonging to physical memory  
3902 5793 d 14 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 5808 d 8 h decky /trunk/ silent kernel console output when user space console is active  
3790 5831 d 18 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 5835 d 16 h jermar /trunk/kernel/ Only one kernel EGA driver to rule them all.  
3751 5843 d 18 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 5996 d 15 h decky /trunk/ reintroduce support for MSIM text console in user space  
3227 5997 d 10 h decky /trunk/kernel/arch/ia32/src/drivers/ remove unnecessary newline  
3104 6047 d 22 h svoboda /trunk/kernel/ Declare arguments for memstr.h operations as pointers instead of uintptr_t.  
2439 6419 d 8 h decky /trunk/kernel/arch/ia32/src/ fix ICC compilation  
2071 6553 d 9 h jermar /trunk/ (c) versus (C)  
2065 6567 d 8 h jermar /trunk/kernel/ Coding style fixes and formatting improvements.  
2015 6592 d 9 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 6743 d 11 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6750 d 13 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1754 6764 d 19 h jermar /kernel/trunk/ Indentation and some improved comments.
Remove forgotten comment from gxemul.sh.
 
1702 6771 d 15 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1473 6784 d 10 h decky /kernel/trunk/ kernel support for text-only framebuffer  
1296 6808 d 16 h vana /kernel/trunk/arch/ia32/src/drivers/ new line only if no clrscr  
756 6904 d 6 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 6905 d 5 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 6927 d 13 h jermar /kernel/trunk/ Memory management work.
Pass address space identifier to functions in page_operations to support single global page hash table.
 
623 6951 d 19 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 6956 d 13 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 6957 d 5 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 6962 d 10 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6962 d 10 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6974 d 15 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
492 6975 d 8 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 6989 d 10 h decky /SPARTAN/trunk/ major build system revision (unfinished)
this patchset most definitively breaks a lot of things, be patient
 
413 7010 d 6 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.
 
205 7057 d 20 h jermar /SPARTAN/trunk/ Get rid of memcopy().
All we now have is memcpy() and _memcpy().
memcpy() is defined to be builtin.
Where not applicable, architectures must implement memcpy() code or call slowish _memcopy().