#
259065 |
|
07-Dec-2013 |
gjb |
- Copy stable/10 (r259064) to releng/10.0 as part of the 10.0-RELEASE cycle. - Update __FreeBSD_version [1] - Set branch name to -RC1
[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so start releng/10.0 at '100' so the branch is started with a value ending in zero.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
255004 |
|
28-Aug-2013 |
jkim |
Reduce diff against stable/9 slightly.
|
#
254999 |
|
28-Aug-2013 |
jkim |
Do not save/restore video memory if we are not using linear frame buffer. Note this partially revert r233896.
|
#
254998 |
|
28-Aug-2013 |
jkim |
Make sure to free stale buffer before allocating new one for safety.
|
#
254997 |
|
28-Aug-2013 |
jkim |
Avoid unnecessary signedness conversion.
|
#
248799 |
|
27-Mar-2013 |
jkim |
Limit the amount of video memory we map for the driver to the maximum value. This basically restores the spirit of r203535, which was partially reverted in r205557, while we still map fixed amount to work around transient issues we experienced with r203535.
Prodded by: avg Tested by: avg MFC after: 1 week
|
#
233896 |
|
04-Apr-2012 |
jkim |
Save and restore VGA display memory between suspend and resume.
|
#
233894 |
|
04-Apr-2012 |
jkim |
Do not copy VESA state buffer if the VBE call has failed for any reason. Do not unnecessarily clear the state buffer before calling the function.
|
#
233187 |
|
19-Mar-2012 |
jkim |
Do not reuse the previous address when restoring linear frame buffer.
|
#
233056 |
|
16-Mar-2012 |
jkim |
Save and restore linear frame buffer between suspend and resume.
MFC after: 1 week
|
#
233054 |
|
16-Mar-2012 |
jkim |
Remove unnecessary static variable initializations and duplicate codes. Consistently use bcopy(9) over memcpy(9).
|
#
233042 |
|
16-Mar-2012 |
jkim |
Do not unnecessarily clear display memory when switching modes.
MFC after: 3 days
|
#
232069 |
|
23-Feb-2012 |
jkim |
If the VBE implementation does not support save/restore function, defer to VGA methods. Unconditionally reset the VESA adapter before restoring state.
|
#
232065 |
|
23-Feb-2012 |
jkim |
Update my copyright date.
|
#
232063 |
|
23-Feb-2012 |
jkim |
Probe supported states for save/restore function. Some VBE implementation refuses to save/restore states if an unsupported bit is set.
|
#
232061 |
|
23-Feb-2012 |
jkim |
Fix a typo introduced in r231843.
|
#
231843 |
|
16-Feb-2012 |
jkim |
Set the initial mode for the adapter after executing VESA BIOS POST. There is no need to set initial mode for BIOS.
|
#
231842 |
|
16-Feb-2012 |
jkim |
Make sure the VESA mode number is between 256 and 511 inclusive.
|
#
227309 |
|
07-Nov-2011 |
ed |
Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.
The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
|
#
212580 |
|
13-Sep-2010 |
jkim |
Fix segment:offset calculation of interrupt vector for relocated video BIOS when the original offset is bigger than size of one page. X86BIOS macros cannot be used here because it is assumed address is only linear in a page.
Tested by: netchild
|
#
212154 |
|
02-Sep-2010 |
jkim |
Disable video ROM shadowing by default as I originally intended. I found a case where video ROM for an IGP is too tightly coupled with system BIOS to get relocated.
|
#
212070 |
|
31-Aug-2010 |
jkim |
Make sure the interrupt entry point is within the video ROM range. We must not change interrupt vector if it is not pointing the ROM itself. Actually, we just fail shadowing altogether if that is the case because the shadowed copy will be useless for sure and POST may not be relocatable or useful. While I'm here, fix a debugging message under bootverbose, really. r211829 fixed one case but broke another. Mea Culpa.
|
#
211829 |
|
25-Aug-2010 |
jkim |
Fix a debugging message under bootverbose. This address is not linear.
|
#
211827 |
|
25-Aug-2010 |
jkim |
Add an experimental feature to shadow video BIOS. Long ago, this trick was supported by many BIOSes to improve performance of VESA BIOS calls for real mode OSes but it is not our intention here. However, this may help some platforms where the video ROMs are inaccessible after suspend, for example. Note it may consume up to 64K bytes of contiguous memory depending on video controller model when it is enabled. This feature can be disabled by setting zero to 'debug.vesa.shadow_rom' loader tunable via loader(8) or loader.conf(5). The default is 1 (enabled), for now.
|
#
210994 |
|
07-Aug-2010 |
jkim |
Protect shared palette and state buffer with a mutex. Remove defunct spltty() calls while I am here.
|
#
210017 |
|
13-Jul-2010 |
jkim |
Initialize a variable before its use.
|
#
210016 |
|
13-Jul-2010 |
jkim |
Preallocate buffers for palette and state. Do not save DAC registers as we reset DAC mode and restore palette data while we are resuming always.
|
#
209740 |
|
06-Jul-2010 |
jkim |
Plug a possible memory leak.
Submitted by: Yamagi Burmeister (lists at yamagi dot org)
|
#
209737 |
|
06-Jul-2010 |
jkim |
Fix a possible null pointer dereference. A patch for -STABLE was
Submitted by: Yamagi Burmeister (lists at yamagi dot org)
|
#
209491 |
|
23-Jun-2010 |
jkim |
Use M_WAITOK for VESA BIOS initialization consistently.
|
#
209472 |
|
23-Jun-2010 |
jkim |
Let x86bios_alloc() pass contigmalloc(9) flags. Use it to set M_WAITOK from VESA BIOS initialization. All other malloc(9) uses in the function is blocking any way.
|
#
208279 |
|
18-May-2010 |
jkim |
Restore the previous VESA mode after BIOS POST, just in case.
|
#
208276 |
|
18-May-2010 |
jkim |
Remove unnecessary pointer increment. A wrong pointer may be passed to free(9) and it can cause kernel panic when there are multiple graphics controllers in the system.
Tested by: Brandon Gooch (jamesbrandongooch at gmail dot com) MFC after: 3 days
|
#
206384 |
|
07-Apr-2010 |
jkim |
Allocate memory for VBE info block with malloc(9), not as static local.
|
#
205653 |
|
25-Mar-2010 |
jkim |
Do not penalize correct or correctable VESA mode tables by calling another VBE function. Most problems should be corrected by the mode table sanity check and we only need the paranoid in extremely rare cases.
|
#
205604 |
|
24-Mar-2010 |
jkim |
Teach VGA framebuffer about 8-bit palette format for VESA.
|
#
205566 |
|
23-Mar-2010 |
jkim |
Add my copyright here. It seems I have contributed enough code. :-)
|
#
205564 |
|
23-Mar-2010 |
jkim |
Be extremely careful when we determine bytes per scan line information. First, we compare mode table data against minimum value. If the mode table does not make sense, we set the minimum in the mode info. When we actually set the mode, we try VESA BIOS function and compare it against the previous value. If it makes more sense, update the information.
|
#
205558 |
|
23-Mar-2010 |
jkim |
Fall back to VGA palette functions if VESA function failed and DAC is still in 6-bit mode. Although we have to check non-VGA compatibility bit here, it seems there are too many broken VESA BIOSes out to rely on it.
|
#
205557 |
|
23-Mar-2010 |
jkim |
Map entire video memory again. This is a partial backout of r203535. Although we do not use them all directly, it seems VGA render may access unmapped memory region and cause kernel panic.
|
#
204265 |
|
23-Feb-2010 |
jkim |
Yet another attempt to make palette loading more safer:
- 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.
|
#
204236 |
|
22-Feb-2010 |
jkim |
Re-add accidentally removed pixel format for direct memory model.
|
#
203535 |
|
05-Feb-2010 |
jkim |
Map and report actual video memory we need.
|
#
203530 |
|
05-Feb-2010 |
jkim |
Replace some homegrown functions with better/correct ones.
|
#
203455 |
|
03-Feb-2010 |
jkim |
Remove dead code and fix style(9) bugs.
|
#
203453 |
|
03-Feb-2010 |
jkim |
Use bytes per scan line from mode table. The previous implementation did not reflect actual number of bytes when it was not exactly width * bpp * 8.
|
#
203451 |
|
03-Feb-2010 |
jkim |
Correct virtual address of frame buffer for non-linear mode.
Reported by: Marc UBM Bocklet (ubm dot freebsd at googlemail dot com)
|
#
203078 |
|
27-Jan-2010 |
jkim |
Use VESA palette load/save functions if VESA BIOS says the current palette format is higher than 6-bit instead of relying VGA compatibility flag. This fixes palette problem of NVIDIA GeForce 6600. Reduce code differences between palette load/save functions while we are here.
Tested by: danfe
|
#
201223 |
|
29-Dec-2009 |
rnoland |
Update d_mmap() to accept vm_ooffset_t and vm_memattr_t.
This replaces d_mmap() with the d_mmap2() implementation and also changes the type of offset to vm_ooffset_t.
Purge d_mmap2().
All driver modules will need to be rebuilt since D_VERSION is also bumped.
Reviewed by: jhb@ MFC after: Not in this lifetime...
|
#
199230 |
|
12-Nov-2009 |
jkim |
- Remove a redundant check for dpms(4). - Test a cheaper function first.
|
#
198964 |
|
05-Nov-2009 |
jkim |
Save/restore VGA state from vga_pci.c instead of relying on vga_isa.c. It was not working because we were saving its state after the device was powered down. Simplify vesa_load_state() as the culprit is fixed now.
|
#
198911 |
|
04-Nov-2009 |
jkim |
Do not probe video mode if we are not going to use it.
|
#
198867 |
|
03-Nov-2009 |
jkim |
Restore color palette format if we reset video mode.
|
#
198858 |
|
03-Nov-2009 |
jkim |
Fix VESA color palette corruption:
- 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.
|
#
198423 |
|
23-Oct-2009 |
jkim |
Remove a redundant byte swapping in the previous commit.
|
#
198419 |
|
23-Oct-2009 |
jkim |
- When we restore VESA state, try BIOS POST earlier. VESA restore state function may not work properly if we don't. Turn off hardware cursor as vesa_set_mode() does. - Add VBE 3.0 specific fields in VESA mode structure and pack it. Note the padding is 190 bytes although VBE 3.0 says 189 bytes. It must be wrong because the size of structure becomes 255 bytes and the specification says it must be 256 bytes in total. In fact, an example code in the spec. does it right, though. While we are at it, fix some i386-isms. - Remove state buffer size limitation. It is no longer necessary since sys/compat/x86bios/x86bios.c r198251. - Move int 0x10 vector test into vesa_bios_post() as we always do it anyway.
|
#
198251 |
|
19-Oct-2009 |
jkim |
Rewrite x86bios and update its dependent drivers.
- Do not map entire real mode memory (1MB). Instead, we map IVT/BDA and ROM area separately. Most notably, ROM area is mapped as device memory (uncacheable) as it should be. User memory is dynamically allocated and free'ed with contigmalloc(9) and contigfree(9). Remove now redundant and potentially dangerous x86bios_alloc.c. If this emulator ever grows to support non-PC hardware, we may implement it with rman(9) later. - Move all host-specific initializations from x86emu_util.c to x86bios.c and remove now unnecessary x86emu_util.c. Currently, non-PC hardware is not supported. We may use bus_space(9) later when the KPI is fixed. - Replace all bzero() calls for emulated registers with more obviously named x86bios_init_regs(). This function also initializes DS and SS properly. - Add x86bios_get_intr(). This function checks if the interrupt vector is available for the platform. It is not necessary for PC-compatible hardware but it may be needed later. ;-) - Do not try turning off monitor if DPMS does not support the state. - Allocate stable memory for VESA OEM strings instead of just holding pointers to them. They may or may not be accessible always. Fix a memory leak of video mode table while I am here. - Add (experimental) BIOS POST call for vesa(4). This function calls VGA BIOS POST code from the current VGA option ROM. Some video controllers cannot save and restore the state properly even if it is claimed to be supported. Usually the symptom is blank display after resuming from suspend state. If the video mode does not match the previous mode after restoring, we try BIOS POST and force the known good initial state. Some magic was taken from NetBSD (and it was taken from vbetool, I believe.) - Add a loader tunable for vgapci(4) to give a hint to dpms(4) and vesa(4) to identify who owns the VESA BIOS. This is very useful for multi-display adapter setup. By default, the POST video controller is automatically probed and the tunable "hw.pci.default_vgapci_unit" is set to corresponding vgapci unit number. You may override it from loader but it is very unlikely to be necessary. Unfortunately only AGP/PCI/PCI-E controllers can be matched because ISA controller does not have necessary device IDs. - Fix a long standing bug in state save/restore function. The state buffer pointer should be ES:BX, not ES:DI according to VBE 3.0. If it ever worked, that's because BX was always zero. :-) - Clean up register initializations more clearer per VBE 3.0. - Fix a lot of style issues with vesa(4).
|
#
197496 |
|
25-Sep-2009 |
jkim |
Reject some VESA graphics modes if the controller does not have enough memory to support them. Some adapters have expansible memory slots but video mode table is static. In this case, unusable modes may be reported.
Submitted by: paradox (ddkprog yahoo com) (initial patch)
|
#
197478 |
|
25-Sep-2009 |
delphij |
Fix LINT build.
|
#
197468 |
|
24-Sep-2009 |
jkim |
Some broken VESA BIOSes, e.g., IBM T23, return wrong value from vesa_bios_get_line_length() in graphics mode. Always calculate the value from known video info instead.
Submitted by: paradox (ddkprog yahoo com)
|
#
197466 |
|
24-Sep-2009 |
jkim |
- Use FreeBSD function naming convention. - Change x86biosCall() to more appropriate x86bios_intr().[1]
Discussed with: delphij, paradox (ddkprog yahoo com) Submitted by: paradox (ddkprog yahoo com)[1]
|
#
197444 |
|
23-Sep-2009 |
jkim |
Move sys/dev/x86bios to sys/compat/x86bios.
It may not be optimal but it is clearly better than the old place.
OK'ed by: delphij, paradox (ddkprog yahoo com)
|
#
197424 |
|
23-Sep-2009 |
delphij |
Initialize registers to zero before calling the interrupt handlers inside emulator. This fixes VESA related freeze observed on some systems.
Submitted by: paradox <ddkprog yahoo com>
|
#
197387 |
|
21-Sep-2009 |
delphij |
Style(9) fixes.
Submitted by: swell.k at gmail.com
|
#
197383 |
|
21-Sep-2009 |
delphij |
Collapase interrupt supporting functions to a new module, and switch from x86emu to this new module.
This changeset also brings a fix for bugs introduced with the initial x86emu commit, which prevents the user from using some display mode or cause instant reboots during mode switch.
Submitted by: paradox <ddkprog yahoo com>
|
#
197323 |
|
19-Sep-2009 |
jkim |
Change cache attribute for VESA frame buffer from UC to write-combining. This improves scrolling speed for high resolution graphics mode console.
|
#
197025 |
|
09-Sep-2009 |
delphij |
- Teach vesa(4) and dpms(4) about x86emu. [1] - Add vesa kernel options for amd64. - Connect libvgl library and splash kernel modules to amd64 build. - Connect manual page dpms(4) to amd64 build. - Remove old vesa/dpms files.
Submitted by: paradox <ddkprog yahoo com> [1], swell k at gmail.com (with some minor tweaks)
|
#
197022 |
|
09-Sep-2009 |
delphij |
Copy the following files to new places, a subsequent commit would remove them from the old place. This commit necessary so that the tree would not enter a broken state.
sys/i386/isa/vesa.c -> dev/fb/vesa.c sys/i386/include/pc/vesa.h -> dev/fb/vesa.h sys/i386/isa/dpms.c -> dev/dpms/dpms.c
|
#
196704 |
|
31-Aug-2009 |
delphij |
Partially revert 196524: this part of change should not be committed as part of the changeset - it's an unrelated one.
Reported by: danfe
|
#
196543 |
|
25-Aug-2009 |
glebius |
Fix build broken in r196524.
|
#
196524 |
|
24-Aug-2009 |
delphij |
Fix VESA modes and allow 8bit depth modes.
PR: i386/124902 Submitted by: paradox <ddkprog yahoo com> MFC after: 2 months
|
#
193790 |
|
08-Jun-2009 |
delphij |
Add line width calculations for 15/16 and 24/32 bit modes in case the "Get Scan Line Length" function fails, as it does in Parallels (in Version 2.2, Build 2112 at least).
PR: i386/127367 Obtained from: DragonFly Submitted by: Pedro Giffuni MFC after: 1 month
|
#
177626 |
|
26-Mar-2008 |
brueffer |
Fix some "in in" typos in comments.
PR: 121490 Submitted by: Anatoly Borodin <anatoly.borodin@gmail.com> Approved by: rwatson (mentor), jkoshy MFC after: 3 days
|
#
153110 |
|
05-Dec-2005 |
ru |
Fix -Wundef warnings found when compiling i386 LINT, GENERIC and custom kernels.
|
#
150686 |
|
28-Sep-2005 |
marius |
Add a font width argument to vi_load_font_t, vi_save_font_t and vi_putm_t and do some preparations for handling 12x22 fonts (currently lots of code implies and/or hardcodes a font width of 8 pixels). This will be required on sparc64 which uses a default font size of 12x22 in order to add font loading and saving support as well as to use a syscons(4)-supplied mouse pointer image. This API breakage is committed now so it can be MFC'ed in time for 6.0 and later on upcoming framebuffer drivers destined for use on sparc64 and which are expected to rely on using font loading internally and on a syscons(4)-supplied mouse pointer image can be easily MFC'ed to RELENG_6 rather than requiring a backport.
Tested on: i386, sparc64, make universe MFC after: 1 week
|
#
146878 |
|
01-Jun-2005 |
jhb |
Allow the VESA code to handle devices that don't claim to be VGA devices. This fixes VESA support when running under vmware.
PR: i386/81445 Submitted by: Jia-Shiun Li jiashiun at gmail dot com MFC after: 1 week
|
#
143118 |
|
03-Mar-2005 |
iedowse |
Allocate and map a 12k data buffer such that it is contiguous in both the kernel and vm86 virtual address spaces. Use this to increase the maximum VESA save state size we can handle.
|
#
142958 |
|
01-Mar-2005 |
iedowse |
Reduce the maximum supported save state size to 4k, as the 8k limit was not implemented correctly and needs further work.
|
#
142830 |
|
28-Feb-2005 |
iedowse |
Add a missing bcopy() to make saving the VESA state actually work. Also save the DAC state, increase the maximum save state size from 4k to 8k, and refuse to save the VESA state if the BIOS reports it is larger than the maximum size we can handle.
It doesn't appear that anything currently uses this code, but it turns out to be capable of restoring some notebook displays to a working state after a suspend-resume cycle.
|
#
132199 |
|
15-Jul-2004 |
phk |
Do a pass over all modules in the kernel and make them return EOPNOTSUPP for unknown events.
A number of modules return EINVAL in this instance, and I have left those alone for now and instead taught MOD_QUIESCE to accept this as "didn't do anything".
|
#
131398 |
|
01-Jul-2004 |
jhb |
Trim a few things from the dmesg output and stick them under bootverbose to cut down on the clutter including PCI interrupt routing, MTRR, pcibios, etc.
Discussed with: USENIX Cabal
|
#
130312 |
|
10-Jun-2004 |
jhb |
Remove atdevbase and replace it's remaining uses with direct references to KERNBASE instead.
|
#
117710 |
|
17-Jul-2003 |
robert |
Make the 80x60, 132x25, 132x43, 132x50, and 132x60 VESA text modes work when using a graphics chipset which identifies itself as `VIA CLE266', used in some VIA EPIA boards. Two values need to be patched in the VESA mode information structure: the widths of the modes mentioned above are encoded in a format which was unknown to the VESA module (and to my copy of the VBE spec.) whereas the window memory segment values seem to be just incorrect.
I tested this on a VIA EPIA-M9000 and -M10000.
|
#
115703 |
|
02-Jun-2003 |
obrien |
Use __FBSDID().
|
#
113130 |
|
05-Apr-2003 |
cognet |
Use vm_paddr_t instead of vm_offset_t for the paddr parameter of vesa_mmap.
|
#
111462 |
|
25-Feb-2003 |
mux |
Cleanup of the d_mmap_t interface.
- Get rid of the useless atop() / pmap_phys_address() detour. The device mmap handlers must now give back the physical address without atop()'ing it. - Don't borrow the physical address of the mapping in the returned int. Now we properly pass a vm_offset_t * and expect it to be filled by the mmap handler when the mapping was successful. The mmap handler must now return 0 when successful, any other value is considered as an error. Previously, returning -1 was the only way to fail. This change thus accidentally fixes some devices which were bogusly returning errno constants which would have been considered as addresses by the device pager. - Garbage collect the poorly named pmap_phys_address() now that it's no longer used. - Convert all the d_mmap_t consumers to the new API.
I'm still not sure wheter we need a __FreeBSD_version bump for this, since and we didn't guarantee API/ABI stability until 5.1-RELEASE.
Discussed with: alc, phk, jake Reviewed by: peter Compile-tested on: LINT (i386), GENERIC (alpha and sparc64) Runtime-tested on: i386
|
#
111119 |
|
19-Feb-2003 |
imp |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
#
109623 |
|
21-Jan-2003 |
alfred |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
#
108284 |
|
26-Dec-2002 |
davidxu |
Set %bx register instead of %di register, see vbe3.0, page 45.
|
#
101557 |
|
09-Aug-2002 |
rwatson |
Add additional range checks for copyout targets.
Submitted by: Silvio Cesare <silvio@qualys.com>
|
#
83649 |
|
18-Sep-2001 |
julian |
Remove accidentally included debug stuff.
Noticed by: jhb
|
#
83366 |
|
12-Sep-2001 |
julian |
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process.
Sorry john! (your next MFC will be a doosie!)
Reviewed by: peter@freebsd.org, dillon@freebsd.org
X-MFC after: ha ha ha ha
|
#
67816 |
|
28-Oct-2000 |
jhb |
Don't ignore VESA modes that have the NON-VGA bit set. All of the SVGA graphical modes on some systems have this bit set causing our VESA code to ignore them.
|
#
66710 |
|
05-Oct-2000 |
jhb |
- Include opt_vesa.h in vesa.c so that the VESA_DEBUG option is actually propagated from the kernel config file to the source. - Add some more debug messages to list each mode that is rejected or found.
|
#
56836 |
|
29-Jan-2000 |
peter |
Use config's conditional compilation rather than using #ifdefs that make modular compilation harder. I'm doing this because people seem to like cut/pasting examples of bad practices in existing code.
|
#
54258 |
|
07-Dec-1999 |
yokota |
Fix the ioctl CONS_FINDMODE and its underlying subroutine xxx_query_mode() in the vga and vesa drivers.
- xxx_query_mode() returns 0 (success) and a positive error number. - Copy mode information on success. - Remove redundant structure copy.
The bug first found in -STABLE by jmg.
|
#
50792 |
|
02-Sep-1999 |
yokota |
Do not call the VESA BIOS if the current video mode is not one of the VESA modes.
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
50446 |
|
27-Aug-1999 |
yokota |
- Set the correct value to va_line_width while in the ioctl FBIO_SETLINEWIDTH.
|
#
50445 |
|
27-Aug-1999 |
yokota |
- Ouch! Do not assume the VESA BIOS will preserve the upper 16 bits of EAX and EBX.
|
#
48399 |
|
01-Jul-1999 |
peter |
Fix some warnings, unused functions etc.
|
#
48104 |
|
22-Jun-1999 |
yokota |
The second phase of syscons reorganization.
- 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.
|
#
47678 |
|
01-Jun-1999 |
jlemon |
Unifdef VM86.
Reviewed by: silence on on -current
|
#
46802 |
|
09-May-1999 |
peter |
Always use the module system, rather than in an #ifdef.
|
#
45196 |
|
31-Mar-1999 |
yokota |
Follow up to the recent vm86 change in rev. 1.19. - Make a copy of the information block returned in the vm86 space by the VESA BIOS init function. Otherwise it will be overwritten by subsequent BIOS calls in the same vm86 context.
|
#
45117 |
|
29-Mar-1999 |
yokota |
Another round of fix for palette loading. - Don't try to change DAC width when unnecessary. - Convert 8 bit DAC data to 6 bit DAC data before unloading the vesa KLD module.
|
#
44866 |
|
18-Mar-1999 |
jlemon |
Cast (u_char *) to (vm_offset_t) to silence compiler warnings.
|
#
44846 |
|
18-Mar-1999 |
jlemon |
Update to use the modified vm86_datacall interface.
|
#
44162 |
|
20-Feb-1999 |
yokota |
Make sure the DAC palette width is restored to 6 bit.
|
#
43674 |
|
05-Feb-1999 |
yokota |
Oops, the last commit contained a wrong patch. This is the correct one.
|
#
43664 |
|
05-Feb-1999 |
yokota |
- Don't assume the line length in the video memory is always the same as the screen width. - Store the current video mode information in the `video_adapter' struct. - The size of the `v_offscreensize' field in the VESA mode information block is u_int16, not u_int8.
|
#
42747 |
|
17-Jan-1999 |
yokota |
Don't forget copying video mode flags to the adapter info. block when changing video modes.
|
#
42729 |
|
16-Jan-1999 |
yokota |
Fix palette save/load functions.
# They have been unchanged since the introduction of the VESA support. # But, we started seeing the problem only recently ;-<
|
#
42611 |
|
12-Jan-1999 |
yokota |
Oops, I accidentaly left the debug option on by default. It's set to off now.
|
#
42504 |
|
11-Jan-1999 |
yokota |
The first stage of console driver reorganization: activate new keyboard and video card drivers.
Because of the changes, you are required to update your kernel configuration file now!
The files in sys/dev/syscons are still i386-specific (but less so than before), and won't compile for alpha and PC98 yet.
syscons still directly accesses the video card registers here and there; this will be rectified in the later stages.
|
#
42235 |
|
01-Jan-1999 |
des |
Correct typo in macro name.
|
#
42179 |
|
30-Dec-1998 |
yokota |
Make the VESA KLD module work!
|
#
41591 |
|
07-Dec-1998 |
archie |
The "easy" fixes for compiling the kernel -Wunused: remove unreferenced static and local variables, goto labels, and functions declared but not defined.
|
#
39880 |
|
02-Oct-1998 |
yokota |
A size field returned by the VESA BIOS is already expressed in bytes. Submitted by: sos
|
#
39858 |
|
01-Oct-1998 |
yokota |
Yet another round of fixes for the VESA support code.
- Express various sizes in bytes, rather than Kbytes, in the video mode and adapter information structures. - Fill 0 in the linear buffer size field if the linear frame buffer is not available. - Remove SW_VESA_USER ioctl. It is still experimetal and was not meant to be released. - Fix missing cast operator. - Correctly handle pointers returned by the VESA BIOS. The pointers may point to the area either in the BIOS ROM or in the buffer supplied by the caller. - Set the destructive cursor at the right moment.
|
#
39780 |
|
29-Sep-1998 |
ache |
Restore v1.3 - page align workaround moved to vm86_datacall now
|
#
39745 |
|
29-Sep-1998 |
ache |
cosmetique - remove unneded static in previous commit
|
#
39744 |
|
29-Sep-1998 |
ache |
workaround painful vm86_datacall requirement that segment+offset must be withing the same PAGE frame
|
#
39643 |
|
25-Sep-1998 |
yokota |
Cosmetic change: adjust copyright notice.
|
#
39591 |
|
23-Sep-1998 |
yokota |
Fix and update for VESA BIOS support in syscons.
- Handle pixel (raster text) mode properly. - Clear screen and paint border right. - Paint text attribute (colors). - Fix off-by-one errors. - Add some sanity checks. - Fix some function prototypes. - Add some comment lines. - Define generic text mode numbers so that the user can just give "80x25", "80x60", "132x25"..., rather than "VGA_xxx", to `vidcontrol' to change the current video mode. `vidoio.c' and `vesa.c' will map these numbers to real video mode numbers appropriate and available with the given video hardware. I believe this will be useful to make syscons more portable across archtectures.
|
#
39287 |
|
15-Sep-1998 |
sos |
Add VESA support to syscons.
Kazu writes:
The VESA support code requires vm86 support. Make sure your kernel configuration file has the following line. options "VM86" If you want to statically link the VESA support code to the kernel, add the following option to the kernel configuration file. options "VESA"
The vidcontrol command now accepts the following video mode names: VESA_132x25, VESA_132x43, VESA_132x50, VESA_132x60, VESA_800x600
The VESA_800x600 mode is a raster display mode. The 80x25 text will be displayed on the 800x600 screen. Useful for some laptop computers.
vidcontrol accepts the new `-i <info>' option, where <info> must be either `adapter' or `mode'. When the `-i adapter' option is given, vidcontrol will print basic information (not much) on the video adapter. When the `-i mode' option is specified, vidcontrol will list video modes which are actually supported by the video adapter.
Submitted by: Kazutaka YOKOTA yokota@FreeBSD.ORG
|