Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/machfb.c
RevisionDateAuthorComments
 1.107  25-Sep-2022  thorpej Remove unnecessary include of <sys/malloc.h>.
 1.106  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.105  21-Jun-2021  christos branches: 1.105.2;
fix proplib deprecation
 1.104  24-Apr-2021  thorpej branches: 1.104.2;
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.103  10-Oct-2020  jdc branches: 1.103.4;
Don't change a videomode that's been setup in the firmware.
Extend the register debugging output (and hopefully make it easier to read).
 1.102  07-Aug-2020  macallan the drawing engine needs a stride that's a multiple of 8 in pixels, so
let's actually distinguish between width and stride, and always round the stride
up to the next multiple of 8
now modes with odd widths work
 1.101  07-Aug-2020  jdc Also set the bits for horizontal sync start delay. This makes machfb work
correctly for some modes (e.g. 1152x720).
Modify mach64_get_mode() to get the mode from the chip registers (only used
with debug on).
Whilst here tidy up some other debug output.
 1.100  30-Jul-2020  macallan if we find composity sync enabled, leave it on instead of unconditionally
enabling it on sparc*
 1.99  05-Jul-2020  martin Adapt to proplib interface changes
 1.98  07-Dec-2019  macallan clean up the video mode selection logic, switch modes only when actually
necessary
while there make some debug output optional
 1.97  05-Feb-2019  mrg branches: 1.97.4;
add or adjust fallthru comments.
 1.96  03-Feb-2019  tnn machfb: guard against absent mode information from firmware
 1.95  03-Sep-2018  riastradh Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.94  02-Jun-2017  macallan branches: 1.94.8; 1.94.10;
enable font loading and screen resizing, now that the glyph cache can be
reconfigured whenever needed
 1.93  28-May-2017  macallan g/c some unused / #if 0-ed goop, support firmware-provided EDID, get rid of
private list of video modes
tested on macppc, should Just Work(tm) on sparc64
 1.92  11-Jul-2016  msaitoh KNF. No functional change.
 1.91  18-Dec-2013  macallan branches: 1.91.6;
get rid of /dev/fb support which has never been used for anything other than
some highly experimental code in xf86/Xsun
 1.90  06-Nov-2013  macallan Don't turn off aperture registers - some firmwares don't know how to turn
them back on. Also distinguish between WSDISPLAYIO_MODE_MAPPED and _DUMBFB -
we only need to turn the registers off in _DUMBFB mode when mapping all 8MB
of video memory.
 1.89  09-Oct-2013  macallan support WSDISPLAYIO_GET_FBINFO
 1.88  30-Jul-2013  macallan avoid uninitialized use of defattr
 1.87  28-May-2013  macallan branches: 1.87.2;
support RI_FULLCLEAR
 1.86  27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.85  05-Oct-2012  macallan gc_attr is no more
 1.84  01-Oct-2012  jdc Match the Rage Mobility M1 used in the Tadpole SPARCle.
 1.83  16-Aug-2012  macallan branches: 1.83.2;
fix a bunch of typos, thinkos and cargocultos
 1.82  15-Aug-2012  macallan don't forget to clear the screen and wipe the glyph cache when re-entering
terminal emulation mode
 1.81  15-Aug-2012  macallan some cleanup:
- get rid of some redundant variables ( sc_*phys and sc_*base were essentially
the same )
- we don't access video memory directly anymore, so:
* no more need for byte order tests
* don't map video memory if we have a MMIO register aperture
* get rid of various bits of support code dealing with video memory
access
- use MMIO register aperture if available, turn off register blocks in the main
aperture if not in use, to avoid overlap with video memory on 8MB cards
- don't scissor off access to off-screen memory. How the hell did this work on
Rage II? Apparently Rage XL treats the scissor registers slightly different.
Now this works properly on 8MB and Rage XL boards like Sun's PGX64.
 1.80  03-Aug-2012  macallan machfb's memsize is in MB, glyphcache_init expects bytes. doh.
 1.79  02-Aug-2012  macallan add support for anti-aliased fonts
 1.78  14-Jun-2012  macallan more preparation for alpha support:
- use R3G3B2 colour map
- consistently use ri_devcmap[]
- reshuffle cmap setup, screen cleaning, msg buffer replay etc. to deal
with the above
 1.77  14-Jun-2012  macallan do some minimal setup if we're not the console
 1.76  14-Jun-2012  macallan cosmetics:
- fix/remove outdated comments
- printf() -> aprint_*()
- #if 1 removal
 1.75  08-May-2012  macallan don't enable IO access - we don't use it and at least on some macppc machines
the IO BAR contains garbage
should probably be pulled into 6.0
 1.74  13-Mar-2012  elad Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with
something meaningful. All relevant documentation has been updated or
written.

Most of these changes were brought up in the following messages:

http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html
http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html
http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html

Thanks to christos, manu, njoly, and jmmv for input.

Huge thanks to pgoyette for spinning these changes through some build
cycles and ATF.
 1.73  30-Jan-2012  drochner branches: 1.73.2;
Use pci_aprint_devinfo(9) instead of pci_devinfo+aprint_{normal,naive}
where it looks straightforward, and pci_aprint_devinfo_fancy in a few
others where drivers want to supply their own device names instead
of the pcidevs generated one. More complicated cases, where names
are composed at runtime, are left alone for now. It certainly makes
sense to simplify the drivers here rather than inventing a catch-all API.
This should serve as as example for new drivers, and also ensure
consistent output in the AB_QUIET ("boot -q") case. Also, it avoids
excessive stack usage where drivers attach child devices because the
buffer for the device name is not kept on the local stack anymore.
 1.72  11-Jan-2012  macallan use rasops_init(0, 0)
 1.71  04-Aug-2011  jakllsch branches: 1.71.2; 1.71.6;
Fix machfb build on ports not based on powerpc or sparc.
 1.70  03-Aug-2011  macallan don't try to a 'better' vertical frequency, it's almost certainly wrong with
flat panels
 1.69  01-Aug-2011  mbalmer According to the Oxford Dictionary of Etymology, a wether is a male sheep
or ram.
 1.68  29-Jun-2011  macallan support WSDISPLAYIO_GET_EDID
 1.67  01-Jun-2011  macallan move wsdisplay_accessops into the softc so multiple instances have a chance
to work without stepping on each other's toes
 1.66  16-May-2011  macallan don't leave a mess on screen when attaching, while there use VCONS_DONT_READ
if VCONS_DRAW_INTR is set
 1.65  10-May-2011  dyoung Stop abuse of PCI_FLAGS_IO_ENABLED and PCI_FLAGS_MEM_ENABLED. The flags
specifically tell a driver that bridges upstream forward PCI I/O (or
memory) transactions to the device." Only bus drivers have any business
modifying these.
 1.64  04-May-2011  macallan add support for (ancient) Mach64 CX and GX, while there make sure the visible
vram area starts at the same offset as the area we're going to draw into -
zero that is.
from David Riley
 1.63  22-Jan-2011  cegger Implement new WSDISPLAYIO_GET_BUSID ioctl.
It returns the bus id and allows userland (like Xorg) to create mapping
of ttyE? and bus id. For now only PCI is implemented.

First discussed with macallan@ then public on tech-kern@ and tech-x11@
 1.62  16-Dec-2010  cegger branches: 1.62.2; 1.62.4;
ioctl: KNF switch-case, remove useless brackets
 1.61  02-Oct-2010  macallan cleanup debug code
 1.60  02-Oct-2010  macallan fix a typo
 1.59  04-May-2010  macallan this has been sitting in my tree too long:
- device_t-ify
- sanitize debugging #ifdefs
- deal with firmwares setting up modes using other clocks than #0
- get rid of sparc and macppc-specific code, use device properties instead
- while there, use alternate box drawing font if needed
 1.58  11-Mar-2010  mrg branches: 1.58.2;
various aprint_* fixes.
 1.57  06-May-2009  elad branches: 1.57.2;
Replace curlwp->l_cred with kauth_cred_get().

Mailing list reference:

http://mail-index.netbsd.org/tech-kern/2009/05/05/msg005038.html
 1.56  03-Jan-2009  yamt branches: 1.56.2;
remove extra semicolons.
 1.55  01-Jul-2008  dyoung branches: 1.55.4;
Comment out some device IDs that do not actually belong to mach64
devices. This stops machfb0 from trying and failing to attach as
console on my G4 PowerBook. Now, genfb0 will attach as console,
instead.

Apparently, Michael Lorenz made a similar change on the netbsd-4
branch, but it was never committed to -current.
 1.54  01-Jul-2008  dyoung Cosmetic: use device_t, cfdata_t, __arraycount(), device_private().
 1.53  12-Jun-2008  cegger use device_lookup_private to get softc
 1.52  10-Apr-2008  cegger branches: 1.52.2; 1.52.4; 1.52.6; 1.52.8;
use aprint_*_dev and device_xname
 1.51  24-Mar-2008  elad Introduce two missing KAUTH_GENERIC_ISSUSER check in the voodoo and machfb
mmap() code.

This and similar requests will be replaced Soon, but these two in
particular should be pulled up to netbsd-4, and to allow doing that
smoothly, we're first introducing the "issuser" version.

Discussed with and okay macallan@.
 1.50  15-Jan-2008  jmcneill branches: 1.50.6;
For WSDISPLAY_GINFO, depth should be sc->bits_per_pixel, not
sc->color_depth. While we're here, implement WSDISPLAYIO_LINEBYTES.
 1.49  04-Mar-2007  christos branches: 1.49.16; 1.49.22; 1.49.28;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.48  16-Nov-2006  christos branches: 1.48.2; 1.48.4; 1.48.8;
__unused removal on arguments; approved by core.
 1.47  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.46  02-Sep-2006  christos branches: 1.46.2; 1.46.4;
add missing initializers
 1.45  10-May-2006  mrg quell GCC 4.1 uninitialised variable warnings.

XXX: we should audit the tree for which old ones are no longer needed
after getting the older compilers out of the tree..
 1.44  19-Apr-2006  macallan fix some ugly mixup of virtual and physical addresses
 1.43  16-Apr-2006  macallan correct a cast to avoid a warning. Pointed out by he.
 1.42  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.41  12-Apr-2006  macallan convert to vcons
while there, attach an fb device when running on sparc
 1.40  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.39  05-Apr-2006  drochner update for accessops change (get/serborder removed)
 1.38  18-Dec-2005  macallan branches: 1.38.4; 1.38.6; 1.38.8; 1.38.10; 1.38.12;
Add devname: to printf()s
From rivo nurges
 1.37  12-Dec-2005  christos welcome to the new lwp world.
 1.36  11-Dec-2005  christos merge ktrace-lwp.
 1.35  03-Oct-2005  macallan Build mach64_get_mode only on SPARC and PowerPC to shut up a compiler warning.
 1.34  01-Oct-2005  macallan Cleanup, remove some duplicate code, behave better with more than one instance
present.
 1.33  21-Sep-2005  macallan - avoid using global variables unless necessary, this should fix weird
problems when more than one mach64 is present
- check memory BARs in mach64_mmap() and adjust allowed ranges in case
something ( XFree86 for instance ) changed them
- disable 'standard' framebuffer mapping at offset 0 on sparc64 because some
Sun/ATI firmware likes to map PCI resources there. May be necessary on other
64bit architectures as well.
 1.32  02-Aug-2005  macallan fix a stupid typo
 1.31  02-Aug-2005  macallan disable mmap()ing the framebuffer at offset 0 on sparc64 because some ATI
firmware likes to put PCI memory resources into this range, notably a Rage
IIc which puts the 2nd register aperture to 0x2000.
This should allow a few graphics chips to work with XFree86 which previously
failed with something like this:
(WW) ATI: PCI/AGP Mach64 in slot 2:5:0 could not be detected!
No devices to configure. Configuration failed.

Thanks to Florian Stoehr for doing most of the work tracking this down.
 1.30  07-Jul-2005  thorpej Apply const and static where appropriate.
 1.29  31-May-2005  christos branches: 1.29.2;
Always call mach64_init_screen, otherwise we'll panic later if DIAGNOSTIC
when we call switch screen and the machine has a serial console. Thanks to
martin for the fix.
 1.28  31-May-2005  christos minor knf. no functional change.
 1.27  30-May-2005  christos add const.
 1.26  02-May-2005  macallan more formatting fixes
 1.25  02-May-2005  macallan fixed formatting
 1.24  02-May-2005  macallan - made blitter operationd asynchronous
- removed some debug code
- prevent blitter operations when not in WSDISPLAYIO_MODE_EMUL
(approved by martin)
 1.23  07-Mar-2005  martin branches: 1.23.2;
Make it compile for 32bit sparc kernels (bus_addr_t is larger than void*
there)
 1.22  27-Feb-2005  perry nuke trailing whitespace
 1.21  25-Feb-2005  martin From Michael Lorenz: more cleanup and various bugfixes, support
for WSDISPLAYIO_GETWSCHAR and WSDISPLAYIO_PUTWSCHAR ioctls.
 1.20  17-Jan-2005  martin branches: 1.20.2;
More changes from Michael Lorenz:
- fix a panic in mach64_alloc_screen()
- some cleanup
- restrict mach64_mmap() to addresses which belong to it
- mach64_attach now prints bus addresses instead of kernel vm addresses
- initial support for macppc
 1.19  09-Jan-2005  martin branches: 1.19.2;
Bugfixes and acceleration support.
From Michael Lorenz.
 1.18  23-Apr-2004  itojun pass string length (= boundary info) to pci_devinfo so that we do not run over
the end of memory region
 1.17  22-Mar-2004  pk sparc: OF_instance_to_package => prom_instance_to_package
 1.16  22-Mar-2004  martin Adapt to promlib changes on sparc.
 1.15  14-Jul-2003  lukem add missing __KERNEL_RCSID()
 1.14  29-Jun-2003  fvdl branches: 1.14.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.13  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.12  20-Jan-2003  martin Grrr, add another set of casts working around sc_aperbase having the wrong
type. We should fix this!

This makes it compile for 32bit sparc64 kernels.
 1.11  15-Jan-2003  martin Fix typo - make it compile with DIAGNOSTIC.
 1.10  11-Dec-2002  junyoung '.' was missing in license notice.
 1.9  25-Nov-2002  martin Remove assumptions about endianess of bus_space_vaddr mappings, replace
with an explicit probe.
 1.8  02-Nov-2002  martin branches: 1.8.2;
Need to cast a bus_space_addr_t to (u_long) before gcc allows us to cast
it to a pointer on 32bit spacr64 kernels. Sigh.
 1.7  31-Oct-2002  martin Rearange struct mach64screen to be derived from struct rasops_info,
move a few bits around and make adding screens after attach time
actually work.

When not booting as console, try to properly set up the hardware to
get a display nevertheless (XXX - does not yet work on my U5).

#if 0 some unused functions planned for future extensions (to make clear
they are unused now)
 1.6  29-Oct-2002  junyoung Reduce the number of #ifdef __sparc__ from 5 to 3.
 1.5  29-Oct-2002  junyoung Rename sparc_screen_is_console() to mach64_is_console() and turn it into
a MI interface.
 1.4  25-Oct-2002  junyoung Register aperture is now mapped as a subregion of the framebuffer aperture
using bus_space_subregion(). This makes reg*() look better.
 1.3  25-Oct-2002  martin Sprinkle a few bus_space_read*/bus_space_write* calls and simplify register
offset calculation. Mostly from Bang Jun Young.

Don't call wsdisplay_cnattach unconditionally.

On sparc use OF to decide whether we are console output.

This makes it actually work on my U5 - if only we had a keyboard driver
to produce wskbd events (coming soon).
 1.2  24-Oct-2002  martin A few 64bit nits.
 1.1  24-Oct-2002  junyoung Add machfb, ATI Mach64/Rage framebuffer display driver.

XXX this version is not fully functional yet. More to come shortly.
 1.8.2.5  17-Jan-2003  thorpej Sync with HEAD.
 1.8.2.4  19-Dec-2002  thorpej Sync with HEAD.
 1.8.2.3  11-Dec-2002  thorpej Sync with HEAD.
 1.8.2.2  11-Nov-2002  nathanw Catch up to -current
 1.8.2.1  02-Nov-2002  nathanw file machfb.c was added on branch nathanw_sa on 2002-11-11 22:11:19 +0000
 1.14.2.9  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.14.2.8  08-Mar-2005  skrll Sync with HEAD.
 1.14.2.7  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.14.2.6  24-Jan-2005  skrll Sync with HEAD.
 1.14.2.5  17-Jan-2005  skrll Sync with HEAD.
 1.14.2.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.3  18-Sep-2004  skrll Sync with HEAD.
 1.14.2.2  03-Aug-2004  skrll Sync with HEAD
 1.14.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.19.2.1  29-Apr-2005  kent sync with -current
 1.20.2.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.23.2.5  08-Jun-2005  tron Pull up revision 1.29 (requested by martin in ticket #377):
Always call mach64_init_screen, otherwise we'll panic later if DIAGNOSTIC
when we call switch screen and the machine has a serial console. Thanks to
martin for the fix.
 1.23.2.4  08-Jun-2005  tron Pull up revision 1.28 (requested by martin in ticket #377):
minor knf. no functional change.
 1.23.2.3  08-Jun-2005  tron Pull up revision 1.26 (requested by martin in ticket #377):
more formatting fixes
 1.23.2.2  08-Jun-2005  tron Pull up revision 1.25 (requested by martin in ticket #377):
fixed formatting
 1.23.2.1  08-Jun-2005  tron Pull up revision 1.24 (requested by martin in ticket #377):
- made blitter operationd asynchronous
- removed some debug code
- prevent blitter operations when not in WSDISPLAYIO_MODE_EMUL
(approved by martin)
 1.29.2.4  21-Jan-2008  yamt sync with head
 1.29.2.3  03-Sep-2007  yamt sync with head.
 1.29.2.2  30-Dec-2006  yamt sync with head.
 1.29.2.1  21-Jun-2006  yamt sync with head.
 1.38.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.38.10.2  11-May-2006  elad sync with head
 1.38.10.1  19-Apr-2006  elad sync with head.
 1.38.8.3  03-Sep-2006  yamt sync with head.
 1.38.8.2  24-May-2006  yamt sync with head.
 1.38.8.1  11-Apr-2006  yamt sync with head
 1.38.6.2  01-Jun-2006  kardel Sync with head.
 1.38.6.1  22-Apr-2006  simonb Sync with head.
 1.38.4.1  09-Sep-2006  rpaulo sync with head
 1.46.4.2  10-Dec-2006  yamt sync with head.
 1.46.4.1  22-Oct-2006  yamt sync with head
 1.46.2.1  18-Nov-2006  ad Sync with head.
 1.48.8.2  03-Jun-2008  skrll Sync with netbsd-4.
 1.48.8.1  03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.48.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.48.2.2  24-Mar-2008  bouyer Pull up following revision(s) (requested by elad in ticket #1107):
sys/dev/pci/machfb.c: revision 1.51
sys/dev/pci/voodoofb.c: revision 1.14
Introduce two missing KAUTH_GENERIC_ISSUSER check in the voodoo and machfb
mmap() code.
Discussed with and okay macallan@.
 1.48.2.1  21-Jul-2007  liamjfoy branches: 1.48.2.1.4;
Pull up following revision(s) (requested by macallan in ticket #781):
This keeps machfb from matching Rage Mobility chips which we don't
support properly, mainly for lack of hardware in the right hands.

Provided by a patch.
 1.48.2.1.4.1  24-Mar-2008  bouyer Pull up following revision(s) (requested by elad in ticket #1107):
sys/dev/pci/machfb.c: revision 1.51
sys/dev/pci/voodoofb.c: revision 1.14
Introduce two missing KAUTH_GENERIC_ISSUSER check in the voodoo and machfb
mmap() code.
Discussed with and okay macallan@.
 1.49.28.1  19-Jan-2008  bouyer Sync with HEAD
 1.49.22.1  18-Feb-2008  mjf Sync with HEAD.
 1.49.16.1  23-Mar-2008  matt sync with HEAD
 1.50.6.5  17-Jan-2009  mjf Sync with HEAD.
 1.50.6.4  02-Jul-2008  mjf Sync with HEAD.
 1.50.6.3  29-Jun-2008  mjf Sync with HEAD.
 1.50.6.2  02-Jun-2008  mjf Sync with HEAD.
 1.50.6.1  03-Apr-2008  mjf Sync with HEAD.
 1.52.8.2  03-Jul-2008  simonb Sync with head.
 1.52.8.1  18-Jun-2008  simonb Sync with head.
 1.52.6.2  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.52.6.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.52.4.4  09-Oct-2010  yamt sync with head
 1.52.4.3  11-Aug-2010  yamt sync with head.
 1.52.4.2  16-May-2009  yamt sync with head
 1.52.4.1  04-May-2009  yamt sync with head.
 1.52.2.1  17-Jun-2008  yamt sync with head.
 1.55.4.1  19-Jan-2009  skrll Sync with HEAD.
 1.56.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.57.2.3  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.57.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.57.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.58.2.4  12-Jun-2011  rmind sync with head
 1.58.2.3  31-May-2011  rmind sync with head
 1.58.2.2  05-Mar-2011  rmind sync with head
 1.58.2.1  30-May-2010  rmind sync with head
 1.62.4.1  08-Feb-2011  bouyer Sync with HEAD
 1.62.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.71.6.3  02-Jun-2012  mrg sync to latest -current.
 1.71.6.2  05-Apr-2012  mrg sync to latest -current.
 1.71.6.1  18-Feb-2012  mrg merge to -current.
 1.71.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.71.2.3  30-Oct-2012  yamt sync with head
 1.71.2.2  23-May-2012  yamt sync with head.
 1.71.2.1  17-Apr-2012  yamt sync with head
 1.73.2.1  12-Jun-2012  riz Pull up following revision(s) (requested by macallan in ticket #322):
sys/dev/pci/machfb.c: revision 1.75
don't enable IO access - we don't use it and at least on some macppc machines
the IO BAR contains garbage
should probably be pulled into 6.0
 1.83.2.4  03-Dec-2017  jdolecek update from HEAD
 1.83.2.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.83.2.2  23-Jun-2013  tls resync from head
 1.83.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.87.2.2  18-May-2014  rmind sync with head
 1.87.2.1  28-Aug-2013  rmind sync with head
 1.91.6.2  28-Aug-2017  skrll Sync with HEAD
 1.91.6.1  05-Oct-2016  skrll Sync with HEAD
 1.94.10.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.94.10.1  10-Jun-2019  christos Sync with HEAD
 1.94.8.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.97.4.1  16-Apr-2020  martin Pull up following revision(s) (requested by jdc in ticket #836):

sys/dev/pci/machfb.c: revision 1.98

clean up the video mode selection logic, switch modes only when actually
necessary

while there make some debug output optional
 1.103.4.3  24-Apr-2021  thorpej Make sure to explcitly specify the "wsemuldisplaydev" interface attribute
when attaching the wscons display instance, because these devices can
also attach children using the "drm" interface attribute.
 1.103.4.2  02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.103.4.1  21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.104.2.1  01-Aug-2021  thorpej Sync with HEAD.
 1.105.2.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed