platform/upstream/gummiboot.git
10 years agographics: Do not require nonstandard console control protocol
Joonas Lahtinen [Wed, 15 Jan 2014 11:08:04 +0000 (11:08 +0000)]
graphics: Do not require nonstandard console control protocol

Console Control Protocol is a nonstandard UEFI interface and lack of
it shall not be treated as an error.

Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
10 years agoTypo in gummiboot man page
Chris [Thu, 2 Jan 2014 02:49:31 +0000 (03:49 +0100)]
Typo in gummiboot man page

10 years agographics: splash - correct rounding in alpha blending
Terje Gundersen [Tue, 24 Dec 2013 09:51:57 +0000 (10:51 +0100)]
graphics: splash - correct rounding in alpha blending

"(X >> 8)" always rounds down, but "(X + 0x80) >> 8)" rounds to
the nearest integer.

10 years agocosmetics for 'P' splash loop
Kay Sievers [Sun, 22 Dec 2013 20:48:45 +0000 (21:48 +0100)]
cosmetics for 'P' splash loop

10 years agodisable cursor when switching text/graphics mode
Kay Sievers [Sun, 22 Dec 2013 20:28:08 +0000 (21:28 +0100)]
disable cursor when switching text/graphics mode

10 years agoversion 42 42
Kay Sievers [Sat, 21 Dec 2013 18:22:53 +0000 (19:22 +0100)]
version 42

10 years agobuild-sys: add headers as dependency
Kay Sievers [Sat, 21 Dec 2013 18:20:52 +0000 (19:20 +0100)]
build-sys: add headers as dependency

10 years agobuild-sys: fix dist(check)
Kay Sievers [Sat, 21 Dec 2013 17:14:41 +0000 (18:14 +0100)]
build-sys: fix dist(check)

10 years agoversion 41 41
Tom Gundersen [Sat, 21 Dec 2013 15:50:49 +0000 (16:50 +0100)]
version 41

10 years agosupport "background" color setting
Kay Sievers [Sat, 21 Dec 2013 04:13:30 +0000 (05:13 +0100)]
support "background" color setting

10 years agoremove +1 from alpha calculation
Kay Sievers [Sat, 21 Dec 2013 00:37:04 +0000 (01:37 +0100)]
remove +1 from alpha calculation

10 years ago'P' support cycling to backgroud colors for debugging
Kay Sievers [Fri, 20 Dec 2013 23:56:07 +0000 (00:56 +0100)]
'P' support cycling to backgroud colors for debugging

10 years agographics - support alpha channel
Tom Gundersen [Thu, 19 Dec 2013 09:52:20 +0000 (10:52 +0100)]
graphics - support alpha channel

First get the contents of the screen we want to blit to, then blend with our picture
before blitting back.

10 years ago'P' disable cursor when coming back from graphics mode
Kay Sievers [Thu, 19 Dec 2013 02:24:06 +0000 (03:24 +0100)]
'P' disable cursor when coming back from graphics mode

10 years agoupdate test splash picture to carry an aplha channel
Kay Sievers [Fri, 20 Dec 2013 18:17:37 +0000 (19:17 +0100)]
update test splash picture to carry an aplha channel

10 years agoadd original gummiboot.svg from Sirko Kemter
Kay Sievers [Fri, 20 Dec 2013 17:55:35 +0000 (18:55 +0100)]
add original gummiboot.svg from Sirko Kemter

10 years agographics: factor out BMP header parsing
Tom Gundersen [Thu, 19 Dec 2013 08:19:50 +0000 (09:19 +0100)]
graphics: factor out BMP header parsing

10 years agographics: support smaller than 2^n colormaps
Tom Gundersen [Wed, 18 Dec 2013 13:54:30 +0000 (14:54 +0100)]
graphics: support smaller than 2^n colormaps

10 years agographics: simplify 16bpp calculation
Tom Gundersen [Tue, 17 Dec 2013 15:09:54 +0000 (16:09 +0100)]
graphics: simplify 16bpp calculation

10 years agographics: add support for XRGB{16,32}
Tom Gundersen [Tue, 17 Dec 2013 11:59:31 +0000 (12:59 +0100)]
graphics: add support for XRGB{16,32}

We now support all the formats GIMP can produce except for RGB16,
though any alpha-channels are silently ignored.

10 years agographics: accept newer BMP header versions
Tom Gundersen [Tue, 17 Dec 2013 11:26:54 +0000 (12:26 +0100)]
graphics: accept newer BMP header versions

Also accept (but ignore) ICC profiles at the end of the BMP file.

10 years agotest: fix splash location
Kay Sievers [Tue, 17 Dec 2013 00:05:03 +0000 (01:05 +0100)]
test: fix splash location

10 years agoshow unconfigured default and entry-specific splash on 'P'
Kay Sievers [Mon, 16 Dec 2013 23:57:15 +0000 (00:57 +0100)]
show unconfigured default and entry-specific splash on 'P'

10 years agoshow default splash on 'P'
Tom Gundersen [Mon, 16 Dec 2013 21:04:22 +0000 (22:04 +0100)]
show default splash on 'P'

10 years agotest: include a fallback bootsplash in the test image
Tom Gundersen [Mon, 16 Dec 2013 18:03:45 +0000 (19:03 +0100)]
test: include a fallback bootsplash in the test image

10 years agobuild-sys: don't use qemu-kvm
Tom Gundersen [Mon, 16 Dec 2013 17:49:24 +0000 (18:49 +0100)]
build-sys: don't use qemu-kvm

qemu-kvm is a wrapper around the real binary, use that directly.

10 years agofix padding for BMP lines
Kay Sievers [Mon, 16 Dec 2013 14:02:41 +0000 (15:02 +0100)]
fix padding for BMP lines

10 years agodo not show splash for automatically added entries
Kay Sievers [Mon, 16 Dec 2013 00:52:58 +0000 (01:52 +0100)]
do not show splash for automatically added entries

10 years agoversion 40 40
Kay Sievers [Sun, 15 Dec 2013 23:56:39 +0000 (00:56 +0100)]
version 40

10 years agofall back to default splash image
Kay Sievers [Mon, 16 Dec 2013 00:01:06 +0000 (01:01 +0100)]
fall back to default splash image

10 years agoadd splash support
Kay Sievers [Sun, 15 Dec 2013 18:15:30 +0000 (19:15 +0100)]
add splash support

10 years agosplit out console.[ch]
Kay Sievers [Sun, 15 Dec 2013 17:47:37 +0000 (18:47 +0100)]
split out console.[ch]

10 years agosplit out util.[ch]
Kay Sievers [Sun, 15 Dec 2013 17:37:05 +0000 (18:37 +0100)]
split out util.[ch]

10 years agomove graphics to its own file
Kay Sievers [Sun, 15 Dec 2013 17:14:06 +0000 (18:14 +0100)]
move graphics to its own file

10 years agomake console_text_mode into more generic function
Joonas Lahtinen [Tue, 10 Dec 2013 09:23:29 +0000 (09:23 +0000)]
make console_text_mode into more generic function

Convert console_text_mode function into console_mode function
which is able to switch back and forth between graphics and text
mode.

Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Reviewed-by: Mikko Ylinen <mikko.ylinen@intel.com>
10 years agomake file_read callable outside compilation unit
Joonas Lahtinen [Tue, 10 Dec 2013 09:23:16 +0000 (09:23 +0000)]
make file_read callable outside compilation unit

Make file_read usable from other compilation units allowing reuse
of code when splitting functionality to multiple files.

Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Reviewed-by: Mikko Ylinen <mikko.ylinen@intel.com>
10 years agoMakefile.am: be consistent defining sources
Joonas Lahtinen [Tue, 10 Dec 2013 09:22:56 +0000 (09:22 +0000)]
Makefile.am: be consistent defining sources

Be consistent with other source file definitions.

Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Mikko Ylinen <mikko.ylinen@intel.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
10 years agoadd source format modeline
Joonas Lahtinen [Tue, 10 Dec 2013 09:22:45 +0000 (09:22 +0000)]
add source format modeline

For easier editing, add source format modeline similar to other files.

Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Mikko Ylinen <mikko.ylinen@intel.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
10 years agoversion 39 39
Kay Sievers [Wed, 27 Nov 2013 22:56:29 +0000 (23:56 +0100)]
version 39

11 years agohandle CTRL-w in line editor
Kay Sievers [Fri, 18 Oct 2013 00:32:41 +0000 (02:32 +0200)]
handle CTRL-w in line editor

11 years agoadd only the first OS X system we find
Kay Sievers [Fri, 4 Oct 2013 02:45:45 +0000 (04:45 +0200)]
add only the first OS X system we find

11 years agoversion 38 38
Tom Gundersen [Sun, 22 Sep 2013 23:59:20 +0000 (01:59 +0200)]
version 38

11 years agotry harder to work around firmware with broken SIMPLE_TEXT_INPUT_EX_PROTOCOL
Kay Sievers [Sun, 22 Sep 2013 20:28:49 +0000 (15:28 -0500)]
try harder to work around firmware with broken SIMPLE_TEXT_INPUT_EX_PROTOCOL

11 years agocount TSC ticks instead of relying on CPUID
Kay Sievers [Sun, 22 Sep 2013 15:22:29 +0000 (10:22 -0500)]
count TSC ticks instead of relying on CPUID

The clock frequency stated for newer CPUs does not match the
TSC frequency; count the ticks during one millisecond
instead.

11 years agoversion 37 37
Harald Hoyer [Mon, 9 Sep 2013 11:32:41 +0000 (13:32 +0200)]
version 37

11 years agotest-create-disk.sh: format the partition, not the disk
Kay Sievers [Mon, 26 Aug 2013 23:00:00 +0000 (01:00 +0200)]
test-create-disk.sh: format the partition, not the disk

11 years agoconfigure.ac: break 2 on lds directory search
Harald Hoyer [Mon, 9 Sep 2013 11:10:19 +0000 (13:10 +0200)]
configure.ac: break 2 on lds directory search

To get out of the for loops, to search for the lds directories, break 2

11 years agoconfigure.ac: search for efi-ldsdir in multiple places
Harald Hoyer [Thu, 29 Aug 2013 10:39:55 +0000 (12:39 +0200)]
configure.ac: search for efi-ldsdir in multiple places

11 years agofall back to SimpleTextInputProtocol if we do not actually get a key
Kay Sievers [Sun, 25 Aug 2013 12:33:28 +0000 (14:33 +0200)]
fall back to SimpleTextInputProtocol if we do not actually get a key

11 years agoversion 36 36
Kay Sievers [Thu, 22 Aug 2013 21:06:10 +0000 (23:06 +0200)]
version 36

11 years agobuild-sys: move EFI_LIB_DIR, EFI_INC_DIR, EFI_LDS_DIR to AC_ARG_WITH()
Kay Sievers [Thu, 22 Aug 2013 10:22:29 +0000 (12:22 +0200)]
build-sys: move EFI_LIB_DIR, EFI_INC_DIR, EFI_LDS_DIR to AC_ARG_WITH()

11 years agorename test-disk to test-disk.img
Kay Sievers [Thu, 22 Aug 2013 02:01:45 +0000 (04:01 +0200)]
rename test-disk to test-disk.img

11 years agouse EFI/Boot/bootx64.efi instead of EFI/BOOT/BOOTX64.EFI
Kay Sievers [Wed, 21 Aug 2013 23:26:18 +0000 (01:26 +0200)]
use EFI/Boot/bootx64.efi instead of EFI/BOOT/BOOTX64.EFI

11 years agofall back to SimpleTextInputProtocol if we receive errors
Kay Sievers [Wed, 21 Aug 2013 23:07:42 +0000 (01:07 +0200)]
fall back to SimpleTextInputProtocol if we receive errors

11 years agoAutodetect both x64 and ia32 boot*.efi payloads
Darren Hart [Wed, 21 Aug 2013 22:38:07 +0000 (15:38 -0700)]
Autodetect both x64 and ia32 boot*.efi payloads

The EFI specification documents /EFI/BOOT/bootx64.efi for x86_64
machines and /EFI/BOOT/bootia32.efi for ia32 machines. Update the auto
detection to allow for both.

Add the MACHINE_TYPE_NAME define to the efi/src build so we can use it
as the standard suffix for the EFI payloads (ia32 or x64).

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
11 years agoqemu: skip AC_CHECK_FILE when cross-compiling
Kay Sievers [Wed, 21 Aug 2013 22:38:49 +0000 (00:38 +0200)]
qemu: skip AC_CHECK_FILE when cross-compiling

11 years agoadd EFI_INCDIR, EFI_CPPFLAGS, EFI_CFLAGS, EFI_LDFLAGS; move defines to CPP
Kay Sievers [Wed, 21 Aug 2013 22:14:39 +0000 (00:14 +0200)]
add EFI_INCDIR, EFI_CPPFLAGS, EFI_CFLAGS, EFI_LDFLAGS; move defines to CPP

11 years agoconfigure.ac: Use AC_CHECK_HEADER to detect the efi includes
Darren Hart [Wed, 21 Aug 2013 19:21:18 +0000 (21:21 +0200)]
configure.ac: Use AC_CHECK_HEADER to detect the efi includes

While cross-compiling, AC_CHECK_FILE will abort the configure.

The gnu-efi sources don't use relative paths and require the user to
explicitly include -I/usr/include/efi/${ARCH}. I haven't found a way to
do this with AC_CHECK_HEADER. However, since the existing test was not
testing for usability (conftest.c compilation), we don't lose much by
just not looking for efi.h and assume it exists if we can find and use
efibind.h.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
11 years agoconfigure.ac: Allow for more than just i686 for ia32
Darren Hart [Wed, 21 Aug 2013 18:13:42 +0000 (11:13 -0700)]
configure.ac: Allow for more than just i686 for ia32

Expand the ARCH_I686 to include i*86* (specifically to catch i586).
Rename ARCH_I686 to ARCH_IA32 as that is more accurately what we are
testing for.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
11 years agogummiboot: Add 32 bit compatible rdtsc asm
Darren Hart [Wed, 21 Aug 2013 16:31:03 +0000 (09:31 -0700)]
gummiboot: Add 32 bit compatible rdtsc asm

Gcc's inline asm constraints have different meanings on x86_64 and ia32.
Include a 32 bit version for the rdtsc function. Drop the empty 32 bit
version of time_usec as it and the cpuid function both function properly
when compiled for 32 bit systems.

Tested on the following CPU:
Intel(R) Atom(TM) CPU E640   @ 1.00GHz

A value of 1000000000 was detected.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: "Ylinen, Mikko" <mikko.ylinen@intel.com>
11 years agofall back to SimpleTextInputProtocol if we can't read a key
Kay Sievers [Wed, 21 Aug 2013 13:17:22 +0000 (15:17 +0200)]
fall back to SimpleTextInputProtocol if we can't read a key

11 years agosupport M-BS, M-d, and fix word jumping
Kay Sievers [Tue, 20 Aug 2013 22:33:05 +0000 (00:33 +0200)]
support M-BS, M-d, and fix word jumping

11 years agosupport M-<, M->
Kay Sievers [Tue, 20 Aug 2013 22:07:02 +0000 (00:07 +0200)]
support M-<, M->

11 years agocleanup EFI_ERROR() use
Kay Sievers [Mon, 19 Aug 2013 21:05:12 +0000 (23:05 +0200)]
cleanup EFI_ERROR() use

11 years agomove all key press handling into key_read()
Kay Sievers [Mon, 19 Aug 2013 20:51:07 +0000 (22:51 +0200)]
move all key press handling into key_read()

Avoid mixing the API calls of:
  EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL
  EFI_SIMPLE_TEXT_INPUT_PROTOCOL
Always wait for the key and read the key with the same API.

11 years agosimplify hotkey search loop
Kay Sievers [Wed, 14 Aug 2013 11:01:53 +0000 (13:01 +0200)]
simplify hotkey search loop

11 years agouse hotkey 'a' for OS X, and start searching for hotkeys at current default
Kay Sievers [Tue, 13 Aug 2013 22:36:13 +0000 (00:36 +0200)]
use hotkey 'a' for OS X, and start searching for hotkeys at current default

11 years agoversion 35 35
Kay Sievers [Thu, 8 Aug 2013 21:11:50 +0000 (23:11 +0200)]
version 35

11 years agosupport hotkeys to boot an entry immediately, or to select one in the menu
Kay Sievers [Wed, 7 Aug 2013 01:06:58 +0000 (03:06 +0200)]
support hotkeys to boot an entry immediately, or to select one in the menu

 1-9: Index of entry
 l:   Linux
 s:   Shell
 w:   Windows
 m:   OS X

11 years agohandle Alt-key in line editor; use 'Q' to quit; use 'P' for print dump
Kay Sievers [Fri, 2 Aug 2013 13:08:39 +0000 (15:08 +0200)]
handle Alt-key in line editor; use 'Q' to quit; use 'P' for print dump

11 years agoversion 34 34
Kay Sievers [Tue, 30 Jul 2013 00:23:57 +0000 (02:23 +0200)]
version 34

11 years agoprint "t/T" in help text for timeout setting keys
Kay Sievers [Mon, 29 Jul 2013 23:27:00 +0000 (01:27 +0200)]
print "t/T" in help text for timeout setting keys

11 years agoproperly calculate end-of-line jump
Kay Sievers [Mon, 29 Jul 2013 22:56:39 +0000 (00:56 +0200)]
properly calculate end-of-line jump

11 years agohandle scan code and unicode key as one value
Kay Sievers [Mon, 29 Jul 2013 22:25:21 +0000 (00:25 +0200)]
handle scan code and unicode key as one value

11 years agodump: handle ESC key before printing the first entry
Kay Sievers [Sun, 28 Jul 2013 14:05:05 +0000 (16:05 +0200)]
dump: handle ESC key before printing the first entry

11 years agotest: use 512 MB, mkfs.vfat seems to get confused with FAT32 on small volumes
Kay Sievers [Sun, 28 Jul 2013 14:01:42 +0000 (16:01 +0200)]
test: use 512 MB, mkfs.vfat seems to get confused with FAT32 on small volumes

11 years agosupport CTRL-c to exit option editor
Kay Sievers [Sun, 28 Jul 2013 02:13:02 +0000 (04:13 +0200)]
support CTRL-c to exit option editor

11 years agostop dump with ESC key; limit option editor to configured entries
Kay Sievers [Sun, 28 Jul 2013 02:06:03 +0000 (04:06 +0200)]
stop dump with ESC key; limit option editor to configured entries

11 years agouse mapping table for menu and line editor; use 'h' for help
Kay Sievers [Sat, 27 Jul 2013 22:46:26 +0000 (00:46 +0200)]
use mapping table for menu and line editor; use 'h' for help

11 years agosupport CTRL-{a,e,f,b} in line editor
Kay Sievers [Sat, 27 Jul 2013 20:29:00 +0000 (22:29 +0200)]
support CTRL-{a,e,f,b} in line editor

11 years agoversion 33 33
Kay Sievers [Sun, 16 Jun 2013 16:32:37 +0000 (18:32 +0200)]
version 33

11 years ago EFI_CONSOLE_CONTROL_PROTOCOL structs in console_text_mode() should be declared...
Keshav Padram [Sun, 16 Jun 2013 16:31:59 +0000 (18:31 +0200)]
EFI_CONSOLE_CONTROL_PROTOCOL structs in console_text_mode() should be declared as EFIAPI

    EFI_CONSOLE_CONTROL_PROTOCOL structs in console_text_mode() previously
    were not declared as EFIAPI, due to which gummiboot compiled
    with gnu-efi 3.0t (with GNU_EFI_USE_MS_ABI enabled) hanged. Fix this by
    declaring EFI_CONSOLE_CONTROL_PROTOCOL_{GET_MODE,SET_MODE,LOCK_STD_IN}
    as EFIAPI.

    Tested in Lenovo Thinkpad E430, UEFI 2.3.1, x86_64 firmware.

11 years agoversion 32 32
Kay Sievers [Fri, 7 Jun 2013 09:28:08 +0000 (11:28 +0200)]
version 32

11 years agoswitch to GNU_EFI_USE_MS_ABI (requires gnu-efi-3.0s)
Kay Sievers [Fri, 7 Jun 2013 09:14:34 +0000 (11:14 +0200)]
switch to GNU_EFI_USE_MS_ABI (requires gnu-efi-3.0s)

11 years agosetup: rename variable
Kay Sievers [Fri, 7 Jun 2013 08:07:13 +0000 (10:07 +0200)]
setup: rename variable

11 years agoversion 31 31
Kay Sievers [Fri, 17 May 2013 15:43:25 +0000 (17:43 +0200)]
version 31

11 years agoanother "check ReadKeyStroke() for EFI_SUCCESS"
Ahmet Inan [Thu, 16 May 2013 21:45:05 +0000 (23:45 +0200)]
another "check ReadKeyStroke() for EFI_SUCCESS"

Just like with commit 9061fc1, trying to boot server without keyboard
resets timeout and prevents normal boot of default entry.

11 years agosetup: use the value not the index when updating an entry
Kay Sievers [Fri, 3 May 2013 19:23:33 +0000 (21:23 +0200)]
setup: use the value not the index when updating an entry

11 years agoversion 30 30
Kay Sievers [Tue, 9 Apr 2013 22:27:02 +0000 (00:27 +0200)]
version 30

11 years agosetup: status - Flags: --> Status:
Kay Sievers [Thu, 28 Mar 2013 20:55:01 +0000 (21:55 +0100)]
setup: status - Flags: --> Status:

11 years agosetup: show - print missing /
Kay Sievers [Thu, 28 Mar 2013 18:09:21 +0000 (19:09 +0100)]
setup: show - print missing /

11 years agosetup: status - do not print values from current boot
Kay Sievers [Thu, 28 Mar 2013 18:05:53 +0000 (19:05 +0100)]
setup: status - do not print values from current boot

11 years agomove _GNU_SOURCE to AM_CFLAGS
Kay Sievers [Thu, 28 Mar 2013 12:56:06 +0000 (13:56 +0100)]
move _GNU_SOURCE to AM_CFLAGS

11 years agosetup: status - ESP --> Partition
Kay Sievers [Thu, 28 Mar 2013 10:38:36 +0000 (11:38 +0100)]
setup: status - ESP --> Partition

11 years agosetup: status - re-order ESP and loader files printing
Kay Sievers [Thu, 28 Mar 2013 03:42:08 +0000 (04:42 +0100)]
setup: status - re-order ESP and loader files printing

11 years agosetup: status - prefix list of loaders
Kay Sievers [Wed, 27 Mar 2013 02:47:47 +0000 (03:47 +0100)]
setup: status - prefix list of loaders

11 years agoversion 29 29
Kay Sievers [Sat, 23 Mar 2013 22:36:30 +0000 (23:36 +0100)]
version 29

11 years agocheck ReadKeyStroke() for EFI_SUCCESS
Kay Sievers [Sat, 23 Mar 2013 17:58:24 +0000 (18:58 +0100)]
check ReadKeyStroke() for EFI_SUCCESS

"If a PC using gummiboot is booted without a keyboard plugged in (i.e. such
as on a server), instead of following the options specified in loader.conf,
it brings up the gummiboot menu without a time-out (whether one is used or
not)."

https://bugs.archlinux.org/task/34431

11 years agoremember LoaderEntryOneShot value for dump
Kay Sievers [Thu, 21 Mar 2013 14:56:31 +0000 (15:56 +0100)]
remember LoaderEntryOneShot value for dump

<derRichard> kay: btw: in dump_status() you print LoaderEntryOneShot, but config_default_entry_select() is called before that and deletes the var...
<kay> derRichard: oh :)

11 years agosetup: print only boot loader entries with an actual loader binary
Kay Sievers [Wed, 20 Mar 2013 02:07:02 +0000 (03:07 +0100)]
setup: print only boot loader entries with an actual loader binary