Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/vga.c
RevisionDateAuthorComments
 1.120  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.119  24-Apr-2021  thorpej branches: 1.119.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.118  24-Apr-2020  ad branches: 1.118.4;
BUS_SPACE_MAP_PREFETCHABLE yields a write combining region on x86 and that's
not what I intended.. BUS_SPACE_MAP_CACHEABLE is enough.
 1.117  01-Dec-2019  ad branches: 1.117.6;
Map the video RAM cacheable/prefetchable, it's very slow and this helps a bit.
 1.116  10-Nov-2019  chs in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.115  01-Mar-2015  mlelstv branches: 1.115.18;
Also unmap video memory when detaching console
 1.114  14-Jan-2015  chs remove BIOS-mapping code that was #if-0'd in the previous commit.
 1.113  21-Aug-2014  macallan branches: 1.113.2;
#if 0 code to map the VGA BIOS
I've been unable to find any code that actually uses the mapping and we may
want to read the ROM from drm2.
If no users show up within a week or so I'll delete it.
 1.112  12-Jul-2014  mlelstv branches: 1.112.2;
detach wscons when detaching console
 1.111  04-Nov-2013  christos branches: 1.111.2;
mark variables __diagused
 1.110  21-Jan-2013  mlelstv branches: 1.110.2;
Make internal functions static
 1.109  09-Aug-2012  uwe branches: 1.109.2;
Reset flip/flop using dedicated vga_reset_state() macro we already have.
Explicit vga_raw_read() used here before was incorrect since it reads
from *wrong* io handle!

Fixes weird problem under VirtualBox where first switch to a different
VT caused text mode color 0 (normally black) to become something else.
 1.108  11-Jan-2012  macallan branches: 1.108.2;
wsfont_matches() and wsfont_find() take an extra parameter now
 1.107  08-Jun-2011  drochner branches: 1.107.2; 1.107.6;
add support for the interesting parts of ISO-2 and KOI8-R fonts
to the vga(4) driver
 1.106  09-Dec-2010  christos branches: 1.106.6;
PR/41415: IdOp: Implement save and restore palette for vga.
 1.105  19-Oct-2010  jmcneill If PCDISPLAY_SOFTCURSOR is defined, disable the hardware cursor on resume.
 1.104  19-Apr-2010  dyoung Add default implementations for bus_space_is_equal(9),
bus_space_tag_create(9), and bus_space_tag_destroy(9). Use
bus_space_is_equal(9) throughout the kernel to compare
bus_space_tag_t's. Tested on i386 and on sparc64.
 1.103  22-Mar-2010  dyoung pckbc.c, vga.c: It doesn't appear to be helpful to compare two
bus_space_tag_t's in pckbc_is_console() and vga_is_console(), and MI
code should never do such a thing, so don't do it.

tcic2.c: #if 0 some diagnostic code that compares two bus_space_tag_t's.
 1.102  25-Feb-2010  drochner branches: 1.102.2;
retire our private definitions for the scan1/3/5/7/9 DEC graphics
symbols, use the unicode definitions instead (which apparently didn't
exist when I wrote that)
 1.101  19-Feb-2009  jmcneill branches: 1.101.2;
Remove vesafb-specific hacks.
 1.100  16-Mar-2008  dyoung branches: 1.100.4; 1.100.12; 1.100.18;
Always deviter_release().
 1.99  14-Mar-2008  dyoung In vga_is_console(), use deviter_first/_next() and device_t accessors.
Ok cube@.
 1.98  14-Mar-2008  cube Split device_t and softc for all attachments of vga(4).
 1.97  09-Dec-2007  jmcneill branches: 1.97.6; 1.97.10;
Merge jmcneill-pm branch.
 1.96  19-Oct-2007  ad branches: 1.96.4; 1.96.6;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.95  28-Jul-2007  mjf branches: 1.95.4; 1.95.6; 1.95.10; 1.95.12;
Implement bounds checking in some places in display driver code to avoid
the possibility of a local user panic.
 1.94  19-Jul-2007  dsl include sys/cdefs.h before opt_xxx.h
 1.93  09-Jul-2007  ad branches: 1.93.2;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.92  04-Mar-2007  christos branches: 1.92.2; 1.92.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.91  16-Nov-2006  christos branches: 1.91.2; 1.91.4; 1.91.8;
__unused removal on arguments; approved by core.
 1.90  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.89  13-Sep-2006  christos branches: 1.89.2;
- use c99 initializers
- add missing initializer
 1.88  13-Aug-2006  jmcneill branches: 1.88.2;
Provide a method for other display drivers to ask vga to free resources
it had claimed while acting as the initial console device. This allows
(for example) vga to be the initial console, and an accelerated
framebuffer driver to take over later.
 1.87  15-Apr-2006  jmmv Remove the getwschar and putwschar accessops from wsdisplay drivers as
requested by uwe@. These were wrong because they were receiving an
emulcookie yet they were accessops (thus having to receive an accesscookie).
Instead, just handle the WSDISPLAYIO_{GET,PUT}WSCHAR ioctls from the
driver's ioctl accessop.

As this reduces the amount of code needed to handle these operations to
two small functions in each driver, remove the WSDISPLAY_CHARFUNCS kernel
option.

Reviewed by, at least, uwe@ and macallan@. No objections in tech-kern@.
 1.86  12-Apr-2006  jmmv Add an extra cookie to the ioctl and mmap wsdisplay accessops that points
to the screen on which they are being called. The driver cannot guess
this by itself but it is needed to implement, at least, the getwschar and
putwschar functions in the correct place. There are no functional changes
yet.

Tested on i386 (vga, vga_raster, machfb, vesafb), macppc and sparc64.
Suggested and reviewed by macallan@.
 1.85  05-Apr-2006  drochner Move the ga_getborder()/vga_setborder() calls from accessops to the
ioctl handler.
Also fix error reporting for the vga_getborder() call.
 1.84  19-Feb-2006  jmcneill branches: 1.84.2; 1.84.4; 1.84.6;
Prevent vga from attaching if vesafb is the console. Accessing VGA
registers after switching to a VESA linear framebuffer mode is not
guaranteed to work. This should fix the majority of the problems people
have been experiencing with vesafb.

XXX: Still doesn't fix the assertion in wscons with options DIAGNOSTIC.
 1.83  11-Dec-2005  christos branches: 1.83.2; 1.83.4; 1.83.6;
merge ktrace-lwp.
 1.82  21-Oct-2005  dbj decrement nscreens in vga_free_screen
this cleans up a crash on failed allocation, although
vga_free_screen may still be leaking resources
 1.81  27-Feb-2005  perry branches: 1.81.2; 1.81.4; 1.81.6; 1.81.8; 1.81.10;
nuke trailing whitespace
 1.80  13-Aug-2004  mycroft branches: 1.80.4; 1.80.6;
Fix two annoying display glitches with "fast scrolling" and
WSDISPLAY_SCROLLSUPPORT.
 1.79  08-Aug-2004  christos disable the quirk on the console so that it can scroll.
 1.78  30-Jul-2004  jmmv Fix initialitzation of border color at boot time through the
WSDISPLAY_BORDER_COLOR option, broken by a last-minute change.
Pointed out by xtraeme@.

Also back out the previous change by dogcow@, which was an attempt
to fix kernel builds that didn't define WSDISPLAY_CUSTOM_BORDER;
shouldn't be needed now. (Problem also introduced by the same
last-minute change; sorry).
 1.77  30-Jul-2004  dogcow let kernels that don't have WSDISPLAY_CUSTOM_BORDER compile again.
 1.76  29-Jul-2004  jmmv Implement border color customization in wscons(4), only available for vga(4)
at the moment.

This includes the addition of two new wsdisplay ioctls, WSDISPLAY_{G,S}BORDER,
one to get the actual color and one to set it, respectively. Possible colors
match those defined by ANSI (and listed in wsdisplayvar.h).

It also adds two accessops to the underlying graphics device, getborder and
setborder, which mach their ioctl counterparts.

Two kernel options are added: WSDISPLAY_CUSTOM_BORDER, which enables the
ioctls described above (to customize the border color from userland after
boot), and WSDISPLAY_BORDER_COLOR, which sets the color at boot time.
The former is enabled by default on the GENERIC kernel, but not on INSTALL
(among others). The later is always commented out, leaving the usual black
border as a default.

wsconsctl is modified to allow accessing this value easily. For example,
'wsconsctl -d -w border=blue'.
 1.75  28-Jul-2004  jmmv Implement support to dynamically change wscons console and kernel colors.

Two new ioctls are added to the wsdisplay device, named WSDISPLAY_GMSGATTRS
and WSDISPLAY_SMSGATTRS, used to retrieve the actual values and set them,
respectively (the name, if you are wondering, comes from "message attributes").

A new emulop is added to the underlying display driver (only vga, for now)
which sets the new attribute for the whole screen, without having to clear
it. This is optional, which means that this also works with other drivers
that don't have this new operation.

Five new kernel options have been added, although only documented in
i386 kernels (for now):
- WSDISPLAY_CUSTOM_OUTPUT, which enables the ioctls described above to
change the colors dynamically from userland. This is enabled by default
in the GENERIC kernel (as well as others) but disabled on all INSTALL*
kernels (as this feature is useless there).
- WS_DEFAULT_COLATTR, WS_DEFAULT_MONOATTR, WS_DEFAULT_BG and WS_DEFAULT_FG,
which specify the default colors for the console at boot time. These have
the same meaning as the (already existing) WS_KERNEL_* variables.

wsconsctl is modified to add msg.default.{attrs,bg,fg} and
msg.kernel.{attrs,bg,fg} to the display part, so that colors can be changed
after boot.

Tested on NetBSD/i386 with vga (and vga in mono mode), and on NetBSD/mac68k.
No objections in tech-kern@.
 1.74  29-May-2004  christos fix another scrolling use that leaked.
 1.73  28-May-2004  christos move scroll function definition last.
 1.72  28-May-2004  christos PR/19925: David Ferlier: Add scrolling support to wscons.
 1.71  29-Jun-2003  fvdl branches: 1.71.2; 1.71.4;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.70  28-Jun-2003  darrenr Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
 1.69  09-Feb-2003  jdolecek make 'name' and 'data' of struct wsdisplay_font const, mark data arrays
in font sources const
 1.68  31-Jan-2003  tsutsui Changes to allow machines which don't use text mode at the boot time
to use generic VGA driver(s):
- Allow VGA drivers to use wsfont instead of builtin font.
- Add vga_reset() function, which will be called from MD consinit(),
to put VGA into text mode. This function is enabled by options VGA_RESET.
 1.67  27-Jan-2003  tsutsui - Replace some magic numbers with proper macro.
- Use vga_6845_{read,write}() defined in pcdisplayvar.h and
remove vga_crtc_{read,write}() macros in vgareg.h.
 1.66  27-Jan-2003  tsutsui KNF and space/TAB cleanup.
 1.65  20-Jan-2003  simonb Remove unreachable break after return.
 1.64  15-Oct-2002  junyoung Move vga_common_probe() to vga_common.c. vga_common.c contains common
stuff between existing char-cell VGA driver and raster VGA driver to
come shortly.
 1.63  08-Jul-2002  drochner save quirks in softc, obey VGA_QUIRK_NOFASTSCROLL
 1.62  07-Jul-2002  junyoung No need to include opt_vga.h here, since it is included in vgavar.h.
 1.61  07-Jul-2002  junyoung There's no function like vga_common_setup.
 1.60  07-Jul-2002  junyoung Rename vc_ccol and vc_crow in struct pcdisplayscreen to cursorcol
and cursorrow, respectively, to be consistent with other members
in the structure.
 1.59  04-Jul-2002  junyoung alloc_attr -> allocattr

Approved by Matthias Drochner.
 1.58  01-Jul-2002  drochner simplify console initialization a bit, avoid wasting
memory in attach(), and add some commemts
 1.57  01-Jul-2002  christos more cleanups from Julio Merino.
 1.56  28-Jun-2002  drochner clean up font handling:
-treat the builtin font like any other font at runtime
-for that, copy it to malloc()'d memory during attach()
-in early console initialization, if we have to consider a broken card
(VGA_CONSOLE_ATI_BROKEN_FONTSEL), copy the builtin font to another
location in font ram; the attach() code will do the rest
put the "quirk" code into effect again
 1.55  28-Jun-2002  junyoung Do the necessaries when the builtin font gets saved in slot 1.
 1.54  27-Jun-2002  junyoung - Work around a hardware bug that loaded fonts don't work, which is
found on many (all?) of PCI-based ATI graphics cards. It is fully optional
and can be enabled by adding `options VGA_CONSOLE_ATI_BROKEN_FONTSEL'
to config file.
- Temporarily remove `quirk' mechanism. Similar code already exists
in pci_quirks.c.
 1.53  26-Jun-2002  christos PR/17402: Add wsmoused support by providing get/set char and events.
 1.52  26-Jun-2002  drochner 2 fixes:
-Don't assume fonts to start with character 0, load at the
right offset. Now we can use eg wsfont/bold8x16.h which
starts with chr(1).
-Don't touch the hardware if a font is set for a screen which is
not active.
 1.51  25-Jun-2002  drochner allow to overwrite the builtin VGA font if necessary,
make the number of available font slots variable,
set up a "quirk" mechanism to tell the generic vga code about crippled
VGA adapters which ignore the "fontsel" TS register,
initiate the quirk table with an ATI chip which happened to be on a board
I tested with.
Afaik quite a number of ATI chips suffers from the "loaded fonts don't
work" problem - these should be added.
Bad side effect of my change: The builtin font will be kicked out
always if a VGA_CONSOLE_SCREENTYPE is specified which needs a loaded
font. In early console initialization, we don't know much about the
graphics card, so we have to assume the worst (ie ATI:-).
 1.50  04-Apr-2002  hannken branches: 1.50.2;
Avoid dereferencing null pointer. `data->name == NULL' means default font.
 1.49  17-Mar-2002  atatat Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command". ERESTART is -1, which can lead to
confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4. No ioctl code should now return -1 anywhere. The
ioctl() system call is now properly restartable.
 1.48  13-Mar-2002  ad Fix botch in previous.
 1.47  13-Mar-2002  ad Reorganise the wsfont stuff slightly so that multiple display adapters
with different bit/byte order requirements can co-exist happily.
 1.46  23-Jan-2002  lukem Add support for WSCONS screenblank ioctls. From Phil Budne in [kern/15213].
 1.45  13-Dec-2001  junyoung ANSIfication & cosmetic changes.
 1.44  02-Dec-2001  bjh21 Add comments naming our private-use characters (in lower case, to make them
distinct from real Unicode characters).
 1.43  13-Nov-2001  lukem add/cleanup RCSID
 1.42  14-Sep-2001  thorpej Allow bus front-end to provide both ioctl and mmap entry points,
and also the wsdisplay type.

Based on changes from Simon Burge <simonb@wasabisystems.com>.
 1.41  10-Sep-2001  drochner remove all traces when a font is removed
 1.40  07-Sep-2001  drochner concentrate screen initialization into vga_init_screen() where it belongs
 1.39  04-Sep-2001  drochner branches: 1.39.2;
simplify the way the "active screen" is kept track of a bit
 1.38  04-Sep-2001  drochner -fix a debug message
-unref font(s) if a screen is deleted, so they could be unloaded
if dev/wsfont supported it
-add missing pieces to support screen types with font sizes != 8x16
as system console - now
options VGA_CONSOLE_SCREENTYPE="\"80x50\""
options FONT_VT220L8x8
gives you what you'd expect
 1.37  03-Sep-2001  drochner manage fonts through the wsfont framework, which allows to use both
compiled-in or runtime loaded fonts,
keep font pointers in a LRU queue and load into the adapter on demand,
so we can have more fonts in use than physical font slots

CAUTION: font loading through the wsdisplay device directly into the
adapter doesn't work anymore!
 1.36  07-Jul-2001  thorpej branches: 1.36.2;
bcopy -> memcpy
 1.35  18-Jan-2001  jdolecek branches: 1.35.2;
constify
 1.34  15-Sep-2000  drochner -make the default screentype override less invasive, call it
VGA_CONSOLE_SCREENTYPE because the screen types are hardware specific
and make it affect the console only (no need to change runtime
behaviour), don't call vga_setscreentype() unless necessary (to avoid
trouble with strange hardware - PR kern/11025)
-some beginnings of ISO-7 (greek) font support
 1.33  10-Sep-2000  lukem * rename vga_stdscreen* -> vga_25lscreen*
* in vga_init(), set the screen type to WSCONS_DEFAULT_TYPE, which defaults
to "80x25".
XXX: the code currently makes no attempt to ensure that a font
with the appropriate width & height is available, effectively
limiting this default to either "80x25" or "80x24" at this
time.
* make wsdisplay_screentype_pick() non static, so that vga_init() can use it
 1.32  14-Aug-2000  thorpej Just add the mmap argument to vga_common_attach(), don't bother
with vga_extended_attach().
 1.31  08-Aug-2000  jeffs Update arc map routine prototype to compile again.
 1.30  15-Jul-2000  drochner define "80x24" screen types for better vt100 compatibility
 1.29  26-Jun-2000  simonb Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.28  17-Jun-2000  soda branches: 1.28.2;
add vga_extended_attach function on arc port, to make mmap() available.
XXX - is it better to remove "#ifdef arc"?
 1.27  08-Jun-2000  cgd don't include ISA headers. these have been properly abstracted so that
the ISA headers are unnecessary, and they're used by PCI VGA. There may
not be any ISA at all.
 1.26  23-Mar-2000  thorpej branches: 1.26.2;
New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.25  25-Jan-2000  ad Finish with fixing the SOFTCURSOR stuff.
 1.24  05-Jan-2000  ad Add and use pcdisplay_cursor_init(). Still a couple of nits with this, I
will resolve when I can test properly.
 1.23  13-Dec-1999  drochner fix off-by-one error in font table initialisation
(mostly harmless because it is zero initialized in most cases anyway)
 1.22  06-Dec-1999  drochner do the screen switch asynchronously (via timeout(0)) if possible,
this hopefully helps for the (very rare) display corruption reported
in PR kern/8628
 1.21  03-Nov-1999  mycroft Only update the cursor state if it's enabled.
 1.20  29-Sep-1999  ad branches: 1.20.2; 1.20.4; 1.20.6;
PCDISPLAY_SOFTCURSOR: remember state of cursor during full screen scroll.
 1.19  19-Sep-1999  ad Software cursor is not enabled at boot time. Hardware cursor is.
 1.18  19-Sep-1999  ad - mc6845's cursor is disabled by punching bit 6 of cursor start register.
- Add new option (PCDISPLAY_SOFTCURSOR) that provides a large, non-blinking
cursor in software.
 1.17  10-Apr-1999  drochner add support for 80x40 screens
 1.16  01-Apr-1999  drochner branches: 1.16.4;
use defopted WSCONS_SUPPORT_PCVTFONTS, refuse to load pcvt fonts if this
option is not given, suppress complaints in non-debug case
 1.15  22-Mar-1999  drochner set "fontset" variables to 0 if no appropriate font was found for a
freshly allocated screen, should fix panic if "vga_mapchar()" it
attempted later
 1.14  20-Feb-1999  drochner complete mapping table for pcvt fonts, make dual-font selection work
as intended
 1.13  12-Feb-1999  drochner change the "mapchar" interface to return a "quality" or "match level"
arguments which allows to find approximations for characters which are
not present in a font
 1.12  13-Jan-1999  drochner -implement new wscons font handling with separate download and selection
calls
-support use of 2 fonts simultanously; this costs the ability to
"highlight", ie to use the upper 8 colours
-define screen types "80x25bf" and "80x50bf" which use this ability
-add conditional code to deal with the weird mapping of pcvt's
supplemental fonts
 1.11  09-Jan-1999  drochner Allow to deallocate also the currently visible virtual screen (unless
it is the console).
This requires vva_show_screen() to catch the case where it has no screen
to switch from, ie no need to save the current state.
 1.10  30-Dec-1998  augustss Add a wscons display type `unknown' that the generic VGA driver can
return until someone fixes it for real.
 1.9  13-Aug-1998  eeh Merge paddr_t changes into the main branch.
 1.8  24-Jul-1998  drochner branches: 1.8.2;
Overload the generic "copyrows" function by a private one which implents
a "fast scroll" by setting the display start in memory.
(Only implemented for "scroll up" because this is more used. "scroll down"
is easy to add.)
This moves the semantics of "copyrows" to something like "moverows";
the contents of the new visible lines at the bottom is undefined.
The emulations can live without the original "copy" semantics.
 1.7  26-Jun-1998  drochner do the charcter mapping in a separate function
 1.6  20-Jun-1998  drochner adapt to wscons changes, treat incoming characters always as ISO
(ie, convert to IBM)
 1.5  12-Jun-1998  drochner reserve the VGA BIOS area (but don't worry if it fails)
 1.4  28-May-1998  drochner Put definitions and subroutines needed for all PC display adapters
(MGA/GCA and compatibles) into global headers / source files.
Let the VGA driver use them.
 1.3  14-May-1998  drochner Simple screen attribute handling for wscons.
The graphics device driver passes a "default attribute" for normal text
output to the wscons framework. If the emulation module needs more
attributes (for different "renditions") it can allocate them via a
callback.
For now, only the "sun" emulation makes use of it.
 1.2  07-Apr-1998  drochner Avoid namespace pollution.
 1.1  22-Mar-1998  drochner initial import of VGA driver backend for use with the new wscons code
 1.8.2.2  08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.8.2.1  07-Aug-1998  drochner make it compile in paddr_t world
 1.16.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.20.6.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.20.4.1  15-Nov-1999  fvdl Sync with -current
 1.20.2.2  11-Feb-2001  bouyer Sync with HEAD.
 1.20.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.26.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.28.2.3  31-Aug-2000  drochner pullup rev. 1.30:
define "80x24" screen types for better vt100 compatibility
(manpage was already pulled up)
 1.28.2.2  08-Aug-2000  jeffs Pull up revision 1.31 (approved by thorpej):
Fix compile problem with paddr_t.
 1.28.2.1  30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.35.2.9  18-Oct-2002  nathanw Catch up to -current.
 1.35.2.8  01-Aug-2002  nathanw Catch up to -current.
 1.35.2.7  17-Apr-2002  nathanw Catch up to -current.
 1.35.2.6  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.35.2.5  28-Feb-2002  nathanw Catch up to -current.
 1.35.2.4  08-Jan-2002  nathanw Catch up to -current.
 1.35.2.3  14-Nov-2001  nathanw Catch up to -current.
 1.35.2.2  21-Sep-2001  nathanw Catch up to -current.
 1.35.2.1  24-Aug-2001  nathanw Catch up with -current.
 1.36.2.6  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.36.2.5  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.36.2.4  16-Mar-2002  jdolecek Catch up with -current.
 1.36.2.3  11-Feb-2002  jdolecek Sync w/ -current.
 1.36.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.36.2.1  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.39.2.1  01-Oct-2001  fvdl Catch up with -current.
 1.50.2.1  15-Jul-2002  gehenna catch up with -current.
 1.71.4.6  12-Aug-2007  bouyer Pull up following revision(s) (requested by mjf in ticket #11348):
Pull up following revision(s) (requested by mjf in ticket #11348):
sys/dev/ic/pcdisplay_subr.c: revision 1.33 via patch
sys/dev/ic/vga_raster.c: revision 1.29 via patch
sys/dev/ic/vga.c: revision 1.95 via patch
sys/dev/rasops/rasops.c: revision 1.56 via patch
sys/dev/isa/ega.c: revision 1.23 via patch
Implement bounds checking in some places in display driver code to avoid
the possibility of a local user panic.
Set the 'ri' pointer before use.
 1.71.4.5  22-Aug-2004  tron branches: 1.71.4.5.2; 1.71.4.5.4;
Pull up revision 1.80 (requested by recht in ticket #774):
Fix two annoying display glitches with "fast scrolling" and
WSDISPLAY_SCROLLSUPPORT.
 1.71.4.4  22-Aug-2004  tron Pull up revision 1.79 (requested by recht in ticket #774):
disable the quirk on the console so that it can scroll.
 1.71.4.3  07-Jun-2004  tron Pull up revision 1.74 (requested by recht in ticket #451):
fix another scrolling use that leaked.
 1.71.4.2  07-Jun-2004  tron Pull up revision 1.73 (requested by recht in ticket #451):
move scroll function definition last.
 1.71.4.1  07-Jun-2004  tron Pull up revision 1.72 (requested by recht in ticket #451):
PR/19925: David Ferlier: Add scrolling support to wscons.
 1.71.4.5.4.1  12-Aug-2007  bouyer Pull up following revision(s) (requested by mjf in ticket #11348):
Pull up following revision(s) (requested by mjf in ticket #11348):
sys/dev/ic/pcdisplay_subr.c: revision 1.33 via patch
sys/dev/ic/vga_raster.c: revision 1.29 via patch
sys/dev/ic/vga.c: revision 1.95 via patch
sys/dev/rasops/rasops.c: revision 1.56 via patch
sys/dev/isa/ega.c: revision 1.23 via patch
Implement bounds checking in some places in display driver code to avoid
the possibility of a local user panic.
Set the 'ri' pointer before use.
 1.71.4.5.2.1  11-Aug-2007  bouyer Pull up following revision(s) (requested by mjf in ticket #11348):
sys/dev/ic/pcdisplay_subr.c: revision 1.33 via patch
sys/dev/ic/vga_raster.c: revision 1.29 via patch
sys/dev/ic/vga.c: revision 1.95 via patch
sys/dev/rasops/rasops.c: revision 1.56 via patch
sys/dev/isa/ega.c: revision 1.23 via patch
Implement bounds checking in some places in display driver code to avoid
the possibility of a local user panic.
Set the 'ri' pointer before use.
 1.71.2.8  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.71.2.7  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.71.2.6  21-Sep-2004  skrll Fix the sync with head I botched.
 1.71.2.5  18-Sep-2004  skrll Sync with HEAD.
 1.71.2.4  25-Aug-2004  skrll Sync with HEAD.
 1.71.2.3  12-Aug-2004  skrll Sync with HEAD.
 1.71.2.2  03-Aug-2004  skrll Sync with HEAD
 1.71.2.1  02-Jul-2003  darrenr Apply the aborted ktrace-lwp changes to a specific branch. This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it. This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.
 1.80.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.80.4.1  29-Apr-2005  kent sync with -current
 1.81.10.1  06-Aug-2007  ghen Pull up following revision(s) (requested by mjf in ticket #1815):
sys/dev/ic/pcdisplay_subr.c: revision 1.33 via patch
sys/dev/ic/vga_raster.c: revision 1.29 via patch
sys/dev/ic/vga.c: revision 1.95 via patch
sys/dev/rasops/rasops.c: revision 1.56 via patch
sys/dev/isa/ega.c: revision 1.23 via patch
Implement bounds checking in some places in display driver code to avoid
the possibility of a local user panic.
Set the 'ri' pointer before use.
 1.81.8.1  06-Aug-2007  ghen Pull up following revision(s) (requested by mjf in ticket #1815):
sys/dev/ic/pcdisplay_subr.c: revision 1.33 via patch
sys/dev/ic/vga_raster.c: revision 1.29 via patch
sys/dev/ic/vga.c: revision 1.95 via patch
sys/dev/rasops/rasops.c: revision 1.56 via patch
sys/dev/isa/ega.c: revision 1.23 via patch
Implement bounds checking in some places in display driver code to avoid
the possibility of a local user panic.
Set the 'ri' pointer before use.
 1.81.6.1  26-Oct-2005  yamt sync with head
 1.81.4.6  17-Mar-2008  yamt sync with head.
 1.81.4.5  21-Jan-2008  yamt sync with head
 1.81.4.4  27-Oct-2007  yamt sync with head.
 1.81.4.3  03-Sep-2007  yamt sync with head.
 1.81.4.2  30-Dec-2006  yamt sync with head.
 1.81.4.1  21-Jun-2006  yamt sync with head.
 1.81.2.1  06-Aug-2007  ghen Pull up following revision(s) (requested by mjf in ticket #1815):
sys/dev/ic/pcdisplay_subr.c: revision 1.33 via patch
sys/dev/ic/vga_raster.c: revision 1.29 via patch
sys/dev/ic/vga.c: revision 1.95 via patch
sys/dev/rasops/rasops.c: revision 1.56 via patch
sys/dev/isa/ega.c: revision 1.23 via patch
Implement bounds checking in some places in display driver code to avoid
the possibility of a local user panic.
Set the 'ri' pointer before use.
 1.83.6.1  22-Apr-2006  simonb Sync with head.
 1.83.4.1  09-Sep-2006  rpaulo sync with head
 1.83.2.1  01-Mar-2006  yamt sync with head.
 1.84.6.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.84.4.1  19-Apr-2006  elad sync with head.
 1.84.2.4  14-Sep-2006  yamt sync with head.
 1.84.2.3  03-Sep-2006  yamt sync with head.
 1.84.2.2  24-May-2006  yamt sync with head.
 1.84.2.1  11-Apr-2006  yamt sync with head
 1.88.2.1  18-Nov-2006  ad Sync with head.
 1.89.2.2  10-Dec-2006  yamt sync with head.
 1.89.2.1  22-Oct-2006  yamt sync with head
 1.91.8.1  03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.91.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.91.2.1  30-Jul-2007  liamjfoy Pull up following revision(s) (requested by mjf in ticket #799):
sys/dev/ic/pcdisplay_subr.c: revision 1.33
sys/dev/wscons/wsdisplay_vcons.c: revision 1.12
sys/dev/wscons/wsdisplay_vcons.c: revision 1.13
sys/dev/ic/vga_raster.c: revision 1.29
sys/dev/pci/chipsfb.c: revision 1.10
sys/dev/ic/vga.c: revision 1.95
sys/dev/rasops/rasops.c: revision 1.56
sys/dev/isa/ega.c: revision 1.23
Implement bounds checking in some places in display driver code to avoid
the possibility of a local user panic.
Set the 'ri' pointer before use.
 1.92.4.1  11-Jul-2007  mjf Sync with head.
 1.92.2.4  23-Oct-2007  ad Sync with head.
 1.92.2.3  12-Oct-2007  ad Fix merge errors.
 1.92.2.2  20-Aug-2007  ad Sync with HEAD.
 1.92.2.1  01-Jul-2007  ad Adapt to callout API change.
 1.93.2.1  15-Aug-2007  skrll Sync with HEAD.
 1.95.12.2  28-Jul-2007  mjf Implement bounds checking in some places in display driver code to avoid
the possibility of a local user panic.
 1.95.12.1  28-Jul-2007  mjf file vga.c was added on branch matt-mips64 on 2007-07-28 20:28:57 +0000
 1.95.10.1  25-Oct-2007  bouyer Sync with HEAD.
 1.95.6.3  23-Mar-2008  matt sync with HEAD
 1.95.6.2  09-Jan-2008  matt sync with HEAD
 1.95.6.1  06-Nov-2007  matt sync with HEAD
 1.95.4.4  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.95.4.3  01-Oct-2007  joerg Extend device API by device_power_private and device_power_set_private.
The latter is a temporary mean until the pnp_register API itself is
overhault. This functions allow a generic power handler to store its
state independent of the driver.

Use this and revamp the PCI power handling. Pretty much all PCI devices
had power handlers that did the same thing, generalize this in
pci_generic_power_register/deregister and the handler. This interface
offers callbacks for the drivers to save and restore state on
transistions. After a long discussion with jmcneill@ it was considered
to be powerful enough until evidence is shown that devices can handle
D1/D2 with less code and higher speed than without the full
save/restore. The generic code is carefully written to handle device
without PCI-PM support and ensure that the correct registers are written
to when D3 loses all state.

Reimplement the generic PCI network device handling on
top of PCI generic power handling.

Introduce pci_disable_retry as used and implemented locally at least by
ath(4) and iwi(4). Use it in this drivers to restore behaviour from
before the introduction of generic PCI network handling.

Convert all PCI drivers that were using pnp_register to the new
framework. The only exception is vga(4) as it is commonly used as
console device. Add a note therein that this should be fixed later.
 1.95.4.2  04-Aug-2007  jmcneill Don't bother running vga_initregs on resume.
 1.95.4.1  03-Aug-2007  jmcneill Pull in power management changes from private branch.
 1.96.6.1  11-Dec-2007  yamt sync with head.
 1.96.4.1  26-Dec-2007  ad Sync with head.
 1.97.10.1  03-Apr-2008  mjf Sync with HEAD.
 1.97.6.1  24-Mar-2008  keiichi sync with head.
 1.100.18.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.100.12.1  03-Mar-2009  skrll Sync with HEAD.
 1.100.4.3  11-Aug-2010  yamt sync with head.
 1.100.4.2  11-Mar-2010  yamt sync with head
 1.100.4.1  04-May-2009  yamt sync with head.
 1.101.2.2  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.101.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.102.2.3  12-Jun-2011  rmind sync with head
 1.102.2.2  05-Mar-2011  rmind sync with head
 1.102.2.1  30-May-2010  rmind sync with head
 1.106.6.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.107.6.1  18-Feb-2012  mrg merge to -current.
 1.107.2.4  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.107.2.3  23-Jan-2013  yamt sync with head
 1.107.2.2  30-Oct-2012  yamt sync with head
 1.107.2.1  17-Apr-2012  yamt sync with head
 1.108.2.1  12-Aug-2012  martin Pull up following revision(s) (requested by uwe in ticket #472):
sys/dev/ic/vga.c: revision 1.109
Reset flip/flop using dedicated vga_reset_state() macro we already have.
Explicit vga_raw_read() used here before was incorrect since it reads
from *wrong* io handle!
Fixes weird problem under VirtualBox where first switch to a different
VT caused text mode color 0 (normally black) to become something else.
 1.109.2.3  03-Dec-2017  jdolecek update from HEAD
 1.109.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.109.2.1  25-Feb-2013  tls resync with head
 1.110.2.1  18-May-2014  rmind sync with head
 1.111.2.1  10-Aug-2014  tls Rebase.
 1.112.2.1  14-Jan-2015  martin Pull up following revision(s) (requested by chs in ticket #418):
sys/dev/ic/vga.c: revision 1.113
sys/dev/ic/vga.c: revision 1.114
sys/dev/ic/vga_raster.c: revision 1.42
sys/dev/ic/vga_raster.c: revision 1.43
sys/dev/ic/vgavar.h: revision 1.31
sys/dev/ic/vgavar.h: revision 1.33
I've been unable to find any code that actually uses the mapping and we may
want to read the ROM from drm2.
If no users show up within a week or so I'll delete it.
remove BIOS-mapping code that was #if-0'd in the previous commit.
 1.113.2.1  06-Apr-2015  skrll Sync with HEAD
 1.115.18.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.115.18.1  08-Apr-2020  martin Merge changes from current as of 20200406
 1.117.6.1  25-Apr-2020  bouyer Sync with bouyer-xenpvh-base2 (HEAD)
 1.118.4.1  02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.119.8.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed