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
3960 5615 d 19 h jermar /trunk/kernel/genarch/include/kbd/ Remove extern declarations.  
3959 5615 d 19 h jermar /trunk/kernel/genarch/src/kbd/ Remove unneeded stuff from kernel's ns16550 driver.  
3958 5615 d 19 h jermar /trunk/kernel/genarch/src/kbd/ Do not include the IPC stuff in the i8042 kernel driver.  
3947 5616 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 5616 d 20 h jermar /trunk/kernel/ Let IRQ claim methods take irq_t * instead of the instance argument.  
3940 5617 d 0 h decky /trunk/kernel/ make hw_area API more generic
this allows mapping of EGA VRAM on ia32/amd64
 
3938 5617 d 0 h jermar /trunk/kernel/genarch/ Embed the ns16550 irq structure into the ns16550 instance structure.  
3934 5617 d 17 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 5617 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 5617 d 19 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 5617 d 19 h jermar /trunk/kernel/ Adapt most of the kernel to ioport8_t, ioport16_t and ioport32_t types.  
3928 5617 d 21 h jermar /trunk/kernel/ Kill arch/drivers/i8042.h.  
3927 5617 d 21 h jermar /trunk/kernel/genarch/ Nuke i8042_poll().  
3908 5620 d 22 h decky /trunk/ overhaul pareas: use one single physical area for the physical address space not belonging to physical memory  
3907 5621 d 7 h decky /trunk/kernel/ remove forgotten #ifdef arch  
3906 5621 d 18 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 5622 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 5622 d 3 h jermar /trunk/ Get rid of CONFIG_NS16550_INTERRUPT_DRIVEN and CONFIG_I8042_INTERRUPT_DRIVEN.  
3877 5624 d 21 h decky /trunk/kernel/genarch/ remove (almost all) platform dependent code from drivers  
3876 5624 d 21 h decky /trunk/kernel/genarch/ add BGR 888 visual, remove FB_INVERT_ENDIAN  
3844 5636 d 20 h decky /trunk/ silent kernel console output when user space console is active  
3790 5660 d 5 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 5664 d 3 h jermar /trunk/kernel/ Only one kernel EGA driver to rule them all.  
3752 5672 d 6 h svoboda /trunk/kernel/genarch/src/fb/ Another memmove() instead of memcpy().  
3741 5674 d 0 h jermar /trunk/kernel/genarch/src/fb/ cstyle  
3733 5675 d 3 h decky /trunk/kernel/genarch/src/fb/ fix console overdrawing when is logo on  
3714 5682 d 1 h decky /trunk/kernel/ do not waist resources if no keyboard driver is used  
3710 5682 d 20 h decky /trunk/ resurrect kernel logo  
3709 5682 d 22 h decky /trunk/kernel/ invert VGA 3:2:3 palette to reflect changes in revision 3692  
3707 5682 d 22 h decky /trunk/ kconsole is optional
kernel & uspace framebuffer rewrite with speedups (some things are slightly broken yet)
 
3704 5682 d 22 h decky /trunk/kernel/genarch/include/kbd/ add header  
3692 5688 d 19 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 5692 d 16 h rimsky /trunk/ Added forgotten stuff related to framebuffers with offsets. Got rid of VISUAL_SB1500_PALETTE.  
3672 5693 d 21 h jermar /trunk/ Merge sparc branch to trunk.  
3661 5698 d 20 h vana /trunk/ IA64: repair similators support  
3657 5699 d 5 h vana /trunk/ Legacy IRQ support, uspace NS16550 support, some minor changes  
3655 5699 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.
 
3646 5700 d 22 h jermar /trunk/kernel/ Initial support for interrupt driven driver for ns16550.  
3581 5717 d 18 h jermar /trunk/kernel/ Some cstyle.  
3577 5718 d 9 h vana /trunk/kernel/ Support for serial port console on IA64 as a compensation for keyboard - based on SPARC ns16550 driver