aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/fbio.h
Commit message (Collapse)AuthorAgeFilesLines
* Use unsigned intptr_t type for framebuffer addressesJustin Hibbits2017-12-061-2/+2
| | | | | | | | | | | | | | | | | Summary: Some architectures (powerpc Book-E) have a vm_paddr_t larger than intptr_t. Casting from the intptr_t to vm_paddr_t causes sign extension, leading to a potentially invalid address. This was seen when running X on a PowerPC P1022 machine, which mapped the backing framebuffer at 0xc1800000. When mmap()d by X, this yielded an invalid address of 0xffffffffc1800000, or, as the hardware would see it, 0xfc1800000. Reviewed By: ray Differential Revision: https://reviews.freebsd.org/D13332 Notes: svn path=/head/; revision=326611
* sys: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-201-0/+2
| | | | | | | | | | | | | | | | | Mainly focus on files that use BSD 3-Clause license. 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. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point. Notes: svn path=/head/; revision=326023
* Attempt to determine the modes in which 8-bit wide characters are actuallyBruce Evans2017-04-201-0/+2
| | | | | | | | | | | | | | | | | | | 9 wide. I only need this to improve the mouse cursor, but it has always been needed to select and/or adjust fonts. This is complicated because there are no standard parameter tables giving this bit of information directly, and the device register bit giving the information can't be trusted even if it is read from the hardware. Use a heuristic to guess if the device register can be trusted. (The device register is normally read from the BIOS mode table, but on my system where the device register is wrong, the mode table doesn't match the hardware and is not used; the device registers are used in this case.) Notes: svn path=/head/; revision=317190
* Renumber copyright clause 4Warner Losh2017-02-281-1/+1
| | | | | | | | | | | | Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96 Notes: svn path=/head/; revision=314436
* Remove pc98 support completely.Yoshihiro Takahashi2017-01-281-8/+0
| | | | | | | | | I thank all developers and contributors for pc98. Relnotes: yes Notes: svn path=/head/; revision=312910
* Provide way for framebuffer driver to request mmap(2) mapping typeOleksandr Tymoshenko2016-10-011-0/+2
| | | | | | | | | | | | | | | | | | | | On ARM if memattr is not overriden mmap(2) maps framebuffer memory as WBWA which means part of changes to content in userland end up in cache and appear on screen gradually as cache lines are evicted. This change adds configurable memattr that hardware fb implementation can set to get the memory mapping type it requires: - Add new flag FB_FLAG_MEMATTR that indicates that framebuffer driver overrides default memattr - Add new field fb_memattr to struct fb_info to specify requested memattr Reviewed by: ray Differential Revision: https://reviews.freebsd.org/D8064 Notes: svn path=/head/; revision=306555
* vt(4): Add support to "downgrade" from eg. vt_fb to vt_vgaJean-Sébastien Pédron2015-03-011-0/+3
| | | | | | | | | | | | | | | | | The main purpose of this feature is to be able to unload a KMS driver. When going back from the current vt(4) backend to the previous backend, the previous backend is reinitialized with the special VDF_DOWNGRADE flag set. Then the current driver is terminated with the new "vd_fini" callback. In the case of vt_fb and vt_vga, this allows the former to pass the vgapci device vt_fb used to vt_vga so the device can be rePOSTed. Differential Revision: https://reviews.freebsd.org/D687 Notes: svn path=/head/; revision=279488
* Forward the FBIO_BLANK IOCTL to framebuffer clients. Bump the FreeBSDHans Petter Selasky2015-02-161-0/+2
| | | | | | | | | | version to force re-compilation of external video driver kernel modules. Discussed with: ray @ Notes: svn path=/head/; revision=278846
* Make PS3 work with the userspace kboot loader. loader.ps3 will disappearNathan Whitehorn2015-01-051-1/+2
| | | | | | | | | from the tree in the near future. Done at: Hackathon Notes: svn path=/head/; revision=276679
* Retire various intertwined bits of fbd(4) and vt_fb, in particular theNathan Whitehorn2014-08-061-21/+0
| | | | | | | | pixel modification indirection. No actual drivers use it and those that might (e.g. creatorfb) use custom implementations of vd_bitbltchr(). Notes: svn path=/head/; revision=269620
* Allow console drivers active from early boot to be used with xf86-video-scfb,Nathan Whitehorn2014-07-161-2/+0
| | | | | | | | | | | rather than only drivers attached later on. This involves a small amount of code duplication with dev/fb/fbd.c, which will fixed later on. Also improve performance of vt_blank() by making it not read from the framebuffer unnecessarily. Notes: svn path=/head/; revision=268771
* o Add virtual terminal mmap request handler.Aleksandr Rybalko2013-12-231-0/+8
| | | | | | | | | | | o Forward termianl framebuffer ioctl to fbd. o Forward terminal mmap request to fbd. o Move inclusion of sys/conf.h to vt.h. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=259777
* Merge VT(9) project (a.k.a. newcons).Aleksandr Rybalko2013-12-051-0/+76
| | | | | | | | | | Reviewed by: nwhitehorn MFC_to_10_after: re approval Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=259016
* Yet another attempt to make palette loading more safer:Jung-uk Kim2010-02-231-0/+1
| | | | | | | | | | | | - Add a separate palette data for 8-bit DAC mode when SC_PIXEL_MODE is set and fill it up with default gray-scale palette data for text. Now we don't have to set `hint.sc.0.vesa_mode' to get the default palette data. - Add a new adapter flag, V_ADP_DAC8 to track whether the controller is using 8-bit palette format and load correct palette when switching modes. - Set 8-bit DAC mode only for non-VGA compatible graphics mode. Notes: svn path=/head/; revision=204265
* Map and report actual video memory we need.Jung-uk Kim2010-02-061-3/+1
| | | | Notes: svn path=/head/; revision=203535
* Use bytes per scan line from mode table. The previous implementation didJung-uk Kim2010-02-031-1/+3
| | | | | | | not reflect actual number of bytes when it was not exactly width * bpp * 8. Notes: svn path=/head/; revision=203453
* Fix VESA color palette corruption:Jung-uk Kim2009-11-031-0/+1
| | | | | | | | | | | | | | | - VBE 3.0 says palette format resets to 6-bit mode when video mode changes. We simply set 8-bit mode when we switch modes if the adapter supports it. - VBE 3.0 also says if the mode is not VGA compatible, we must use VBE function to save/restore palette. Otherwise, VGA function may be used. Thus, reinstate the save/load palette functions only for non-VGA compatible modes regardless of its palette format. - Let vesa(4) set VESA modes even if vga(4) claims to support it. - Reset default palette if VESA pixel mode is set initially. - Fix more style nits. Notes: svn path=/head/; revision=198858
* Grab FBTYPE_NOTSUN3 and use it for FBTYPE_PCIMISC. The value matchesMarius Strobl2005-05-211-1/+1
| | | | | | | the one used in NetBSD for FBTYPE_PCIMISC. Notes: svn path=/head/; revision=146481
* /* -> /*- for license, minor formatting changesWarner Losh2005-01-071-1/+1
| | | | Notes: svn path=/head/; revision=139825
* Remove advertising clause from University of California Regent's license,Warner Losh2004-04-071-4/+0
| | | | | | | | | per letter dated July 22, 1999. Approved by: core Notes: svn path=/head/; revision=127976
* Add FBTYPEs used by the sbus bus support in XFree86. This uses some ofJake Burkholder2003-06-181-4/+8
| | | | | | | | | | the values that are "reserved", but they are not reserved anywhere else so I'm assuming this is what they were unreserved for. Unfortunately some of the values for local syscons types overlap the values used for sbus adapters elsewhere, so we can't have all the same values. Notes: svn path=/head/; revision=116545
* Turn on TGA support.David E. O'Brien2002-04-131-11/+21
| | | | | | | Submitted by: Andrew M. Miklic <AndrwMklc@cs.com> Notes: svn path=/head/; revision=94617
* Add some definitions. Their actual support will be addedKazutaka YOKOTA2001-08-021-1/+68
| | | | | | | to video drivers later. Notes: svn path=/head/; revision=81038
* Supported EGC 640x400, PEGC 640x400 and PEGC 640x480 graphics modes.Yoshihiro Takahashi2000-04-271-2/+5
| | | | | | | | Submitted by: Chiharu Shibata <chi@bd.mbn.or.jp> and Tomokazu HARADA <tkhara@osk4.3web.ne.jp> Notes: svn path=/head/; revision=59689
* Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"Peter Wemm1999-12-291-1/+1
| | | | | | | | | is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come. Notes: svn path=/head/; revision=55205
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50477
* Correct the mode information for the VGA mode X.Kazutaka YOKOTA1999-08-241-1/+2
| | | | | | | | - This mode uses four planes rather than one. - "# of bytes in a scan line" = "# of pixels in the line"/2 Notes: svn path=/head/; revision=50299
* The second phase of syscons reorganization.Kazutaka YOKOTA1999-06-221-3/+286
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Split syscons source code into manageable chunks and reorganize some of complicated functions. - Many static variables are moved to the softc structure. - Added a new key function, PREV. When this key is pressed, the vty immediately before the current vty will become foreground. Analogue to PREV, which is usually assigned to the PrntScrn key. PR: kern/10113 Submitted by: Christian Weisgerber <naddy@mips.rhein-neckar.de> - Modified the kernel console input function sccngetc() so that it handles function keys properly. - Reorganized the screen update routine. - VT switching code is reorganized. It now should be slightly more robust than before. - Added the DEVICE_RESUME function so that syscons no longer hooks the APM resume event directly. - New kernel configuration options: SC_NO_CUTPASTE, SC_NO_FONT_LOADING, SC_NO_HISTORY and SC_NO_SYSMOUSE. Various parts of syscons can be omitted so that the kernel size is reduced. SC_PIXEL_MODE Made the VESA 800x600 mode an option, rather than a standard part of syscons. SC_DISABLE_DDBKEY Disables the `debug' key combination. SC_ALT_MOUSE_IMAGE Inverse the character cell at the mouse cursor position in the text console, rather than drawing an arrow on the screen. Submitted by: Nick Hibma (n_hibma@FreeBSD.ORG) SC_DFLT_FONT makeoptions "SC_DFLT_FONT=_font_name_" Include the named font as the default font of syscons. 16-line, 14-line and 8-line font data will be compiled in. This option replaces the existing STD8X16FONT option, which loads 16-line font data only. - The VGA driver is split into /sys/dev/fb/vga.c and /sys/isa/vga_isa.c. - The video driver provides a set of ioctl commands to manipulate the frame buffer. - New kernel configuration option: VGA_WIDTH90 Enables 90 column modes: 90x25, 90x30, 90x43, 90x50, 90x60. These modes are mot always supported by the video card. PR: i386/7510 Submitted by: kbyanc@freedomnet.com and alexv@sui.gda.itesm.mx. - The header file machine/console.h is reorganized; its contents is now split into sys/fbio.h, sys/kbio.h (a new file) and sys/consio.h (another new file). machine/console.h is still maintained for compatibility reasons. - Kernel console selection/installation routines are fixed and slightly rebumped so that it should now be possible to switch between the interanl kernel console (sc or vt) and a remote kernel console (sio) again, as it was in 2.x, 3.0 and 3.1. - Screen savers and splash screen decoders Because of the header file reorganization described above, screen savers and splash screen decoders are slightly modified. After this update, /sys/modules/syscons/saver.h is no longer necessary and is removed. Notes: svn path=/head/; revision=48104
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notPeter Wemm1997-02-221-1/+1
| | | | | | | ready for it yet. Notes: svn path=/head/; revision=22975
* Make the long-awaited change from $Id$ to $FreeBSD$Jordan K. Hubbard1997-01-141-1/+1
| | | | | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise. Notes: svn path=/head/; revision=21673
* Made them all idempotent.Paul Richards1994-08-211-1/+6
| | | | | | | | Reviewed by: Submitted by: Notes: svn path=/head/; revision=2165
* Added $Id$David Greenman1994-08-021-1/+1
| | | | Notes: svn path=/head/; revision=1817
* BSD 4.4 Lite Kernel SourcesRodney W. Grimes1994-05-241-0/+186
Notes: svn path=/head/; revision=1541