aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/vt/hw
Commit message (Collapse)AuthorAgeFilesLines
* Add VT driver for VBE framebuffer deviceToomas Soome2020-11-301-0/+153
| | | | | | | | | | | | | | | Implement vt_vbefb to support Vesa Bios Extensions (VBE) framebuffer with VT. vt_vbefb is built based on vt_efifb and is assuming similar data for initialization, use MODINFOMD_VBE_FB to identify the structure vbe_fb in kernel metadata. struct vbe_fb, is populated by boot loader, and is passed to kernel via metadata payload. Differential Revision: https://reviews.freebsd.org/D27373 Notes: svn path=/head/; revision=368168
* efifb: vt_generate_cons_palette() takes max color, not maskToomas Soome2020-11-061-3/+8
| | | | | | | | | vt_generate_cons_palette() does take max values of RGB component colours, not mask. Also we need to set info->fb_cmsize, or vt_fb_init() will re-initialize the info->fb_cmap. Notes: svn path=/head/; revision=367431
* vm_ooffset_t is now unsignedEric van Gyzen2020-09-181-1/+1
| | | | | | | | | | | | | vm_ooffset_t is now unsigned. Remove some tests for negative values, or make other adjustments accordingly. Reported by: Coverity Reviewed by: kib markj Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D26214 Notes: svn path=/head/; revision=365886
* vt: clean up empty lines in .c and .h filesMateusz Guzik2020-09-011-2/+0
| | | | Notes: svn path=/head/; revision=365134
* vt: avoid overrun when stride is not a multiple of bytes per pixelEd Maste2020-04-041-3/+3
| | | | | | | | | | | | | | | The reporter is developing a frame buffer driver for hardware using 3 bytes per pixel, but a stride that's a multiple of 256. Previously this resulted in writing beyond the end of each stride. On the last row this attempted to write past the end of the frame buffer, triggering the assertion in vt_fb_mem_wr1(). PR: 243533 MFC after: 2 weeks Submitted by: Thomas Skibo Notes: svn path=/head/; revision=359626
* Fix a stray 'e'from my last commit.Warner Losh2020-02-031-1/+1
| | | | Notes: svn path=/head/; revision=357464
* Remove sparc64 kernel supportWarner Losh2020-02-032-23/+1
| | | | | | | | | Remove all sparc64 specific files Remove all sparc64 ifdefs Removee indireeect sparc64 ifdefs Notes: svn path=/head/; revision=357455
* Enable use of ofwcons for early debugLeandro Lupori2019-12-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | This change enables the use of OpenFirmware Console (ofwcons), even when VGA is available, allowing early kernel messages to be seen, that is important in case of crashes before VGA console initialization. This is specially useful in virtualized environments, where the user/developer doesn't have full control of the virtualization engine (e.g. OpenStack). The old behavior is preserved by default and, in order to use ofwcons, a few tunables that have been introduced need to be set: - hw.ofwfb.disable=1 - disable OFW FrameBuffer device - machdep.ofw.mtx_spin=1 - change PPC OFW mutex to SPIN type, to match kernel console's mutex type - debug.quiesce_ofw=0 - don't call OFW quiesce, needed to keep ofwcons I/O working More details can be found at differential revision D20640. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D20640 Notes: svn path=/head/; revision=355556
* vt: use proper return value check with TUNABLE_INT_FETCHToomas Soome2019-09-261-2/+1
| | | | | | | | | The TUNABLE_INT_FETCH is macro around getenv_int() and we will get return value 0 or 1 for failure or success, we can use it to decide which background color to use. Notes: svn path=/head/; revision=352739
* vt: use colors from terminal emulatorToomas Soome2019-09-251-2/+11
| | | | | | | | Instead of hardcoded colors, use terminal state. This also means, we need to record the pointer to terminal state with vtbuf. Notes: svn path=/head/; revision=352681
* vt efifb: add suspend/resume callsEd Maste2019-05-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Using the latest NVIDIA driver, upon resuming from suspend with X running the display remained blank. Additionally OpenGL applications that were running triggered a number of error messages from the NVIDIA driver. This occurred because the vt efifb back-end did not signal the X server to release the display before suspending (or to re-acquire it after resuming). The NVIDIA driver includes code for smoothly shutting down and re-initializing the GPU, which was not getting called. Since the NVIDIA driver doesn't currently support framebuffer devices and vt is forced to fall back to the efifb back-end, add vd_suspend and vd_resume members to connect the suspend/resume path. This ensures the X server is properly able to re-initialize the display. PR: 237050 Submitted by: Erik Kurzinger <ekurzinger@nvidia.com> Reviewed by: markj MFC after: 2 weeks Event: Waterloo Hackathon 2019 Notes: svn path=/head/; revision=348059
* Speed up vt(4) by keeping a record of the most recently drawn character andColin Percival2018-08-255-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the foreground and background colours. In bitblt_text functions, compare values to this cache and don't re-draw the characters if they haven't changed. When invalidating the display, clear this cache in order to force characters to be redrawn; also force full redraws between suspend/resume pairs since odd artifacts can otherwise result. When scrolling the display (which is where most time is spent within the vt driver) this yields a significant performance improvement if most lines are less than the width of the terminal, since this avoids re-drawing blanks on top of blanks. (Note that "re-drawing" here includes writing to the VGA text mode buffer; on virtualized systems this can be extremely slow since it triggers a glyph being rendered onto a 640x480 screen). On a c5.4xlarge EC2 instance (with emulated text mode VGA) this cuts the time spent in vt(4) during the kernel boot from 1200 ms to 700ms; on my laptop (with a 3200x1800 display) the corresponding time is reduced from 970 ms down to 155 ms. Reviewed by: imp, cem Approved by: re (gjb) Relnotes: Significant speedup in vt(4) and the system boot generally. Differential Revision: https://reviews.freebsd.org/D16723 Notes: svn path=/head/; revision=338316
* Replace a pair of 8-bit writes to VGA memory with a single 16-bit write.Colin Percival2018-08-071-4/+4
| | | | | | | | | | | | | | | | | | | | | The VGA "text mode" buffer has a pair of bytes for each character: One byte for the character symbol, and an "attribute" byte encoding the foreground and background colours. When updating the screen, we were writing these two bytes separately. On some virtualized systems, every write results in a glyph being redrawn into a (graphical) virtual screen; writing these two bytes separately results in twice as much work being done to draw characters, whereas if we perform a single 16-bit write instead, the character only needs to be redrawn once. On an EC2 c5.4xlarge instance, this change cuts 1.30s from the kernel boot, speeding it up from 8.90s to 7.60s. MFC after: 1 week Notes: svn path=/head/; revision=337411
* vt/ofwfb: Fix brain-o from r336514, use the correct form of /chosen/stdout-pathJustin Hibbits2018-07-201-9/+15
| | | | | | | | | | /chosen/stdout-path is a string, not ihandle. Treat it as such. With this, ofwfb now starts correctly on a POWER9 system when launched from the local console (not serial). Notes: svn path=/head/; revision=336555
* vt/ofwfb: Check that /chosen/stdout is valid before using it in initializationJustin Hibbits2018-07-201-2/+4
| | | | | | | | | | | | The FDT implementation of OF_instance_to_package() backend checks the cross-reference to get the node. On failure, this returns the input handle unchanged. In the case of ofwfb attachment, if /chosen/stdout property does not exist, sc->sc_handle is either garbage or 0, which then gets propagated to node. This will prevent "screen" from being used, resulting in not properly attaching. Correct this by matching the code in ofwfb_probe(). Notes: svn path=/head/; revision=336554
* ofwfb: Check for /chosen/stdout-path in addition to /chosen/stdoutJustin Hibbits2018-07-191-0/+4
| | | | | | | | Some platforms use /chosen/stdout-path as the property containing the path to the stdout node, not /chosen/stdout. Notes: svn path=/head/; revision=336514
* Fix compilation.Konstantin Belousov2018-06-251-1/+2
| | | | | | | | | Pointy hat to: me Sponsored by: The FreeBSD Foundation MFC after: 1 week Notes: svn path=/head/; revision=335633
* Provide a helper function acpi_get_fadt_bootflags() to fetch the FADTKonstantin Belousov2018-06-251-27/+8
| | | | | | | | | | | | x86 boot flags. Reviewed by: royger Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D16004 MFC after: 1 week Notes: svn path=/head/; revision=335632
* Always initialize the ignore local variable.Konstantin Belousov2018-06-251-0/+1
| | | | | | | | | Reviewed by: royger Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D16004 Notes: svn path=/head/; revision=335631
* vt: add option to ignore NO_VGA flag in ACPIRoger Pau Monné2018-06-251-0/+6
| | | | | | | | | | | | | To workaround buggy firmware that sets this flag when there's actually a VGA present. Reported and tested by: Yasuhiro KIMURA <yasu@utahime.org> Sponsored by: Citrix Systems R&D Reviewed by: kib Differential revision: https://reviews.freebsd.org/D16003 Notes: svn path=/head/; revision=335629
* If linebytes property is missing from the graphics device, assume noNathan Whitehorn2018-05-301-3/+4
| | | | | | | | | overscan and synthesize it from the display depth and screen width. This may not be right, but it sometimes right and is better than returning CN_DEAD. Notes: svn path=/head/; revision=334372
* Avoid writing to the frame buffer in early boot on PowerPC if the CPU'sNathan Whitehorn2018-05-191-5/+13
| | | | | | | | | | | | | | | | | | | | | MMU is disabled. This expands some earlier logic and avoids a number of potential problems: 1. The CPU may not be able to access the framebuffer in real mode (real mode does not necessarily encompass all available memory, especially under a hypervisor). 2. Real mode accesses generally assume cacheability, so it might not even have worked. 3. The difference in cacheability between real mode and later (and potentially earlier) points in the boot with the MMU on may cause ERAT parity problems, resulting in a machine check. This fixes real-mode (usefdt=1) early boot on the G5 iMac, which was previously broken as a result of issue #3. Late boot will require some other fixups. Notes: svn path=/head/; revision=333897
* vt: add more cp437 mappings for vga textmodeEd Maste2018-05-181-2/+3
| | | | | | | | | | | | | | | | In UTF-8 locales mandoc uses a number of characters outside of the Basic Latin group, e.g. from general punctuation or miscellaneous mathematical symbols, and these rendered as ? in text mode. This change adds (char, replacement, code point, description): ¦ | U+00A6 Broken bar ✓ √ U+2713 Checkmark Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=333777
* Clean up vt source whitespace issuesEd Maste2018-05-162-3/+3
| | | | Notes: svn path=/head/; revision=333672
* vt(4): Use default VGA paletteJean-Sébastien Pédron2018-05-101-11/+16
| | | | | | | | | | | | | | | | | | | | | Before this change, the VGA palette was configured to match the shell palette (e.g. color #1 was red). There was one glitch early in boot when the vt(4)'s VGA palette was loaded: the loader's logo would switch from red to blue. Likewise for the "Booting..." message switching from blue to red. That's because the loader's logo was drawed with the default VGA palette where a few colors are swapped compared to the shell palette (e.g. blue <-> red). This change configures the default VGA palette during initialization and converts input's colors from shell to VGA palette index. There should be no visible changes, except the loader's logo which will keep its original color. Reviewed by: eadler Notes: svn path=/head/; revision=333464
* vt: add three more cp437 mappings for vga textmodeEd Maste2018-04-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | In UTF-8 locales mandoc uses a number of characters outside of the Basic Latin group, e.g. from general punctuation or miscellaneous mathematical symbols, and these rendered as ? in text mode. This change adds (char, replacement, code point, description): – - U+2013 En Dash ⟨ < U+27E8 Mathematical Left Angle Bracket ⟩ > U+27E9 Mathematical Right Angle Bracket This change addresses some common cases; there are others that still need to be added after a more thorough review. PR: 227409 MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=332421
* vt_vga: check if VGA is available from ACPI FADT tableRoger Pau Monné2018-03-131-1/+35
| | | | | | | | | | | | On x86 the IA-PC Boot Flags in the FADT can signal whether VGA is available or not. Sponsored by: Citrix systems R&D Reviewed by: marcel Differential revision: https://reviews.freebsd.org/D14397 Notes: svn path=/head/; revision=330834
* Move the powerpc64 direct map base address from zero to high memory. ThisNathan Whitehorn2018-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | accomplishes a few things: - Makes NULL an invalid address in the kernel, which is useful for catching bugs. - Lays groundwork for radix-tree translation on POWER9, which requires the direct map be at high memory. - Similarly lays groundwork for a direct map on 64-bit Book-E. The new base address is chosen as the base of the fourth radix quadrant (the minimum kernel address in this translation mode) and because all supported CPUs ignore at least the first two bits of addresses in real mode, allowing direct-map addresses to be used in real-mode handlers. This is required by Linux and is part of the architecture standard starting in POWER ISA 3, so can be relied upon. Reviewed by: jhibbits, Breno Leitao Differential Revision: D14499 Notes: svn path=/head/; revision=330610
* Check more aggressively for whether the desired properties actually exist.Nathan Whitehorn2017-12-301-2/+7
| | | | | | | | | | If they don't, the code would look up some random part of the device tree and seize the console inappropriately. MFC after: 2 weeks Notes: svn path=/head/; revision=327387
* Allow custom overrides of mmap attribute for VT framebufferJustin Hibbits2017-12-061-1/+4
| | | | | | | | | | | | Summary: As in /dev/fb, allow the framebuffer driver to override the default memattr for mmap(2). This is analogous to the change in 306555. Reviewed By: ray Differential Revision: https://reviews.freebsd.org/D13331 Notes: svn path=/head/; revision=326612
* sys/dev: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-275-0/+10
| | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Notes: svn path=/head/; revision=326255
* Use nitems(..) when computing `max` instead of the longhand version ofEnji Cooper2017-06-141-1/+1
| | | | | | | | | the same logic MFC after: 1 month Notes: svn path=/head/; revision=319928
* Increase vt(4) framebuffer maximum sizeConrad Meyer2016-07-191-2/+2
| | | | | | | | | | | | And rename "DEFAULT" constants to the more accurate "MAX." PR: 210382 Submitted by: Felix <felixphew0 at gmail.com> Reviewed by: wblock, cem Tested by: Dave Cottlehuber <dch at skunkwerks.at> Notes: svn path=/head/; revision=303043
* sys: Make use of our rounddown() macro when sys/param.h is available.Pedro F. Giffuni2016-04-301-1/+1
| | | | | | | No functional change. Notes: svn path=/head/; revision=298848
* sys/dev: extend use of the howmany() macro when available.Pedro F. Giffuni2016-04-261-5/+3
| | | | | | | | We have a howmany() macro in the <sys/param.h> header that is convenient to re-use as it makes things easier to read. Notes: svn path=/head/; revision=298646
* sys: use our roundup2/rounddown2() macros when param.h is available.Pedro F. Giffuni2016-04-211-1/+1
| | | | | | | | | | | | | rounddown2 tends to produce longer lines than the original code and when the code has a high indentation level it was not really advantageous to do the replacement. This tries to strike a balance between readability using the macros and flexibility of having the expressions, so not everything is converted. Notes: svn path=/head/; revision=298433
* vt: Use textmode when we're running on hypervisorsSepherosa Ziehau2016-03-281-1/+7
| | | | | | | | | | | | | | The graphic mode is noticeably slow on hypervisors, especially on Hyper-V (1 second to each line). Submitted by: Dexuan Cui <decui microsoft com> Reviewed by: kib, sephe, royger (early loader version) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5739 Notes: svn path=/head/; revision=297334
* As <machine/vm.h> is included from <vm/vm.h>, there is no need toSvatopluk Kraus2016-02-221-1/+0
| | | | | | | | | | include it explicitly when <vm/vm.h> is already included. Reviewed by: alc, kib Differential Revision: https://reviews.freebsd.org/D5380 Notes: svn path=/head/; revision=295883
* As <machine/pmap.h> is included from <vm/pmap.h>, there is no need toSvatopluk Kraus2016-02-221-1/+0
| | | | | | | | | | include it explicitly when <vm/pmap.h> is already included. Reviewed by: alc, kib Differential Revision: https://reviews.freebsd.org/D5373 Notes: svn path=/head/; revision=295880
* Allow callers of OF_decode_addr to get the size of the found mapping. ThisAndrew Turner2016-02-161-1/+2
| | | | | | | | | | | | | | | | | will allow for code that uses the old fdt_get_range and fdt_regsize functions to find a range, map it, access, then unmap to replace this, up to and including the map, with a call to OF_decode_addr. As this function should only be used in the early boot code the unmap is mostly do document we no longer need the mapping as it's a no-op, at least on arm. Reviewed by: jhibbits Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D5258 Notes: svn path=/head/; revision=295662
* Make graphical consoles work under PowerKVM. Without using hypercalls, it isNathan Whitehorn2016-01-091-2/+23
| | | | | | | | | | not possible to write the framebuffer before pmap is up. Solve this by deferring initialization until that happens, like on PS3. MFC after: 1 week Notes: svn path=/head/; revision=293614
* Support frame buffers that are larger than the default screenMarcel Moolenaar2015-08-181-2/+8
| | | | | | | | | | | | | | | | size as defined by VT_FB_DEFAULT_WIDTH and VT_FB_DEFAULT_HEIGHT (at this time 2048x1200). The default is really a max. We cap the height and width to those defaults and position the screen in the center of the frame buffer. Ideally we use a bigger font to utility the entire real estate that is the frame buffer, but that's seen as an improvement over making it work first. PR: 193745 Notes: svn path=/head/; revision=286867
* Improve support for Macs that have a stride not equal to theMarcel Moolenaar2015-08-151-20/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | horizonal resolution (width). In those cases fb_bpp ended up completely wrong -- as in 6 bytes per pixel or something like that. Since we already have a way to calculate fb_depth given the masks and fb_bpp is effectively the same as fb_depth, all we need to do is make sure fb_bpp is rounded to the next multiple of the number of bits in a byte -- we assume we can divide by the number of bits in a byte throughout vt(4). While here: - simplify how we calculate fb_depth. - use fb_bpp instead of fb_depth to calculate fb_stride; we know we can divide fb_bpp. - don't limit fb_width and fb_height by VT_FB_DEFAULT_WIDTH and VT_FB_DEFAULT_HEIGHT (resp.). Those constants have not relation to the size of the frame buffer. This at least fixes "lower-resolution" Macs. We're talking 1280x1024 or so. There still is a problem with 27" Macs, which typically have a horizontal resolution over 2K. PR: 193745 (partial) Ok'd by: emaste@ Notes: svn path=/head/; revision=286809
* Fix text mode operation.Marcel Moolenaar2015-08-132-4/+8
| | | | | | | | | | | | | | | | | | We first map 64KB at 0xA0000 and then determine whether to work in text or graphics mode. When graphics mode, the mapping is precisely what we need and everything is fine. But text mode, has the frame buffer relocated to 0xB8000. We didn't map that much to safely add 0x18000 bytes to the base address. Now we first check whether to work in text or graphics mode and then map the frame buffer at the right address and with the right size (0xA0000+64KB for graphics, 0xB8000+32KB for text). PR: 202276 Tested by: ed@ Notes: svn path=/head/; revision=286723
* Better support memory mapped console devices, such as VGA and EFIMarcel Moolenaar2015-08-122-36/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | frame buffers and memory mapped UARTs. 1. Delay calling cninit() until after pmap_bootstrap(). This makes sure we have PMAP initialized enough to add translations. Keep kdb_init() after cninit() so that we have console when we need to break into the debugger on boot. 2. Unfortunately, the ATPIC code had be moved as well so as to avoid a spurious trap #30. The reason for which is not known at this time. 3. In pmap_mapdev_attr(), when we need to map a device prior to the VM system being initialized, use virtual_avail as the KVA to map the device at. In particular, avoid using the direct map on amd64 because we can't demote by virtue of not being able to allocate yet. Keep track of the translation. Re-use the translation after the VM has been initialized to not waste KVA and to satisfy the assumption in uart(4) that the handle returned for the low-level console is the same as later returned when the device is probed and attached. 4. In pmap_unmapdev() remove the mapping from the table when called pre-init. Otherwise keep the mapping. During bus probe and attach device resources are mapped and unmapped multiple times, which would have us destroy the mapping used by the low-level console. 5. In pmap_init(), set pmap_initialized to signal that we're not pre-init anymore. On amd64, bring the direct map in sync with the translations created at that time. 6. Implement bus_space_map() and bus_space_unmap() for real: when the tag corresponds to memory space, call the corresponding pmap_mapdev() and pmap_unmapdev() functions to construct and actual handle. 7. In efifb.c and vt_vga.c, remove the crutches and hacks and simply call pmap_mapdev_attr() or bus_space_map() as desired. Notes: 1. uart(4) already used bus_space_map() during low-level console setup but since serial ports have traditionally been I/O port based, the lack of a proper implementation for said function was not a problem. It has always supported memory mapped UARTs for low-level consoles by setting hw.uart.console accordingly. 2. The use of the direct map on amd64 without setting caching attributes has been a bigger problem than previously thought. This change has the fortunate (and unexpected) side-effect of fixing various EFI frame buffer problems (though not all). PR: 191564, 194952 Special thanks to: 1. XipLink, Inc -- generously donated an Intel Bay Trail E3800 based eval board (ADLE3800PC). 2. The FreeBSD Foundation, in particular emaste@ -- for UEFI support in general and testing. 3. Everyone who tested the proposed for PR 191564. 4. jhb@ and kib@ for being a soundboard and applying a clue bat if so needed. Notes: svn path=/head/; revision=286667
* - Nuke dupe $FreeBSD$.Marius Strobl2015-07-273-13/+5
| | | | | | | | | - Fix whitespace. MFC after: 3 days Notes: svn path=/head/; revision=285911
* vt: fix vt_fb_bitblt_bitmap mask corruptionEd Maste2015-04-291-31/+23
| | | | | | | | | | | | | Previously the mask wrapped when one or more of the mask bytes extended past the right edge of the window. Simplify the logic and use the same byte offset and bit in both the pattern and mask. PR: 199648 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D2360 Notes: svn path=/head/; revision=282247
* vt_vga: add a timeout while waiting for vertical retraceRoger Pau Monné2015-04-291-3/+13
| | | | | | | | | | | | | On one of my systems FreeBSD will fail to boot because vt_vga gets stuck waiting for the vertical retrace if there's no monitor attached. Fix this by adding a timeout and exiting if the vertical retrace times out. Sponsored by: Citrix Systems R&D Reviewed by: emaste, dumbbell Differential Revision: https://reviews.freebsd.org/D2397 Notes: svn path=/head/; revision=282216
* Let unchangeable 8-bit frame buffers have vaguely correct colors.Nathan Whitehorn2015-03-101-2/+20
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=279855
* Add support for USB display link adapters to the FB and VT drivers.Hans Petter Selasky2015-03-071-5/+12
| | | | | | | | | | | | | The vtophys() function is used to get the physical page address for the virtually allocated frame buffers when a physically continuous memory area is not available. This change also allows removing the masking of the FB_FLAG_NOMMAP flag in the PS3 syscons driver. The FB and VT drivers were tested using X.org/xf86-video-scfb and syscons. Notes: svn path=/head/; revision=279752