Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
3994 5694 d 4 h decky /trunk/kernel/genarch/src/drivers/ega/ make sure the EGA framebuffer is initialized with proper attributes  
3982 5695 d 23 h jermar /trunk/kernel/ Do not set sysinfo for uspace drivers directly in the kernel drivers.  
3981 5696 d 0 h jermar /trunk/kernel/genarch/src/kbd/ Get rid of unused variable.  
3975 5697 d 4 h decky /trunk/kernel/genarch/src/drivers/ega/ keep original contents of the EGA framebuffer,
make sure the cursor is on
 
3963 5702 d 2 h jermar /trunk/kernel/ The kernel i8042 driver should be instance-neutral.  
3961 5702 d 2 h jermar /trunk/ Unbreak sparc64.
Due to the lack of userspace bus drivers for the z8530 and ns16550,
we are currently handling exactly one interrupt from these devices
in userspace.
 
3959 5702 d 20 h jermar /trunk/kernel/genarch/src/kbd/ Remove unneeded stuff from kernel's ns16550 driver.  
3958 5702 d 20 h jermar /trunk/kernel/genarch/src/kbd/ Do not include the IPC stuff in the i8042 kernel driver.  
3947 5703 d 0 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
 
3941 5703 d 21 h jermar /trunk/kernel/ Let IRQ claim methods take irq_t * instead of the instance argument.  
3940 5704 d 0 h decky /trunk/kernel/ make hw_area API more generic
this allows mapping of EGA VRAM on ia32/amd64
 
3938 5704 d 1 h jermar /trunk/kernel/genarch/ Embed the ns16550 irq structure into the ns16550 instance structure.  
3934 5704 d 18 h jermar /trunk/kernel/ Improve the ns16550 driver.

- The driver support multiple instances.
- It still remembers the last registered IRQ in a global structure (cannot be
easily fixed now)
- Was converted to use PIO directly
 
3932 5704 d 19 h jermar /trunk/kernel/ Kill arch/drivers/ega.h. Provide one-stop shopping
place for architectures with ia32 legacy I/O space.
 
3931 5704 d 20 h jermar /trunk/kernel/genarch/ Improve the i8042 kernel driver (phase I).

- Convert the code to be instance-aware
- Still using hardcoded initialization from legacy IO address
- Use elegant i8042 register map for PIO
 
3930 5704 d 20 h jermar /trunk/kernel/ Adapt most of the kernel to ioport8_t, ioport16_t and ioport32_t types.  
3928 5704 d 22 h jermar /trunk/kernel/ Kill arch/drivers/i8042.h.  
3927 5704 d 22 h jermar /trunk/kernel/genarch/ Nuke i8042_poll().  
3908 5707 d 23 h decky /trunk/ overhaul pareas: use one single physical area for the physical address space not belonging to physical memory  
3906 5708 d 19 h jermar /trunk/kernel/ IRQ handlers are using one superfluous argument and an unused elipsis.
On the other hand, IRQ claim functions would need to be passed the instance
argument.
 
3902 5709 d 2 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.
 
3900 5709 d 4 h jermar /trunk/ Get rid of CONFIG_NS16550_INTERRUPT_DRIVEN and CONFIG_I8042_INTERRUPT_DRIVEN.  
3877 5711 d 22 h decky /trunk/kernel/genarch/ remove (almost all) platform dependent code from drivers  
3876 5711 d 22 h decky /trunk/kernel/genarch/ add BGR 888 visual, remove FB_INVERT_ENDIAN  
3844 5723 d 20 h decky /trunk/ silent kernel console output when user space console is active  
3790 5747 d 6 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 5751 d 4 h jermar /trunk/kernel/ Only one kernel EGA driver to rule them all.  
3752 5759 d 6 h svoboda /trunk/kernel/genarch/src/fb/ Another memmove() instead of memcpy().  
3741 5761 d 1 h jermar /trunk/kernel/genarch/src/fb/ cstyle  
3733 5762 d 4 h decky /trunk/kernel/genarch/src/fb/ fix console overdrawing when is logo on  
3714 5769 d 1 h decky /trunk/kernel/ do not waist resources if no keyboard driver is used  
3710 5769 d 20 h decky /trunk/ resurrect kernel logo  
3709 5769 d 22 h decky /trunk/kernel/ invert VGA 3:2:3 palette to reflect changes in revision 3692  
3707 5769 d 23 h decky /trunk/ kconsole is optional
kernel & uspace framebuffer rewrite with speedups (some things are slightly broken yet)
 
3692 5775 d 20 h rimsky /trunk/ Fixed the bug when on SunBlade1500 we wrote to an address outside the framebuffer memory. A nasty hack to the 8-bit palette so that on sb1500 we do not have to turn black into white and white into black.  
3679 5779 d 17 h rimsky /trunk/ Added forgotten stuff related to framebuffers with offsets. Got rid of VISUAL_SB1500_PALETTE.  
3672 5780 d 22 h jermar /trunk/ Merge sparc branch to trunk.  
3661 5785 d 20 h vana /trunk/ IA64: repair similators support  
3657 5786 d 5 h vana /trunk/ Legacy IRQ support, uspace NS16550 support, some minor changes  
3655 5786 d 21 h jermar /trunk/kernel/ Add additional members to the irq_t structure so that an interrupt-driven driver
does not need to know how to clear the level interrupt. The z8530 was modified
in this way and is much more generic. The ns16550 driver has also been modified,
but awaits testing. The sparc64 interrupt mapping and dispatch code is now using
the new info and calls the clear-interrupt-routine itself.