| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Clean up a number of warnings in the tree.
Refactor especially the core code so we don't end up building a bunch
of BIOS-specific code for EFI, and general build cleanups.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
|
|
|
|
|
| |
Update libpng to version 1.6.36 due to errata in earlier versions.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
We were doing a bunch of i386-specific things even on x86-64. Fix
this, and merge x86 definitions where possible.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 15a67011987c341814533ac4d8e23c9a72dc7605, because
as Peter points out,
The objects are uint32_t and so the prototype is correct. It should
not "leak" outside the screencpy function that we play ugly tricks
with these pointers; that is better handled by an internal cast.
So do the necessary casting inside bios_vesacon_screencpy().
Cc: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
Makefile
com32/elflink/ldlinux/Makefile
com32/lib/sys/module/elf_module.c
core/cleanup.c
core/comboot.inc
core/conio.c
core/fs/fs.c
core/init.c
core/mem/free.c
core/mem/malloc.c
core/timer.inc
diag/geodsp/Makefile
extlinux/main.c
mk/embedded.mk
modules/Makefile
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| | |
We always call fclose() on 'fp' if fopen() was successful, so delete
the extraneous fclose() call in read_jpeg_file().
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There's lots of the vesa infrastructure that can be shared for both
BIOS and EFI, so share the things that are common and split out the
things that are not into firmware-specific functions and use the
'firmware' structure to access them.
This commit is part of a series of changes that removes all
EFI-specific code from everywhere except efi/, which means we can
delete inclusion of any gnu-efi header files and remove gnu-efi paths
from CFLAGS.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
commit 97402a0a1639 ("efi, vesa: Fix vesa initialization and video
mode resolution") should have updated the BIOS version of the vesa
code too.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| | |
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Delete unused variable 'winn'
* Delete unused variable 'win_pos'
* Mark parameter __unused
* Delete unused variable 'l'
* Delete unused variable 'omask'
* Delete BIOS code
* Delete unused variable 'win_size'
* Delete set_window_pos unused function
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Delete set but not used variables
* Rip out non-EFI code
* Delete defined but not used function.
* Defined but not used variables.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| | |
Cast away the const-ness of cp865_8x16_font_data when passing it to
unpack_font() so that gcc doesn't generate a warning.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed undefined symbol dprintf for production build. Now dprintf.h is
included so that both debug and production builds are ok.
Fixed the initialization of mode_info structure to point to a valid
GOP mode structure prior to printing it.
Fixed the case when the requested video mode resolution is unsupported
on a platform. Essentially, VESA initialization is passed a desirable
video resolution. The underlying platform may either grant it or
return a system supported default value. This fix is necessitated by
EFI-enabled platforms. Appropriate changes to callers of the vesa
initialization and the BIOS centric code are made as well.
Signed-off-by: Chandramouli Narayanan <chandramouli.narayanan@intel.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Earlier version of this routine was erroneously handling locating the
protocol. The check for error conditions have been fixed. The
handling of more than one GOP handle has been fixed as well.
Added copyright info to the file cp865_8x16.h.
Fixed vesacon_set_mode() to use malloc() instead of lmalloc() and
cleaned up debug traces.
Fixed __vesacon_copy_to_screen() by directly writing to the frame
buffer.
Signed-off-by: Chandramouli Narayanan <chandramouli.narayanan@intel.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the initial cut, all of vesa code is dropped into vesa/efi with
code buildable for EFI with a build option. There is VESA only code
that is in the efi subdirectory as well that should go away eventually.
Other files not dependent on EFI or not relevant to EFI need to be
removed as well (e.g. i915resolution.c).
The crux of the code is in initvesa.c and screencpy.c. The GOP
initialization code sets up a matching graphics mode for the caller's
resolution needs. The VESA data structure is populated and mapped to
the EFI implementation as much as possible with some EFI extensions.
Since there is no way to query EFI for font, raw font data for
cp865_8x16 is added.
The code should build. Initial issues with testing the code are:
GOP mode on qemu-x86_64 does not match 640x480 and secondly
querying for the mode info on qemu fails. However, a simple program
querying GOP modes on efi64 platform works ok though. Testing the
resulting syslinux.efi on an efi64 platform does not seem to print output
other than in efi_main() routine . I suspect that it may be due to loading
failure or file system initialization. The issue does not show up on
qemu. In summary, there are issues on qemu and an efi64 platform that
need to be resolved.
|
|
|
|
|
|
| |
Unify multiple open-coded instances of integer binary logarithm.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
| |
Replace hard-coded bounce buffer uses in com32/lib with lmalloc/lfree.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
Use libpci to access PCI config space. This *hopefully* will make it
less likely that some old machine hangs when failing to set the
requested video mode.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If we specify a smaller image than the screen size, tile it across the
screen rather than leaving a big black box. This may have to be made
configurable.
Also note that Syslinux currently does not handle the case of an image
bleeding off the end of the screen.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|/
|
|
|
|
|
| |
Add some code from the tool "915resolution" to allow arbitrary
resolutions to be set on some Intel chipsets.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Code formatting fix in screencpy.c
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Unbreak the default background image; it would clobber all of memory.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
Implement long-since-promised video functions defined in
<syslinux/video.h>. Use these functions in initvesa.c instead of
open-coding the same functionality.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Don't display the cursor on the graphical screen while doing a quiet
boot. When doing a quiet boot we will probably show the graphical
screen for a fair bit of time; as a result, we really don't want a
completely bogus cursor blob on the bottom of the screen.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
There are a fair number of valid JPEG images which we can validly
decode that aren't JFIF-complient, so don't require the JFIF header.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Drop the hard-coding of 640x480 resolution in preparation for being
able to handle other resolutions.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Automatically reformat com32/lib/sys/vesa/video.h using Nindent.
Do this for all files except HDT, gPXE and externally maintained
libraries (zlib, tinyjpeg, libpng).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Automatically reformat com32/lib/sys/vesa/vesa.h using Nindent.
Do this for all files except HDT, gPXE and externally maintained
libraries (zlib, tinyjpeg, libpng).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Automatically reformat com32/lib/sys/vesa/screencpy.c using Nindent.
Do this for all files except HDT, gPXE and externally maintained
libraries (zlib, tinyjpeg, libpng).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Automatically reformat com32/lib/sys/vesa/initvesa.c using Nindent.
Do this for all files except HDT, gPXE and externally maintained
libraries (zlib, tinyjpeg, libpng).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Automatically reformat com32/lib/sys/vesa/fmtpixel.c using Nindent.
Do this for all files except HDT, gPXE and externally maintained
libraries (zlib, tinyjpeg, libpng).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Automatically reformat com32/lib/sys/vesa/fill.h using Nindent.
Do this for all files except HDT, gPXE and externally maintained
libraries (zlib, tinyjpeg, libpng).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Automatically reformat com32/lib/sys/vesa/drawtxt.c using Nindent.
Do this for all files except HDT, gPXE and externally maintained
libraries (zlib, tinyjpeg, libpng).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Automatically reformat com32/lib/sys/vesa/debug.h using Nindent.
Do this for all files except HDT, gPXE and externally maintained
libraries (zlib, tinyjpeg, libpng).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Automatically reformat com32/lib/sys/vesa/background.c using Nindent.
Do this for all files except HDT, gPXE and externally maintained
libraries (zlib, tinyjpeg, libpng).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Regarding the vesa spec, total_memory is reported to be 16bits
That 32bits field had shifted the whole structure and prevented
reading other fields properly.
|
|
|
|
| |
Simplify the lss16 decoder slightly.
|
|
|
|
|
|
| |
The EFI ABI spec states that DF=0 on ABI boundaries, and gcc expects
this. Assume it is safe to rely upon everywhere; drop unnecessary cld
instructions, except on entry and (obviously) after std.
|
|
|
|
| |
Add support for reading lss16 images, for compatibility with the CLI.
|
|
|
|
| |
Remove obsolete and now unused filesize() function.
|
|
|
|
|
| |
Handle unspecified file length for comboot/com32 modules; do changes
to the appropriate part of libcom32 to handle this properly.
|
| |
|
|
|
|
|
|
|
| |
The Bochs VESA BIOS returns a value other than 1 for the number of
banks in unbanked modes. Ignore the number of banks if bank_size == 0
(the spec says that for unbanked modes, banks == 1 && bank_size == 0;
for banked modes banks > 1 and bank_size != 0).
|
|
|
|
| |
Suppress a warning about unused arguments.
|
|
|
|
| |
We do dword accesses to the row buffer, so align it to 4 bytes.
|
|
|
|
| |
Minor cleanups for clarity
|
|
|
|
|
| |
Move the debugging function to a separate header file, so we can
include it at will when convenient.
|
|
|
|
|
|
|
|
|
| |
Set the window size to 2 GB for linear framebuffer, lest the
calculation:
l = min(bytes, win_size-win_off);
... incorrectly returns zero when win_off == 0.
|
|
|
|
|
| |
When the output format is BGRA32, we don't need any conversion at
all. Skip the dummy copy.
|