merge mainline into yeeloongfw
This commit is contained in:
commit
c28e2d120b
48 changed files with 630 additions and 229 deletions
226
ChangeLog
226
ChangeLog
|
@ -1,3 +1,229 @@
|
||||||
|
2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* genmoddep.awk: Output all missing symbols and not only first.
|
||||||
|
|
||||||
|
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* NEWS: Put the date of 1.98 release.
|
||||||
|
|
||||||
|
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* configure.ac: Update CPPFLAGS and not CFLAGS when checking for
|
||||||
|
ft2build.h.
|
||||||
|
|
||||||
|
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* normal/cmdline.c (grub_cmdline_get): Fix gabled line after
|
||||||
|
completition in the middle of string.
|
||||||
|
|
||||||
|
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* util/grub-mkrescue.in: Use mktemp with explicit template.
|
||||||
|
|
||||||
|
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
|
||||||
|
|
||||||
|
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
|
||||||
|
right pointer.
|
||||||
|
|
||||||
|
2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Fix FreeBSD compilation.
|
||||||
|
|
||||||
|
* Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
|
||||||
|
* configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
|
||||||
|
|
||||||
|
2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
|
||||||
|
|
||||||
|
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
|
||||||
|
|
||||||
|
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
|
||||||
|
|
||||||
|
2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
|
||||||
|
|
||||||
|
Support relative image path in theme file.
|
||||||
|
|
||||||
|
* gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
|
||||||
|
(image_set_property): Handle theme_dir and relative path.
|
||||||
|
|
||||||
|
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* configure.ac: Alias amd64 to x86_64.
|
||||||
|
|
||||||
|
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* NEWS: mention multiboot on EFI.
|
||||||
|
|
||||||
|
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* kern/main.c (grub_load_modules): Handle errors from init functions of
|
||||||
|
embeded modules.
|
||||||
|
|
||||||
|
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* normal/autofs.c (autoload_fs_module): Handle errors.
|
||||||
|
|
||||||
|
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Disable linux.mod on qemu-mips since it's not functional and leads
|
||||||
|
to compilation failure.
|
||||||
|
|
||||||
|
* conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
|
||||||
|
* conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
|
||||||
|
* conf/mips.rmk (linux_mod_SOURCES): Move from here ...
|
||||||
|
* conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
|
||||||
|
* conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
|
||||||
|
* conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
|
||||||
|
* conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
|
||||||
|
* conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
|
||||||
|
* conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
|
||||||
|
* conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
|
||||||
|
Reported by: BVK Chaitanya
|
||||||
|
|
||||||
|
2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
|
||||||
|
|
||||||
|
* INSTALL: Add gettext as a dependency and add qemu to a new section
|
||||||
|
"Prerequisites for make-check".
|
||||||
|
|
||||||
|
2010-03-04 Christian Franke <franke@computer.org>
|
||||||
|
|
||||||
|
* util/grub-pe2elf.c: Add missing include "progname.h".
|
||||||
|
|
||||||
|
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* normal/crypto.c (read_crypto_list): Fix a typo.
|
||||||
|
Reported by: Seth Goldberg.
|
||||||
|
|
||||||
|
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* Makefile.in (DISTCLEANFILES): Add stamp-h1.
|
||||||
|
Reported by: Seth Goldberg.
|
||||||
|
|
||||||
|
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
|
||||||
|
ascii.bitmaps.
|
||||||
|
|
||||||
|
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* genmk.rb: Remove terminal*.lst in make clean.
|
||||||
|
Reported by: Seth Goldberg.
|
||||||
|
|
||||||
|
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* util/i386/efi/grub-install.in: Copy gettext files.
|
||||||
|
|
||||||
|
2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
|
||||||
|
|
||||||
|
2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Wait for user entry basing on presence of output rather than on errors.
|
||||||
|
|
||||||
|
* include/grub/normal.h (grub_normal_get_line_counter): New proto.
|
||||||
|
(grub_install_newline_hook): Likewise.
|
||||||
|
* normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
|
||||||
|
* normal/menu.c (show_menu): Check line_counter to determine presence
|
||||||
|
of output.
|
||||||
|
* normal/term.c (grub_normal_line_counter): New variable.
|
||||||
|
(grub_normal_get_line_counter): New function.
|
||||||
|
(grub_install_newline_hook): Likewise.
|
||||||
|
|
||||||
|
2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
|
||||||
|
|
||||||
|
2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* configure.ac: Update version to 1.98.
|
||||||
|
|
||||||
|
2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* util/grub.d/10_linux.in (linux_entry): Don't default to
|
||||||
|
gfxpayload=keep if Linux doesn't support video handover.
|
||||||
|
|
||||||
|
2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Don't compile video modules on yeeloong since video subsystem is part
|
||||||
|
of kernel.
|
||||||
|
|
||||||
|
* conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
|
||||||
|
video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
|
||||||
|
* conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
|
||||||
|
video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
|
||||||
|
* conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
|
||||||
|
* include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
|
||||||
|
* include/grub/bitmap_scale.h: Likewise.
|
||||||
|
* include/grub/bufio.h: Likewise.
|
||||||
|
* include/grub/font.h: Likewise.
|
||||||
|
* include/grub/gfxterm.h: Likewise.
|
||||||
|
* include/grub/video.h: Likewise.
|
||||||
|
* include/grub/vbe.h: Don't include video_fb.h.
|
||||||
|
* video/i386/pc/vbe.c: Include video_fb.h.
|
||||||
|
* commands/i386/pc/vbetest.c: Include video.h.
|
||||||
|
|
||||||
|
2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
|
||||||
|
|
||||||
|
* util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
|
||||||
|
* util/grub-mkconfig_lib.in (save_default_entry): Only save a new
|
||||||
|
default entry if GRUB_SAVEDEFAULT=true. This allows using
|
||||||
|
GRUB_DEFAULT=saved on its own to let grub-reboot work, without
|
||||||
|
saving a new default on every boot.
|
||||||
|
|
||||||
|
2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* normal/crypto.c (read_crypto_list): Fix a memory leak.
|
||||||
|
* normal/term.c (read_terminal_list): Likewise.
|
||||||
|
* normal/main.c (grub_normal_init_page): Likewise.
|
||||||
|
(grub_normal_read_line_real): Likewise.
|
||||||
|
|
||||||
|
2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
|
||||||
|
memory leak.
|
||||||
|
Reported by: Seth Goldberg.
|
||||||
|
|
||||||
|
2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
|
||||||
|
|
||||||
|
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
|
||||||
|
duplicate declaration of `start'.
|
||||||
|
|
||||||
|
2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
|
||||||
|
filename.
|
||||||
|
Reported by: Georgy Buranov
|
||||||
|
|
||||||
|
2010-02-20 Carles Pina i Estany <carles@pina.cat>
|
||||||
|
|
||||||
|
* util/grub-mkrawimage.c (usage): Change string formatting to
|
||||||
|
improve gettext.
|
||||||
|
|
||||||
|
2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
|
||||||
|
|
||||||
|
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
|
||||||
|
backspace keys.
|
||||||
|
|
||||||
|
2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
|
||||||
|
Reported by: Michael Suchanek.
|
||||||
|
|
||||||
|
2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||||||
|
|
||||||
|
* util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
|
||||||
|
* util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
|
||||||
|
|
||||||
2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
|
2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
Remove any reference to non-free fonts.
|
Remove any reference to non-free fonts.
|
||||||
|
|
5
INSTALL
5
INSTALL
|
@ -14,6 +14,7 @@ configuring the GRUB.
|
||||||
* GCC 4.1.3 or later
|
* GCC 4.1.3 or later
|
||||||
* GNU Make
|
* GNU Make
|
||||||
* GNU Bison 2.3 or later
|
* GNU Bison 2.3 or later
|
||||||
|
* GNU gettext 0.17 or later
|
||||||
* GNU binutils 2.9.1.0.23 or later
|
* GNU binutils 2.9.1.0.23 or later
|
||||||
* Other standard GNU/Unix tools
|
* Other standard GNU/Unix tools
|
||||||
|
|
||||||
|
@ -25,6 +26,10 @@ need the following.
|
||||||
* Autoconf 2.60 or later
|
* Autoconf 2.60 or later
|
||||||
* Automake 1.10.1 or later
|
* Automake 1.10.1 or later
|
||||||
|
|
||||||
|
Prerequisites for make-check:
|
||||||
|
|
||||||
|
* qemu, specifically the binary 'qemu-system-i386'
|
||||||
|
|
||||||
Configuring the GRUB
|
Configuring the GRUB
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,7 @@ TARGET_ASFLAGS = @TARGET_ASFLAGS@
|
||||||
TARGET_MODULE_FORMAT = @TARGET_MODULE_FORMAT@
|
TARGET_MODULE_FORMAT = @TARGET_MODULE_FORMAT@
|
||||||
TARGET_APPLE_CC = @TARGET_APPLE_CC@
|
TARGET_APPLE_CC = @TARGET_APPLE_CC@
|
||||||
OBJCONV = @OBJCONV@
|
OBJCONV = @OBJCONV@
|
||||||
TARGET_CPPFLAGS = @TARGET_CPPFLAGS@ -nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include) -I$(srcdir)/include -I$(builddir) -I$(builddir)/include \
|
TARGET_CPPFLAGS = @TARGET_CPPFLAGS@ -I$(srcdir)/include -I$(builddir) -I$(builddir)/include \
|
||||||
-Wall -W
|
-Wall -W
|
||||||
TARGET_LDFLAGS = @TARGET_LDFLAGS@
|
TARGET_LDFLAGS = @TARGET_LDFLAGS@
|
||||||
TARGET_IMG_LDSCRIPT = @TARGET_IMG_LDSCRIPT@
|
TARGET_IMG_LDSCRIPT = @TARGET_IMG_LDSCRIPT@
|
||||||
|
@ -147,7 +147,7 @@ INFOS = $(info_INFOS)
|
||||||
CLEANFILES =
|
CLEANFILES =
|
||||||
MOSTLYCLEANFILES =
|
MOSTLYCLEANFILES =
|
||||||
DISTCLEANFILES = config.status config.cache config.log config.h \
|
DISTCLEANFILES = config.status config.cache config.log config.h \
|
||||||
Makefile stamp-h include/grub/cpu include/grub/machine \
|
Makefile stamp-h stamp-h1 include/grub/cpu include/grub/machine \
|
||||||
gensymlist.sh genkernsyms.sh build_env.mk \
|
gensymlist.sh genkernsyms.sh build_env.mk \
|
||||||
docs/grub.info docs/version.texi docs/stamp-vti
|
docs/grub.info docs/version.texi docs/stamp-vti
|
||||||
|
|
||||||
|
@ -239,6 +239,7 @@ else
|
||||||
ifeq ($(enable_grub_mkfont),yes)
|
ifeq ($(enable_grub_mkfont),yes)
|
||||||
|
|
||||||
pkgdata_DATA += unicode.pf2 ascii.pf2 ascii.h
|
pkgdata_DATA += unicode.pf2 ascii.pf2 ascii.h
|
||||||
|
CLEANFILES += ascii.bitmaps
|
||||||
|
|
||||||
# Arrows and lines are needed to draw the menu, so we always include them
|
# Arrows and lines are needed to draw the menu, so we always include them
|
||||||
UNICODE_ARROWS=0x2190-0x2193
|
UNICODE_ARROWS=0x2190-0x2193
|
||||||
|
|
4
NEWS
4
NEWS
|
@ -1,4 +1,6 @@
|
||||||
New in 1.98:
|
New in 1.98 - 2010-03-06:
|
||||||
|
|
||||||
|
* Multiboot on EFI support.
|
||||||
|
|
||||||
* Graphical menu support.
|
* Graphical menu support.
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ grub_cmd_cat (grub_command_t cmd __attribute__ ((unused)),
|
||||||
|
|
||||||
file = grub_gzfile_open (args[0], 1);
|
file = grub_gzfile_open (args[0], 1);
|
||||||
if (! file)
|
if (! file)
|
||||||
return 0;
|
return grub_errno;
|
||||||
|
|
||||||
while ((size = grub_file_read (file, buf, sizeof (buf))) > 0
|
while ((size = grub_file_read (file, buf, sizeof (buf))) > 0
|
||||||
&& key != GRUB_TERM_ESC)
|
&& key != GRUB_TERM_ESC)
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include <grub/term.h>
|
#include <grub/term.h>
|
||||||
#include <grub/machine/init.h>
|
#include <grub/machine/init.h>
|
||||||
#include <grub/machine/vbe.h>
|
#include <grub/machine/vbe.h>
|
||||||
|
#include <grub/video.h>
|
||||||
#include <grub/err.h>
|
#include <grub/err.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
|
|
@ -621,26 +621,28 @@ sh_mod_SOURCES = script/main.c script/script.c script/execute.c \
|
||||||
sh_mod_CFLAGS = $(COMMON_CFLAGS)
|
sh_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
sh_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
sh_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
ifneq (, $(FONT_SOURCE))
|
||||||
|
font/font.c_DEPENDENCIES = ascii.h
|
||||||
|
endif
|
||||||
|
|
||||||
# Common Video Subsystem specific modules.
|
# Common Video Subsystem specific modules.
|
||||||
pkglib_MODULES += video.mod videotest.mod bitmap.mod tga.mod jpeg.mod \
|
# On Yeeloong it's part of kernel
|
||||||
png.mod gfxterm.mod video_fb.mod
|
ifneq ($(platform), yeeloong)
|
||||||
|
|
||||||
# For video.mod.
|
# For video.mod.
|
||||||
|
pkglib_MODULES += video.mod
|
||||||
video_mod_SOURCES = video/video.c
|
video_mod_SOURCES = video/video.c
|
||||||
video_mod_CFLAGS = $(COMMON_CFLAGS)
|
video_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
video_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
video_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
pkglib_MODULES += video_fb.mod
|
||||||
video_fb_mod_SOURCES = video/fb/video_fb.c video/fb/fbblit.c \
|
video_fb_mod_SOURCES = video/fb/video_fb.c video/fb/fbblit.c \
|
||||||
video/fb/fbfill.c video/fb/fbutil.c
|
video/fb/fbfill.c video/fb/fbutil.c
|
||||||
video_fb_mod_CFLAGS = $(COMMON_CFLAGS)
|
video_fb_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
video_fb_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
video_fb_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
# For videotest.mod.
|
|
||||||
videotest_mod_SOURCES = commands/videotest.c
|
|
||||||
videotest_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
||||||
videotest_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
||||||
|
|
||||||
# For bitmap.mod
|
# For bitmap.mod
|
||||||
|
pkglib_MODULES += bitmap.mod
|
||||||
bitmap_mod_SOURCES = video/bitmap.c
|
bitmap_mod_SOURCES = video/bitmap.c
|
||||||
bitmap_mod_CFLAGS = $(COMMON_CFLAGS)
|
bitmap_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
bitmap_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
bitmap_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
@ -651,36 +653,46 @@ bitmap_scale_mod_SOURCES = video/bitmap_scale.c
|
||||||
bitmap_scale_mod_CFLAGS = $(COMMON_CFLAGS)
|
bitmap_scale_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
bitmap_scale_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
bitmap_scale_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
# For tga.mod
|
|
||||||
tga_mod_SOURCES = video/readers/tga.c
|
|
||||||
tga_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
||||||
tga_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
||||||
|
|
||||||
# For jpeg.mod.
|
|
||||||
jpeg_mod_SOURCES = video/readers/jpeg.c
|
|
||||||
jpeg_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
||||||
jpeg_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
||||||
|
|
||||||
# For png.mod.
|
|
||||||
png_mod_SOURCES = video/readers/png.c
|
|
||||||
png_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
||||||
png_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
||||||
|
|
||||||
pkglib_MODULES += font.mod
|
pkglib_MODULES += font.mod
|
||||||
ifneq (, $(FONT_SOURCE))
|
|
||||||
font/font.c_DEPENDENCIES = ascii.h
|
|
||||||
endif
|
|
||||||
font_mod_SOURCES = font/font_cmd.c font/font.c
|
font_mod_SOURCES = font/font_cmd.c font/font.c
|
||||||
font_mod_CFLAGS = $(COMMON_CFLAGS)
|
font_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
font_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
font_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
# For gfxterm.mod.
|
# For gfxterm.mod.
|
||||||
|
pkglib_MODULES += gfxterm.mod
|
||||||
gfxterm_mod_SOURCES = term/gfxterm.c
|
gfxterm_mod_SOURCES = term/gfxterm.c
|
||||||
gfxterm_mod_CFLAGS = $(COMMON_CFLAGS)
|
gfxterm_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
gfxterm_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
gfxterm_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
# For videotest.mod.
|
||||||
|
pkglib_MODULES += videotest.mod
|
||||||
|
videotest_mod_SOURCES = commands/videotest.c
|
||||||
|
videotest_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
|
videotest_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
# For tga.mod
|
||||||
|
pkglib_MODULES += tga.mod
|
||||||
|
tga_mod_SOURCES = video/readers/tga.c
|
||||||
|
tga_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
|
tga_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
# For jpeg.mod.
|
||||||
|
pkglib_MODULES += jpeg.mod
|
||||||
|
jpeg_mod_SOURCES = video/readers/jpeg.c
|
||||||
|
jpeg_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
|
jpeg_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
# For png.mod.
|
||||||
|
pkglib_MODULES += png.mod
|
||||||
|
png_mod_SOURCES = video/readers/png.c
|
||||||
|
png_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
|
png_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
|
||||||
# Misc.
|
# Misc.
|
||||||
pkglib_MODULES += gzio.mod bufio.mod elf.mod
|
pkglib_MODULES += gzio.mod elf.mod
|
||||||
|
|
||||||
# For elf.mod.
|
# For elf.mod.
|
||||||
elf_mod_SOURCES = kern/elf.c
|
elf_mod_SOURCES = kern/elf.c
|
||||||
|
@ -692,10 +704,14 @@ gzio_mod_SOURCES = io/gzio.c
|
||||||
gzio_mod_CFLAGS = $(COMMON_CFLAGS)
|
gzio_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
gzio_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
gzio_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
# On Yeeloong it's part of kernel
|
||||||
|
ifneq ($(platform), yeeloong)
|
||||||
# For bufio.mod.
|
# For bufio.mod.
|
||||||
|
pkglib_MODULES += bufio.mod
|
||||||
bufio_mod_SOURCES = io/bufio.c
|
bufio_mod_SOURCES = io/bufio.c
|
||||||
bufio_mod_CFLAGS = $(COMMON_CFLAGS)
|
bufio_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
bufio_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
bufio_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
# For gettext.mod.
|
# For gettext.mod.
|
||||||
pkglib_MODULES += gettext.mod
|
pkglib_MODULES += gettext.mod
|
||||||
|
|
|
@ -3,6 +3,10 @@ LINK_BASE = 0x80200000
|
||||||
target_machine=yeeloong
|
target_machine=yeeloong
|
||||||
COMMON_CFLAGS += -march=mips3
|
COMMON_CFLAGS += -march=mips3
|
||||||
COMMON_ASFLAGS += -march=mips3
|
COMMON_ASFLAGS += -march=mips3
|
||||||
|
|
||||||
|
kernel_img_HEADERS += bitmap.h video.h gfxterm.h font.h bitmap_scale.h bufio.h \
|
||||||
|
cs5536.h
|
||||||
|
|
||||||
include $(srcdir)/conf/mips.mk
|
include $(srcdir)/conf/mips.mk
|
||||||
|
|
||||||
pkglib_IMAGES = kernel.img
|
pkglib_IMAGES = kernel.img
|
||||||
|
@ -23,6 +27,7 @@ kernel_img_SOURCES = kern/$(target_cpu)/startup.S \
|
||||||
video/fb/fbfill.c video/fb/fbutil.c video/bitmap.c \
|
video/fb/fbfill.c video/fb/fbutil.c video/bitmap.c \
|
||||||
video/bitmap_scale.c video/sm712.c bus/pci.c bus/bonito.c \
|
video/bitmap_scale.c video/sm712.c bus/pci.c bus/bonito.c \
|
||||||
term/gfxterm.c commands/extcmd.c lib/arg.c \
|
term/gfxterm.c commands/extcmd.c lib/arg.c \
|
||||||
|
bus/cs5536.c \
|
||||||
symlist.c
|
symlist.c
|
||||||
kernel_img_CFLAGS = $(COMMON_CFLAGS) -DUSE_ASCII_FAILBACK
|
kernel_img_CFLAGS = $(COMMON_CFLAGS) -DUSE_ASCII_FAILBACK
|
||||||
kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
|
kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||||
|
@ -87,11 +92,11 @@ lsspd_mod_SOURCES = commands/mips/yeeloong/lsspd.c
|
||||||
lsspd_mod_CFLAGS = $(COMMON_CFLAGS)
|
lsspd_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
lsspd_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
lsspd_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
# For cs5536.mod
|
pkglib_MODULES += linux.mod
|
||||||
pkglib_MODULES += cs5536.mod
|
linux_mod_SOURCES = loader/$(target_cpu)/linux.c
|
||||||
cs5536_mod_SOURCES = bus/cs5536.c
|
linux_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
cs5536_mod_CFLAGS = $(COMMON_CFLAGS)
|
linux_mod_ASFLAGS = $(COMMON_ASFLAGS)
|
||||||
cs5536_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
sbin_SCRIPTS += grub-install
|
sbin_SCRIPTS += grub-install
|
||||||
grub_install_SOURCES = util/grub-install.in
|
grub_install_SOURCES = util/grub-install.in
|
||||||
|
|
|
@ -13,7 +13,7 @@ script/lexer.c_DEPENDENCIES = grub_script.tab.h
|
||||||
MOSTLYCLEANFILES += symlist.c kernel_syms.lst
|
MOSTLYCLEANFILES += symlist.c kernel_syms.lst
|
||||||
DEFSYMFILES += kernel_syms.lst
|
DEFSYMFILES += kernel_syms.lst
|
||||||
|
|
||||||
kernel_img_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
|
kernel_img_HEADERS += boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
|
||||||
env.h err.h file.h fs.h kernel.h misc.h mm.h net.h parser.h reader.h \
|
env.h err.h file.h fs.h kernel.h misc.h mm.h net.h parser.h reader.h \
|
||||||
symbol.h term.h time.h types.h loader.h partition.h \
|
symbol.h term.h time.h types.h loader.h partition.h \
|
||||||
msdos_partition.h machine/kernel.h handler.h list.h \
|
msdos_partition.h machine/kernel.h handler.h list.h \
|
||||||
|
@ -73,10 +73,4 @@ relocator_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
relocator_mod_ASFLAGS = $(COMMON_ASFLAGS)
|
relocator_mod_ASFLAGS = $(COMMON_ASFLAGS)
|
||||||
relocator_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
relocator_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
pkglib_MODULES += linux.mod
|
|
||||||
linux_mod_SOURCES = loader/$(target_cpu)/linux.c
|
|
||||||
linux_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
||||||
linux_mod_ASFLAGS = $(COMMON_ASFLAGS)
|
|
||||||
linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
||||||
|
|
||||||
include $(srcdir)/conf/common.mk
|
include $(srcdir)/conf/common.mk
|
||||||
|
|
22
configure.ac
22
configure.ac
|
@ -31,7 +31,7 @@ dnl (such as TARGET_CC, TARGET_CFLAGS, etc.) are used for the target
|
||||||
dnl type.
|
dnl type.
|
||||||
|
|
||||||
|
|
||||||
AC_INIT([GRUB],[1.97],[bug-grub@gnu.org])
|
AC_INIT([GRUB],[1.98],[bug-grub@gnu.org])
|
||||||
AM_INIT_AUTOMAKE()
|
AM_INIT_AUTOMAKE()
|
||||||
AC_PREREQ(2.60)
|
AC_PREREQ(2.60)
|
||||||
AC_CONFIG_SRCDIR([include/grub/dl.h])
|
AC_CONFIG_SRCDIR([include/grub/dl.h])
|
||||||
|
@ -51,6 +51,7 @@ fi
|
||||||
|
|
||||||
case "$target_cpu" in
|
case "$target_cpu" in
|
||||||
i[[3456]]86) target_cpu=i386 ;;
|
i[[3456]]86) target_cpu=i386 ;;
|
||||||
|
amd64) target_cpu=x86_64 ;;
|
||||||
sparc) target_cpu=sparc64 ;;
|
sparc) target_cpu=sparc64 ;;
|
||||||
mipsel|mips64el)
|
mipsel|mips64el)
|
||||||
target_cpu=mips;
|
target_cpu=mips;
|
||||||
|
@ -516,6 +517,19 @@ enable_efiemu=no
|
||||||
fi
|
fi
|
||||||
AC_SUBST([enable_efiemu])
|
AC_SUBST([enable_efiemu])
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([whether -nostdinc -isystem works], [grub_cv_cc_isystem], [
|
||||||
|
SAVED_CPPFLAGS="$CPPFLAGS"
|
||||||
|
CPPFLAGS="$TARGET_CPPFLAGS -nostdinc -isystem `$TARGET_CC -print-file-name=include`"
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h>
|
||||||
|
int va_arg_func (int fixed, va_list args);]], [[]])],
|
||||||
|
[grub_cv_cc_isystem=yes],
|
||||||
|
[grub_cv_cc_isystem=no])
|
||||||
|
CPPFLAGS="$SAVED_CPPFLAGS"
|
||||||
|
])
|
||||||
|
|
||||||
|
if test x"$grub_cv_cc_isystem" = xyes ; then
|
||||||
|
TARGET_CPPFLAGS="$TARGET_CPPFLAGS -nostdinc -isystem `$TARGET_CC -print-file-name=include`"
|
||||||
|
fi
|
||||||
|
|
||||||
# Restore the flags.
|
# Restore the flags.
|
||||||
CC="$tmp_CC"
|
CC="$tmp_CC"
|
||||||
|
@ -682,11 +696,11 @@ fi
|
||||||
|
|
||||||
if test x"$grub_mkfont_excuse" = x ; then
|
if test x"$grub_mkfont_excuse" = x ; then
|
||||||
# Check for freetype libraries.
|
# Check for freetype libraries.
|
||||||
SAVED_CFLAGS="$CFLAGS"
|
SAVED_CPPFLAGS="$CPPFLAGS"
|
||||||
CFLAGS="$CFLAGS $freetype_cflags"
|
CPPFLAGS="$CPPFLAGS $freetype_cflags"
|
||||||
AC_CHECK_HEADERS([ft2build.h], [],
|
AC_CHECK_HEADERS([ft2build.h], [],
|
||||||
[grub_mkfont_excuse=["need freetype2 headers"]])
|
[grub_mkfont_excuse=["need freetype2 headers"]])
|
||||||
CFLAGS="$SAVED_CFLAGS"
|
CPPFLAGS="$SAVED_CPPFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test x"$enable_grub_mkfont" = xyes && test x"$grub_mkfont_excuse" != x ; then
|
if test x"$enable_grub_mkfont" = xyes && test x"$grub_mkfont_excuse" != x ; then
|
||||||
|
|
|
@ -208,12 +208,14 @@ grub_scsi_iterate (int (*hook) (const char *name))
|
||||||
for (i = 0; i < luns; i++)
|
for (i = 0; i < luns; i++)
|
||||||
{
|
{
|
||||||
char *sname;
|
char *sname;
|
||||||
|
int ret;
|
||||||
sname = grub_xasprintf ("%s%c", name, 'a' + i);
|
sname = grub_xasprintf ("%s%c", name, 'a' + i);
|
||||||
if (!sname)
|
if (!sname)
|
||||||
return 1;
|
return 1;
|
||||||
if (hook (sname))
|
ret = hook (sname);
|
||||||
return 1;
|
|
||||||
grub_free (sname);
|
grub_free (sname);
|
||||||
|
if (ret)
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -436,7 +436,8 @@ grub_ext2_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock)
|
||||||
grub_uint32_t indir[blksz / 4];
|
grub_uint32_t indir[blksz / 4];
|
||||||
|
|
||||||
if (grub_disk_read (data->disk,
|
if (grub_disk_read (data->disk,
|
||||||
grub_le_to_cpu32 (inode->blocks.indir_block)
|
((grub_disk_addr_t)
|
||||||
|
grub_le_to_cpu32 (inode->blocks.indir_block))
|
||||||
<< log2_blksz,
|
<< log2_blksz,
|
||||||
0, blksz, indir))
|
0, blksz, indir))
|
||||||
return grub_errno;
|
return grub_errno;
|
||||||
|
@ -452,13 +453,15 @@ grub_ext2_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock)
|
||||||
grub_uint32_t indir[blksz / 4];
|
grub_uint32_t indir[blksz / 4];
|
||||||
|
|
||||||
if (grub_disk_read (data->disk,
|
if (grub_disk_read (data->disk,
|
||||||
grub_le_to_cpu32 (inode->blocks.double_indir_block)
|
((grub_disk_addr_t)
|
||||||
|
grub_le_to_cpu32 (inode->blocks.double_indir_block))
|
||||||
<< log2_blksz,
|
<< log2_blksz,
|
||||||
0, blksz, indir))
|
0, blksz, indir))
|
||||||
return grub_errno;
|
return grub_errno;
|
||||||
|
|
||||||
if (grub_disk_read (data->disk,
|
if (grub_disk_read (data->disk,
|
||||||
grub_le_to_cpu32 (indir[rblock / perblock])
|
((grub_disk_addr_t)
|
||||||
|
grub_le_to_cpu32 (indir[rblock / perblock]))
|
||||||
<< log2_blksz,
|
<< log2_blksz,
|
||||||
0, blksz, indir))
|
0, blksz, indir))
|
||||||
return grub_errno;
|
return grub_errno;
|
||||||
|
|
|
@ -629,12 +629,16 @@ grub_iso9660_iterate_dir (grub_fshelp_node_t dir,
|
||||||
|
|
||||||
if (dir->data->joliet)
|
if (dir->data->joliet)
|
||||||
{
|
{
|
||||||
char *oldname;
|
char *oldname, *semicolon;
|
||||||
|
|
||||||
oldname = filename;
|
oldname = filename;
|
||||||
filename = grub_iso9660_convert_string
|
filename = grub_iso9660_convert_string
|
||||||
((grub_uint16_t *) oldname, dirent.namelen >> 1);
|
((grub_uint16_t *) oldname, dirent.namelen >> 1);
|
||||||
|
|
||||||
|
semicolon = grub_strrchr (filename, ';');
|
||||||
|
if (semicolon)
|
||||||
|
*semicolon = '\0';
|
||||||
|
|
||||||
if (filename_alloc)
|
if (filename_alloc)
|
||||||
grub_free (oldname);
|
grub_free (oldname);
|
||||||
|
|
||||||
|
|
2
genmk.rb
2
genmk.rb
|
@ -201,7 +201,7 @@ endif
|
||||||
-include #{dep}
|
-include #{dep}
|
||||||
|
|
||||||
clean-module-#{extra_target}.#{@rule_count}:
|
clean-module-#{extra_target}.#{@rule_count}:
|
||||||
rm -f #{command} #{fs} #{partmap} #{handler} #{parttool} #{video}
|
rm -f #{command} #{fs} #{partmap} #{handler} #{parttool} #{video} #{terminal}
|
||||||
|
|
||||||
CLEAN_MODULE_TARGETS += clean-module-#{extra_target}.#{@rule_count}
|
CLEAN_MODULE_TARGETS += clean-module-#{extra_target}.#{@rule_count}
|
||||||
|
|
||||||
|
|
|
@ -32,13 +32,12 @@ FNR == 1 {
|
||||||
else if ($1 != "__gnu_local_gp") {
|
else if ($1 != "__gnu_local_gp") {
|
||||||
printf "%s in %s is not defined\n", $1, module >"/dev/stderr";
|
printf "%s in %s is not defined\n", $1, module >"/dev/stderr";
|
||||||
error++;
|
error++;
|
||||||
exit;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Output the result.
|
# Output the result.
|
||||||
END {
|
END {
|
||||||
if (error == 1)
|
if (error >= 1)
|
||||||
exit 1;
|
exit 1;
|
||||||
|
|
||||||
for (mod in modtab) {
|
for (mod in modtab) {
|
||||||
|
|
|
@ -279,13 +279,6 @@ grub_gettext_init_ext (const char *lang)
|
||||||
|
|
||||||
/* mo_file e.g.: /boot/grub/locale/ca.mo */
|
/* mo_file e.g.: /boot/grub/locale/ca.mo */
|
||||||
|
|
||||||
mo_file =
|
|
||||||
grub_malloc (grub_strlen (locale_dir) + grub_strlen ("/") +
|
|
||||||
grub_strlen (lang) + grub_strlen (".mo") + 1);
|
|
||||||
|
|
||||||
/* Warning: if changing some paths in the below line, change the grub_malloc
|
|
||||||
contents below. */
|
|
||||||
|
|
||||||
mo_file = grub_xasprintf ("%s/%s.mo", locale_dir, lang);
|
mo_file = grub_xasprintf ("%s/%s.mo", locale_dir, lang);
|
||||||
if (!mo_file)
|
if (!mo_file)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -31,6 +31,7 @@ struct grub_gui_image
|
||||||
grub_gui_container_t parent;
|
grub_gui_container_t parent;
|
||||||
grub_video_rect_t bounds;
|
grub_video_rect_t bounds;
|
||||||
char *id;
|
char *id;
|
||||||
|
char *theme_dir;
|
||||||
struct grub_video_bitmap *raw_bitmap;
|
struct grub_video_bitmap *raw_bitmap;
|
||||||
struct grub_video_bitmap *bitmap;
|
struct grub_video_bitmap *bitmap;
|
||||||
};
|
};
|
||||||
|
@ -208,8 +209,28 @@ static grub_err_t
|
||||||
image_set_property (void *vself, const char *name, const char *value)
|
image_set_property (void *vself, const char *name, const char *value)
|
||||||
{
|
{
|
||||||
grub_gui_image_t self = vself;
|
grub_gui_image_t self = vself;
|
||||||
if (grub_strcmp (name, "file") == 0)
|
if (grub_strcmp (name, "theme_dir") == 0)
|
||||||
return load_image (self, value);
|
{
|
||||||
|
grub_free (self->theme_dir);
|
||||||
|
self->theme_dir = grub_strdup (value);
|
||||||
|
}
|
||||||
|
else if (grub_strcmp (name, "file") == 0)
|
||||||
|
{
|
||||||
|
char *absvalue;
|
||||||
|
grub_err_t err;
|
||||||
|
|
||||||
|
/* Resolve to an absolute path. */
|
||||||
|
if (! self->theme_dir)
|
||||||
|
return grub_error (GRUB_ERR_BAD_ARGUMENT, "unspecified theme_dir");
|
||||||
|
absvalue = grub_resolve_relative_path (self->theme_dir, value);
|
||||||
|
if (! absvalue)
|
||||||
|
return grub_errno;
|
||||||
|
|
||||||
|
err = load_image (self, absvalue);
|
||||||
|
grub_free (absvalue);
|
||||||
|
|
||||||
|
return err;
|
||||||
|
}
|
||||||
else if (grub_strcmp (name, "id") == 0)
|
else if (grub_strcmp (name, "id") == 0)
|
||||||
{
|
{
|
||||||
grub_free (self->id);
|
grub_free (self->id);
|
||||||
|
|
|
@ -47,24 +47,24 @@ struct grub_video_bitmap_reader
|
||||||
};
|
};
|
||||||
typedef struct grub_video_bitmap_reader *grub_video_bitmap_reader_t;
|
typedef struct grub_video_bitmap_reader *grub_video_bitmap_reader_t;
|
||||||
|
|
||||||
void grub_video_bitmap_reader_register (grub_video_bitmap_reader_t reader);
|
void EXPORT_FUNC (grub_video_bitmap_reader_register) (grub_video_bitmap_reader_t reader);
|
||||||
void grub_video_bitmap_reader_unregister (grub_video_bitmap_reader_t reader);
|
void EXPORT_FUNC (grub_video_bitmap_reader_unregister) (grub_video_bitmap_reader_t reader);
|
||||||
|
|
||||||
grub_err_t grub_video_bitmap_create (struct grub_video_bitmap **bitmap,
|
grub_err_t EXPORT_FUNC (grub_video_bitmap_create) (struct grub_video_bitmap **bitmap,
|
||||||
unsigned int width, unsigned int height,
|
unsigned int width, unsigned int height,
|
||||||
enum grub_video_blit_format blit_format);
|
enum grub_video_blit_format blit_format);
|
||||||
|
|
||||||
grub_err_t grub_video_bitmap_destroy (struct grub_video_bitmap *bitmap);
|
grub_err_t EXPORT_FUNC (grub_video_bitmap_destroy) (struct grub_video_bitmap *bitmap);
|
||||||
|
|
||||||
grub_err_t grub_video_bitmap_load (struct grub_video_bitmap **bitmap,
|
grub_err_t EXPORT_FUNC (grub_video_bitmap_load) (struct grub_video_bitmap **bitmap,
|
||||||
const char *filename);
|
const char *filename);
|
||||||
|
|
||||||
unsigned int grub_video_bitmap_get_width (struct grub_video_bitmap *bitmap);
|
unsigned int EXPORT_FUNC (grub_video_bitmap_get_width) (struct grub_video_bitmap *bitmap);
|
||||||
unsigned int grub_video_bitmap_get_height (struct grub_video_bitmap *bitmap);
|
unsigned int EXPORT_FUNC (grub_video_bitmap_get_height) (struct grub_video_bitmap *bitmap);
|
||||||
|
|
||||||
void grub_video_bitmap_get_mode_info (struct grub_video_bitmap *bitmap,
|
void EXPORT_FUNC (grub_video_bitmap_get_mode_info) (struct grub_video_bitmap *bitmap,
|
||||||
struct grub_video_mode_info *mode_info);
|
struct grub_video_mode_info *mode_info);
|
||||||
|
|
||||||
void *grub_video_bitmap_get_data (struct grub_video_bitmap *bitmap);
|
void *EXPORT_FUNC (grub_video_bitmap_get_data) (struct grub_video_bitmap *bitmap);
|
||||||
|
|
||||||
#endif /* ! GRUB_BITMAP_HEADER */
|
#endif /* ! GRUB_BITMAP_HEADER */
|
||||||
|
|
|
@ -39,10 +39,11 @@ enum grub_video_bitmap_scale_method
|
||||||
};
|
};
|
||||||
|
|
||||||
grub_err_t
|
grub_err_t
|
||||||
grub_video_bitmap_create_scaled (struct grub_video_bitmap **dst,
|
EXPORT_FUNC (grub_video_bitmap_create_scaled) (struct grub_video_bitmap **dst,
|
||||||
int dst_width, int dst_height,
|
int dst_width, int dst_height,
|
||||||
struct grub_video_bitmap *src,
|
struct grub_video_bitmap *src,
|
||||||
enum
|
enum
|
||||||
grub_video_bitmap_scale_method scale_method);
|
grub_video_bitmap_scale_method
|
||||||
|
scale_method);
|
||||||
|
|
||||||
#endif /* ! GRUB_BITMAP_SCALE_HEADER */
|
#endif /* ! GRUB_BITMAP_SCALE_HEADER */
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include <grub/file.h>
|
#include <grub/file.h>
|
||||||
|
|
||||||
grub_file_t grub_bufio_open (grub_file_t io, int size);
|
grub_file_t EXPORT_FUNC (grub_bufio_open) (grub_file_t io, int size);
|
||||||
grub_file_t grub_buffile_open (const char *name, int size);
|
grub_file_t EXPORT_FUNC (grub_buffile_open) (const char *name, int size);
|
||||||
|
|
||||||
#endif /* ! GRUB_BUFIO_H */
|
#endif /* ! GRUB_BUFIO_H */
|
||||||
|
|
|
@ -60,18 +60,20 @@
|
||||||
#define GRUB_GPIO_REG_IN_AUX1 0x34
|
#define GRUB_GPIO_REG_IN_AUX1 0x34
|
||||||
|
|
||||||
#ifndef ASM_FILE
|
#ifndef ASM_FILE
|
||||||
int grub_cs5536_find (grub_pci_device_t *devp);
|
int EXPORT_FUNC (grub_cs5536_find) (grub_pci_device_t *devp);
|
||||||
|
|
||||||
grub_uint64_t grub_cs5536_read_msr (grub_pci_device_t dev, grub_uint32_t addr);
|
grub_uint64_t grub_cs5536_read_msr (grub_pci_device_t dev, grub_uint32_t addr);
|
||||||
void grub_cs5536_write_msr (grub_pci_device_t dev, grub_uint32_t addr,
|
void grub_cs5536_write_msr (grub_pci_device_t dev, grub_uint32_t addr,
|
||||||
grub_uint64_t val);
|
grub_uint64_t val);
|
||||||
grub_err_t grub_cs5536_read_spd_byte (grub_port_t smbbase, grub_uint8_t dev,
|
grub_err_t grub_cs5536_read_spd_byte (grub_port_t smbbase, grub_uint8_t dev,
|
||||||
grub_uint8_t addr, grub_uint8_t *res);
|
grub_uint8_t addr, grub_uint8_t *res);
|
||||||
grub_err_t grub_cs5536_read_spd (grub_port_t smbbase, grub_uint8_t dev,
|
grub_err_t EXPORT_FUNC (grub_cs5536_read_spd) (grub_port_t smbbase,
|
||||||
struct grub_smbus_spd *res);
|
grub_uint8_t dev,
|
||||||
|
struct grub_smbus_spd *res);
|
||||||
grub_err_t grub_cs5536_smbus_wait (grub_port_t smbbase);
|
grub_err_t grub_cs5536_smbus_wait (grub_port_t smbbase);
|
||||||
grub_err_t grub_cs5536_init_smbus (grub_pci_device_t dev, grub_uint16_t divisor,
|
grub_err_t EXPORT_FUNC (grub_cs5536_init_smbus) (grub_pci_device_t dev,
|
||||||
grub_port_t *smbbase);
|
grub_uint16_t divisor,
|
||||||
|
grub_port_t *smbbase);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -81,36 +81,38 @@ int grub_font_load (const char *filename);
|
||||||
"Family Name Bold Italic 14", where Bold and Italic are optional.
|
"Family Name Bold Italic 14", where Bold and Italic are optional.
|
||||||
If no font matches the name specified, the most recently loaded font
|
If no font matches the name specified, the most recently loaded font
|
||||||
is returned as a fallback. */
|
is returned as a fallback. */
|
||||||
grub_font_t grub_font_get (const char *font_name);
|
grub_font_t EXPORT_FUNC (grub_font_get) (const char *font_name);
|
||||||
|
|
||||||
const char *grub_font_get_name (grub_font_t font);
|
const char *EXPORT_FUNC (grub_font_get_name) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_max_char_width (grub_font_t font);
|
int EXPORT_FUNC (grub_font_get_max_char_width) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_max_char_height (grub_font_t font);
|
int EXPORT_FUNC (grub_font_get_max_char_height) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_ascent (grub_font_t font);
|
int EXPORT_FUNC (grub_font_get_ascent) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_descent (grub_font_t font);
|
int EXPORT_FUNC (grub_font_get_descent) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_leading (grub_font_t font);
|
int EXPORT_FUNC (grub_font_get_leading) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_height (grub_font_t font);
|
int EXPORT_FUNC (grub_font_get_height) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_string_width (grub_font_t font, const char *str);
|
int EXPORT_FUNC (grub_font_get_string_width) (grub_font_t font,
|
||||||
|
const char *str);
|
||||||
|
|
||||||
struct grub_font_glyph *grub_font_get_glyph (grub_font_t font,
|
struct grub_font_glyph *EXPORT_FUNC (grub_font_get_glyph) (grub_font_t font,
|
||||||
grub_uint32_t code);
|
grub_uint32_t code);
|
||||||
|
|
||||||
struct grub_font_glyph *grub_font_get_glyph_with_fallback (grub_font_t font,
|
struct grub_font_glyph *EXPORT_FUNC (grub_font_get_glyph_with_fallback) (grub_font_t font,
|
||||||
grub_uint32_t code);
|
grub_uint32_t code);
|
||||||
|
|
||||||
grub_err_t grub_font_draw_glyph (struct grub_font_glyph *glyph,
|
grub_err_t EXPORT_FUNC (grub_font_draw_glyph) (struct grub_font_glyph *glyph,
|
||||||
grub_video_color_t color,
|
grub_video_color_t color,
|
||||||
int left_x, int baseline_y);
|
int left_x, int baseline_y);
|
||||||
|
|
||||||
grub_err_t grub_font_draw_string (const char *str, grub_font_t font,
|
grub_err_t EXPORT_FUNC (grub_font_draw_string) (const char *str,
|
||||||
grub_video_color_t color,
|
grub_font_t font,
|
||||||
int left_x, int baseline_y);
|
grub_video_color_t color,
|
||||||
|
int left_x, int baseline_y);
|
||||||
|
|
||||||
#endif /* ! GRUB_FONT_HEADER */
|
#endif /* ! GRUB_FONT_HEADER */
|
||||||
|
|
|
@ -25,20 +25,20 @@
|
||||||
#include <grub/video.h>
|
#include <grub/video.h>
|
||||||
|
|
||||||
grub_err_t
|
grub_err_t
|
||||||
grub_gfxterm_set_window (struct grub_video_render_target *target,
|
EXPORT_FUNC (grub_gfxterm_set_window) (struct grub_video_render_target *target,
|
||||||
int x, int y, int width, int height,
|
int x, int y, int width, int height,
|
||||||
int double_repaint,
|
int double_repaint,
|
||||||
const char *font_name, int border_width);
|
const char *font_name, int border_width);
|
||||||
|
|
||||||
typedef void (*grub_gfxterm_repaint_callback_t)(int x, int y,
|
typedef void (*grub_gfxterm_repaint_callback_t)(int x, int y,
|
||||||
int width, int height);
|
int width, int height);
|
||||||
|
|
||||||
void grub_gfxterm_set_repaint_callback (grub_gfxterm_repaint_callback_t func);
|
void grub_gfxterm_set_repaint_callback (grub_gfxterm_repaint_callback_t func);
|
||||||
|
|
||||||
void grub_gfxterm_schedule_repaint (void);
|
void EXPORT_FUNC (grub_gfxterm_schedule_repaint) (void);
|
||||||
|
|
||||||
grub_err_t grub_gfxterm_fullscreen (void);
|
grub_err_t EXPORT_FUNC (grub_gfxterm_fullscreen) (void);
|
||||||
|
|
||||||
extern void (*grub_gfxterm_decorator_hook) (void);
|
extern void (*EXPORT_VAR (grub_gfxterm_decorator_hook)) (void);
|
||||||
|
|
||||||
#endif /* ! GRUB_GFXTERM_HEADER */
|
#endif /* ! GRUB_GFXTERM_HEADER */
|
||||||
|
|
|
@ -19,8 +19,6 @@
|
||||||
#ifndef GRUB_VBE_MACHINE_HEADER
|
#ifndef GRUB_VBE_MACHINE_HEADER
|
||||||
#define GRUB_VBE_MACHINE_HEADER 1
|
#define GRUB_VBE_MACHINE_HEADER 1
|
||||||
|
|
||||||
#include <grub/video_fb.h>
|
|
||||||
|
|
||||||
/* Default video mode to be used. */
|
/* Default video mode to be used. */
|
||||||
#define GRUB_VBE_DEFAULT_VIDEO_MODE 0x101
|
#define GRUB_VBE_DEFAULT_VIDEO_MODE 0x101
|
||||||
|
|
||||||
|
|
|
@ -110,4 +110,7 @@ void read_terminal_list (void);
|
||||||
|
|
||||||
void grub_set_more (int onoff);
|
void grub_set_more (int onoff);
|
||||||
|
|
||||||
|
int grub_normal_get_line_counter (void);
|
||||||
|
void grub_install_newline_hook (void);
|
||||||
|
|
||||||
#endif /* ! GRUB_NORMAL_HEADER */
|
#endif /* ! GRUB_NORMAL_HEADER */
|
||||||
|
|
|
@ -259,13 +259,13 @@ struct grub_video_adapter
|
||||||
};
|
};
|
||||||
typedef struct grub_video_adapter *grub_video_adapter_t;
|
typedef struct grub_video_adapter *grub_video_adapter_t;
|
||||||
|
|
||||||
void grub_video_register (grub_video_adapter_t adapter);
|
void EXPORT_FUNC (grub_video_register) (grub_video_adapter_t adapter);
|
||||||
void grub_video_unregister (grub_video_adapter_t adapter);
|
void grub_video_unregister (grub_video_adapter_t adapter);
|
||||||
void grub_video_iterate (int (*hook) (grub_video_adapter_t adapter));
|
void grub_video_iterate (int (*hook) (grub_video_adapter_t adapter));
|
||||||
|
|
||||||
grub_err_t grub_video_restore (void);
|
grub_err_t EXPORT_FUNC (grub_video_restore) (void);
|
||||||
|
|
||||||
grub_err_t grub_video_get_info (struct grub_video_mode_info *mode_info);
|
grub_err_t EXPORT_FUNC (grub_video_get_info) (struct grub_video_mode_info *mode_info);
|
||||||
|
|
||||||
/* Framebuffer address may change as a part of normal operation
|
/* Framebuffer address may change as a part of normal operation
|
||||||
(e.g. double buffering). That's why you need to stop video subsystem to be
|
(e.g. double buffering). That's why you need to stop video subsystem to be
|
||||||
|
@ -283,57 +283,71 @@ grub_err_t grub_video_set_palette (unsigned int start, unsigned int count,
|
||||||
grub_err_t grub_video_get_palette (unsigned int start, unsigned int count,
|
grub_err_t grub_video_get_palette (unsigned int start, unsigned int count,
|
||||||
struct grub_video_palette_data *palette_data);
|
struct grub_video_palette_data *palette_data);
|
||||||
|
|
||||||
grub_err_t grub_video_set_viewport (unsigned int x, unsigned int y,
|
grub_err_t EXPORT_FUNC (grub_video_set_viewport) (unsigned int x,
|
||||||
unsigned int width, unsigned int height);
|
unsigned int y,
|
||||||
|
unsigned int width,
|
||||||
|
unsigned int height);
|
||||||
|
|
||||||
grub_err_t grub_video_get_viewport (unsigned int *x, unsigned int *y,
|
grub_err_t EXPORT_FUNC (grub_video_get_viewport) (unsigned int *x,
|
||||||
unsigned int *width, unsigned int *height);
|
unsigned int *y,
|
||||||
|
unsigned int *width,
|
||||||
|
unsigned int *height);
|
||||||
|
|
||||||
grub_video_color_t grub_video_map_color (grub_uint32_t color_name);
|
grub_video_color_t EXPORT_FUNC (grub_video_map_color) (grub_uint32_t color_name);
|
||||||
|
|
||||||
grub_video_color_t grub_video_map_rgb (grub_uint8_t red, grub_uint8_t green,
|
grub_video_color_t EXPORT_FUNC (grub_video_map_rgb) (grub_uint8_t red,
|
||||||
grub_uint8_t blue);
|
grub_uint8_t green,
|
||||||
|
grub_uint8_t blue);
|
||||||
|
|
||||||
grub_video_color_t grub_video_map_rgba (grub_uint8_t red, grub_uint8_t green,
|
grub_video_color_t EXPORT_FUNC (grub_video_map_rgba) (grub_uint8_t red,
|
||||||
grub_uint8_t blue, grub_uint8_t alpha);
|
grub_uint8_t green,
|
||||||
|
grub_uint8_t blue,
|
||||||
|
grub_uint8_t alpha);
|
||||||
|
|
||||||
grub_err_t grub_video_unmap_color (grub_video_color_t color,
|
grub_err_t EXPORT_FUNC (grub_video_unmap_color) (grub_video_color_t color,
|
||||||
grub_uint8_t *red, grub_uint8_t *green,
|
grub_uint8_t *red,
|
||||||
grub_uint8_t *blue, grub_uint8_t *alpha);
|
grub_uint8_t *green,
|
||||||
|
grub_uint8_t *blue,
|
||||||
|
grub_uint8_t *alpha);
|
||||||
|
|
||||||
grub_err_t grub_video_fill_rect (grub_video_color_t color, int x, int y,
|
grub_err_t EXPORT_FUNC (grub_video_fill_rect) (grub_video_color_t color,
|
||||||
unsigned int width, unsigned int height);
|
int x, int y,
|
||||||
|
unsigned int width,
|
||||||
|
unsigned int height);
|
||||||
|
|
||||||
grub_err_t grub_video_blit_bitmap (struct grub_video_bitmap *bitmap,
|
grub_err_t EXPORT_FUNC (grub_video_blit_bitmap) (struct grub_video_bitmap *bitmap,
|
||||||
enum grub_video_blit_operators oper,
|
enum grub_video_blit_operators oper,
|
||||||
int x, int y, int offset_x, int offset_y,
|
int x, int y,
|
||||||
unsigned int width, unsigned int height);
|
int offset_x, int offset_y,
|
||||||
|
unsigned int width,
|
||||||
|
unsigned int height);
|
||||||
|
|
||||||
grub_err_t grub_video_blit_render_target (struct grub_video_render_target *source,
|
grub_err_t EXPORT_FUNC (grub_video_blit_render_target) (struct grub_video_render_target *source,
|
||||||
enum grub_video_blit_operators oper,
|
enum grub_video_blit_operators oper,
|
||||||
int x, int y,
|
int x, int y,
|
||||||
int offset_x, int offset_y,
|
int offset_x,
|
||||||
unsigned int width,
|
int offset_y,
|
||||||
unsigned int height);
|
unsigned int width,
|
||||||
|
unsigned int height);
|
||||||
|
|
||||||
grub_err_t grub_video_scroll (grub_video_color_t color, int dx, int dy);
|
grub_err_t grub_video_scroll (grub_video_color_t color, int dx, int dy);
|
||||||
|
|
||||||
grub_err_t grub_video_swap_buffers (void);
|
grub_err_t EXPORT_FUNC (grub_video_swap_buffers) (void);
|
||||||
|
|
||||||
grub_err_t grub_video_create_render_target (struct grub_video_render_target **result,
|
grub_err_t EXPORT_FUNC (grub_video_create_render_target) (struct grub_video_render_target **result,
|
||||||
unsigned int width,
|
unsigned int width,
|
||||||
unsigned int height,
|
unsigned int height,
|
||||||
unsigned int mode_type);
|
unsigned int mode_type);
|
||||||
|
|
||||||
grub_err_t grub_video_delete_render_target (struct grub_video_render_target *target);
|
grub_err_t EXPORT_FUNC (grub_video_delete_render_target) (struct grub_video_render_target *target);
|
||||||
|
|
||||||
grub_err_t grub_video_set_active_render_target (struct grub_video_render_target *target);
|
grub_err_t EXPORT_FUNC (grub_video_set_active_render_target) (struct grub_video_render_target *target);
|
||||||
|
|
||||||
grub_err_t grub_video_get_active_render_target (struct grub_video_render_target **target);
|
grub_err_t grub_video_get_active_render_target (struct grub_video_render_target **target);
|
||||||
|
|
||||||
grub_err_t grub_video_set_mode (const char *modestring,
|
grub_err_t EXPORT_FUNC (grub_video_set_mode) (const char *modestring,
|
||||||
unsigned int modemask,
|
unsigned int modemask,
|
||||||
unsigned int modevalue);
|
unsigned int modevalue);
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
grub_video_check_mode_flag (unsigned int flags, unsigned int mask,
|
grub_video_check_mode_flag (unsigned int flags, unsigned int mask,
|
||||||
|
|
|
@ -152,7 +152,7 @@ grub_device_iterate (int (*hook) (const char *name))
|
||||||
grub_free (partition_name);
|
grub_free (partition_name);
|
||||||
grub_free (p);
|
grub_free (p);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
grub_free (partition_name);
|
grub_free (partition_name);
|
||||||
|
|
||||||
p->next = ents;
|
p->next = ents;
|
||||||
|
|
|
@ -68,6 +68,9 @@ grub_load_modules (void)
|
||||||
(header->size - sizeof (struct grub_module_header))))
|
(header->size - sizeof (struct grub_module_header))))
|
||||||
grub_fatal ("%s", grub_errmsg);
|
grub_fatal ("%s", grub_errmsg);
|
||||||
|
|
||||||
|
if (grub_errno)
|
||||||
|
grub_print_error ();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -154,8 +154,8 @@ grub_bsd_get_device (grub_uint32_t * biosdev,
|
||||||
dev = grub_device_open (0);
|
dev = grub_device_open (0);
|
||||||
if (dev && dev->disk && dev->disk->partition)
|
if (dev && dev->disk && dev->disk->partition)
|
||||||
{
|
{
|
||||||
|
char *p0;
|
||||||
p = dev->disk->partition->partmap->get_name (dev->disk->partition);
|
p0 = p = dev->disk->partition->partmap->get_name (dev->disk->partition);
|
||||||
if (p)
|
if (p)
|
||||||
{
|
{
|
||||||
if ((p[0] >= '0') && (p[0] <= '9'))
|
if ((p[0] >= '0') && (p[0] <= '9'))
|
||||||
|
@ -169,6 +169,7 @@ grub_bsd_get_device (grub_uint32_t * biosdev,
|
||||||
if ((p[0] >= 'a') && (p[0] <= 'z'))
|
if ((p[0] >= 'a') && (p[0] <= 'z'))
|
||||||
*part = p[0] - 'a';
|
*part = p[0] - 'a';
|
||||||
}
|
}
|
||||||
|
grub_free (p0);
|
||||||
}
|
}
|
||||||
if (dev)
|
if (dev)
|
||||||
grub_device_close (dev);
|
grub_device_close (dev);
|
||||||
|
|
|
@ -448,8 +448,8 @@ grub_multiboot_set_bootdev (void)
|
||||||
dev = grub_device_open (0);
|
dev = grub_device_open (0);
|
||||||
if (dev && dev->disk && dev->disk->partition)
|
if (dev && dev->disk && dev->disk->partition)
|
||||||
{
|
{
|
||||||
|
char *p0;
|
||||||
p = dev->disk->partition->partmap->get_name (dev->disk->partition);
|
p = p0 = dev->disk->partition->partmap->get_name (dev->disk->partition);
|
||||||
if (p)
|
if (p)
|
||||||
{
|
{
|
||||||
if ((p[0] >= '0') && (p[0] <= '9'))
|
if ((p[0] >= '0') && (p[0] <= '9'))
|
||||||
|
@ -463,6 +463,7 @@ grub_multiboot_set_bootdev (void)
|
||||||
if ((p[0] >= 'a') && (p[0] <= 'z'))
|
if ((p[0] >= 'a') && (p[0] <= 'z'))
|
||||||
part = p[0] - 'a';
|
part = p[0] - 'a';
|
||||||
}
|
}
|
||||||
|
grub_free (p0);
|
||||||
}
|
}
|
||||||
if (dev)
|
if (dev)
|
||||||
grub_device_close (dev);
|
grub_device_close (dev);
|
||||||
|
|
|
@ -38,6 +38,9 @@ autoload_fs_module (void)
|
||||||
if (! grub_dl_get (p->name) && grub_dl_load (p->name))
|
if (! grub_dl_get (p->name) && grub_dl_load (p->name))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
if (grub_errno)
|
||||||
|
grub_print_error ();
|
||||||
|
|
||||||
fs_module_list = p->next;
|
fs_module_list = p->next;
|
||||||
grub_free (p->name);
|
grub_free (p->name);
|
||||||
grub_free (p);
|
grub_free (p);
|
||||||
|
|
|
@ -303,8 +303,9 @@ grub_cmdline_get (const char *prompt)
|
||||||
grub_memmove (buf + lpos, str, len * sizeof (grub_uint32_t));
|
grub_memmove (buf + lpos, str, len * sizeof (grub_uint32_t));
|
||||||
|
|
||||||
llen += len;
|
llen += len;
|
||||||
|
cl_set_pos_all ();
|
||||||
|
cl_print_all (lpos, 0);
|
||||||
lpos += len;
|
lpos += len;
|
||||||
cl_print_all (lpos - len, 0);
|
|
||||||
cl_set_pos_all ();
|
cl_set_pos_all ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -473,7 +474,6 @@ grub_cmdline_get (const char *prompt)
|
||||||
if (t != 1)
|
if (t != 1)
|
||||||
cl_insert (insert);
|
cl_insert (insert);
|
||||||
lpos++;
|
lpos++;
|
||||||
cl_set_pos_all ();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -485,6 +485,7 @@ grub_cmdline_get (const char *prompt)
|
||||||
grub_free (insertu8);
|
grub_free (insertu8);
|
||||||
grub_free (insert);
|
grub_free (insert);
|
||||||
}
|
}
|
||||||
|
cl_set_pos_all ();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -88,13 +88,14 @@ read_crypto_list (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
file = grub_file_open (filename);
|
file = grub_file_open (filename);
|
||||||
|
grub_free (filename);
|
||||||
if (!file)
|
if (!file)
|
||||||
{
|
{
|
||||||
grub_errno = GRUB_ERR_NONE;
|
grub_errno = GRUB_ERR_NONE;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Override previous commands.lst. */
|
/* Override previous crypto.lst. */
|
||||||
grub_crypto_spec_free ();
|
grub_crypto_spec_free ();
|
||||||
|
|
||||||
for (;; grub_free (buf))
|
for (;; grub_free (buf))
|
||||||
|
|
|
@ -418,6 +418,7 @@ grub_normal_init_page (struct grub_term_output *term)
|
||||||
|
|
||||||
msg_len = grub_utf8_to_ucs4_alloc (msg_formatted,
|
msg_len = grub_utf8_to_ucs4_alloc (msg_formatted,
|
||||||
&unicode_msg, &last_position);
|
&unicode_msg, &last_position);
|
||||||
|
grub_free (msg_formatted);
|
||||||
|
|
||||||
if (msg_len < 0)
|
if (msg_len < 0)
|
||||||
{
|
{
|
||||||
|
@ -582,10 +583,13 @@ grub_normal_read_line_real (char **line, int cont, int nested)
|
||||||
if (cont || nested)
|
if (cont || nested)
|
||||||
{
|
{
|
||||||
grub_free (*line);
|
grub_free (*line);
|
||||||
|
grub_free (prompt);
|
||||||
*line = 0;
|
*line = 0;
|
||||||
return grub_errno;
|
return grub_errno;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
grub_free (prompt);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -650,6 +654,7 @@ GRUB_MOD_INIT(normal)
|
||||||
|
|
||||||
grub_set_history (GRUB_DEFAULT_HISTORY_SIZE);
|
grub_set_history (GRUB_DEFAULT_HISTORY_SIZE);
|
||||||
|
|
||||||
|
grub_install_newline_hook ();
|
||||||
grub_register_variable_hook ("pager", 0, grub_env_write_pager);
|
grub_register_variable_hook ("pager", 0, grub_env_write_pager);
|
||||||
|
|
||||||
/* Register a command "normal" for the rescue mode. */
|
/* Register a command "normal" for the rescue mode. */
|
||||||
|
|
|
@ -559,14 +559,14 @@ show_menu (grub_menu_t menu, int nested)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
int lines_before = grub_normal_get_line_counter ();
|
||||||
grub_errno = GRUB_ERR_NONE;
|
grub_errno = GRUB_ERR_NONE;
|
||||||
grub_menu_execute_entry (e);
|
grub_menu_execute_entry (e);
|
||||||
if (grub_errno != GRUB_ERR_NONE)
|
grub_print_error ();
|
||||||
{
|
grub_errno = GRUB_ERR_NONE;
|
||||||
grub_print_error ();
|
|
||||||
grub_errno = GRUB_ERR_NONE;
|
if (lines_before != grub_normal_get_line_counter ())
|
||||||
grub_wait_after_message ();
|
grub_wait_after_message ();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,14 @@ static unsigned grub_more_lines;
|
||||||
/* If the more pager is active. */
|
/* If the more pager is active. */
|
||||||
static int grub_more;
|
static int grub_more;
|
||||||
|
|
||||||
|
static int grub_normal_line_counter = 0;
|
||||||
|
|
||||||
|
int
|
||||||
|
grub_normal_get_line_counter (void)
|
||||||
|
{
|
||||||
|
return grub_normal_line_counter;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
process_newline (void)
|
process_newline (void)
|
||||||
{
|
{
|
||||||
|
@ -41,6 +49,8 @@ process_newline (void)
|
||||||
height = grub_term_height (cur);
|
height = grub_term_height (cur);
|
||||||
grub_more_lines++;
|
grub_more_lines++;
|
||||||
|
|
||||||
|
grub_normal_line_counter++;
|
||||||
|
|
||||||
if (grub_more && grub_more_lines >= height - 1)
|
if (grub_more && grub_more_lines >= height - 1)
|
||||||
{
|
{
|
||||||
char key;
|
char key;
|
||||||
|
@ -76,6 +86,11 @@ grub_set_more (int onoff)
|
||||||
grub_more--;
|
grub_more--;
|
||||||
|
|
||||||
grub_more_lines = 0;
|
grub_more_lines = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
grub_install_newline_hook (void)
|
||||||
|
{
|
||||||
grub_newline_hook = process_newline;
|
grub_newline_hook = process_newline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +165,6 @@ grub_terminal_autoload_free (void)
|
||||||
grub_term_output_autoload = NULL;
|
grub_term_output_autoload = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Read the file terminal.lst for auto-loading. */
|
/* Read the file terminal.lst for auto-loading. */
|
||||||
void
|
void
|
||||||
read_terminal_list (void)
|
read_terminal_list (void)
|
||||||
|
@ -175,6 +189,7 @@ read_terminal_list (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
file = grub_file_open (filename);
|
file = grub_file_open (filename);
|
||||||
|
grub_free (filename);
|
||||||
if (!file)
|
if (!file)
|
||||||
{
|
{
|
||||||
grub_errno = GRUB_ERR_NONE;
|
grub_errno = GRUB_ERR_NONE;
|
||||||
|
|
|
@ -202,53 +202,81 @@ grub_ofconsole_readkey (int *key)
|
||||||
|
|
||||||
grub_ieee1275_read (stdin_ihandle, &c, 1, &actual);
|
grub_ieee1275_read (stdin_ihandle, &c, 1, &actual);
|
||||||
|
|
||||||
if (actual > 0 && c == '\e')
|
if (actual > 0)
|
||||||
{
|
switch(c)
|
||||||
grub_uint64_t start;
|
{
|
||||||
grub_ieee1275_read (stdin_ihandle, &c, 1, &actual);
|
case 0x7f:
|
||||||
|
/* Backspace: Ctrl-h. */
|
||||||
/* On 9600 we have to wait up to 12 milliseconds. */
|
c = '\b';
|
||||||
start = grub_get_time_ms ();
|
break;
|
||||||
while (actual <= 0 && grub_get_time_ms () - start < 12)
|
case '\e':
|
||||||
grub_ieee1275_read (stdin_ihandle, &c, 1, &actual);
|
|
||||||
|
|
||||||
if (actual <= 0)
|
|
||||||
{
|
{
|
||||||
*key = '\e';
|
grub_uint64_t start;
|
||||||
return 1;
|
grub_ieee1275_read (stdin_ihandle, &c, 1, &actual);
|
||||||
|
|
||||||
|
/* On 9600 we have to wait up to 12 milliseconds. */
|
||||||
|
start = grub_get_time_ms ();
|
||||||
|
while (actual <= 0 && grub_get_time_ms () - start < 12)
|
||||||
|
grub_ieee1275_read (stdin_ihandle, &c, 1, &actual);
|
||||||
|
|
||||||
|
if (actual <= 0)
|
||||||
|
{
|
||||||
|
*key = '\e';
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (c != '[')
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
grub_ieee1275_read (stdin_ihandle, &c, 1, &actual);
|
||||||
|
|
||||||
|
/* On 9600 we have to wait up to 12 milliseconds. */
|
||||||
|
start = grub_get_time_ms ();
|
||||||
|
while (actual <= 0 && grub_get_time_ms () - start < 12)
|
||||||
|
grub_ieee1275_read (stdin_ihandle, &c, 1, &actual);
|
||||||
|
if (actual <= 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
switch (c)
|
||||||
|
{
|
||||||
|
case 'A':
|
||||||
|
/* Up: Ctrl-p. */
|
||||||
|
c = GRUB_TERM_UP;
|
||||||
|
break;
|
||||||
|
case 'B':
|
||||||
|
/* Down: Ctrl-n. */
|
||||||
|
c = GRUB_TERM_DOWN;
|
||||||
|
break;
|
||||||
|
case 'C':
|
||||||
|
/* Right: Ctrl-f. */
|
||||||
|
c = GRUB_TERM_RIGHT;
|
||||||
|
break;
|
||||||
|
case 'D':
|
||||||
|
/* Left: Ctrl-b. */
|
||||||
|
c = GRUB_TERM_LEFT;
|
||||||
|
break;
|
||||||
|
case '3':
|
||||||
|
{
|
||||||
|
grub_ieee1275_read (stdin_ihandle, &c, 1, &actual);
|
||||||
|
/* On 9600 we have to wait up to 12 milliseconds. */
|
||||||
|
start = grub_get_time_ms ();
|
||||||
|
while (actual <= 0 && grub_get_time_ms () - start < 12)
|
||||||
|
grub_ieee1275_read (stdin_ihandle, &c, 1, &actual);
|
||||||
|
|
||||||
|
if (actual <= 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
/* Delete: Ctrl-d. */
|
||||||
|
if (c == '~')
|
||||||
|
c = GRUB_TERM_DC;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (c != '[')
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
grub_ieee1275_read (stdin_ihandle, &c, 1, &actual);
|
|
||||||
/* On 9600 we have to wait up to 12 milliseconds. */
|
|
||||||
start = grub_get_time_ms ();
|
|
||||||
while (actual <= 0 && grub_get_time_ms () - start < 12)
|
|
||||||
grub_ieee1275_read (stdin_ihandle, &c, 1, &actual);
|
|
||||||
if (actual <= 0)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
switch (c)
|
|
||||||
{
|
|
||||||
case 'A':
|
|
||||||
/* Up: Ctrl-p. */
|
|
||||||
c = GRUB_TERM_UP;
|
|
||||||
break;
|
|
||||||
case 'B':
|
|
||||||
/* Down: Ctrl-n. */
|
|
||||||
c = GRUB_TERM_DOWN;
|
|
||||||
break;
|
|
||||||
case 'C':
|
|
||||||
/* Right: Ctrl-f. */
|
|
||||||
c = GRUB_TERM_RIGHT;
|
|
||||||
break;
|
|
||||||
case 'D':
|
|
||||||
/* Left: Ctrl-b. */
|
|
||||||
c = GRUB_TERM_LEFT;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
*key = c;
|
*key = c;
|
||||||
return actual > 0;
|
return actual > 0;
|
||||||
|
|
|
@ -222,7 +222,9 @@ export GRUB_DEFAULT \
|
||||||
GRUB_GFXMODE \
|
GRUB_GFXMODE \
|
||||||
GRUB_THEME \
|
GRUB_THEME \
|
||||||
GRUB_GFXPAYLOAD_LINUX \
|
GRUB_GFXPAYLOAD_LINUX \
|
||||||
GRUB_DISABLE_OS_PROBER
|
GRUB_DISABLE_OS_PROBER \
|
||||||
|
GRUB_INIT_TUNE \
|
||||||
|
GRUB_SAVEDEFAULT
|
||||||
|
|
||||||
if test "x${grub_cfg}" != "x"; then
|
if test "x${grub_cfg}" != "x"; then
|
||||||
rm -f ${grub_cfg}.new
|
rm -f ${grub_cfg}.new
|
||||||
|
|
|
@ -96,7 +96,7 @@ convert_system_path_to_grub_path ()
|
||||||
|
|
||||||
save_default_entry ()
|
save_default_entry ()
|
||||||
{
|
{
|
||||||
if [ "x${GRUB_DEFAULT}" = "xsaved" ] ; then
|
if [ "x${GRUB_SAVEDEFAULT}" = "xtrue" ] ; then
|
||||||
cat << EOF
|
cat << EOF
|
||||||
savedefault
|
savedefault
|
||||||
EOF
|
EOF
|
||||||
|
|
|
@ -470,10 +470,8 @@ Make a bootable image of GRUB.\n\
|
||||||
-o, --output=FILE output a generated image to FILE [default=stdout]\n"
|
-o, --output=FILE output a generated image to FILE [default=stdout]\n"
|
||||||
#ifdef GRUB_PLATFORM_IMAGE_DEFAULT
|
#ifdef GRUB_PLATFORM_IMAGE_DEFAULT
|
||||||
"\
|
"\
|
||||||
-O, --format=FORMAT generate an image in format [default="
|
-O, --format=FORMAT generate an image in format [default=%s]\n\
|
||||||
GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT "]\n \
|
available formats: %s\n"
|
||||||
available formats: "
|
|
||||||
GRUB_PLATFORM_IMAGE_FORMATS "\n"
|
|
||||||
#endif
|
#endif
|
||||||
"\
|
"\
|
||||||
-h, --help display this message and exit\n\
|
-h, --help display this message and exit\n\
|
||||||
|
@ -481,7 +479,12 @@ Make a bootable image of GRUB.\n\
|
||||||
-v, --verbose print verbose messages\n\
|
-v, --verbose print verbose messages\n\
|
||||||
\n\
|
\n\
|
||||||
Report bugs to <%s>.\n\
|
Report bugs to <%s>.\n\
|
||||||
"), program_name, GRUB_LIBDIR, DEFAULT_DIRECTORY, PACKAGE_BUGREPORT);
|
"),
|
||||||
|
program_name, GRUB_LIBDIR, DEFAULT_DIRECTORY,
|
||||||
|
#ifdef GRUB_PLATFORM_IMAGE_DEFAULT
|
||||||
|
GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT, GRUB_PLATFORM_IMAGE_FORMATS,
|
||||||
|
#endif
|
||||||
|
PACKAGE_BUGREPORT);
|
||||||
|
|
||||||
exit (status);
|
exit (status);
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,7 +86,15 @@ if [ "x${output_image}" = x ] ; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
iso9660_dir=`mktemp -d`
|
if test "x$TMP" != x; then
|
||||||
|
MKTEMP_TEMPLATE="$TMP/grub-mkrescue.XXXXXXXXXX"
|
||||||
|
elif test "x$TEMP" != x; then
|
||||||
|
MKTEMP_TEMPLATE="$TEMP/grub-mkrescue.XXXXXXXXXX"
|
||||||
|
else
|
||||||
|
MKTEMP_TEMPLATE="/tmp/grub-mkrescue.XXXXXXXXXX"
|
||||||
|
fi
|
||||||
|
|
||||||
|
iso9660_dir=`mktemp -d "$MKTEMP_TEMPLATE"`
|
||||||
mkdir -p ${iso9660_dir}/boot/grub
|
mkdir -p ${iso9660_dir}/boot/grub
|
||||||
|
|
||||||
process_input_dir ()
|
process_input_dir ()
|
||||||
|
@ -133,8 +141,8 @@ fi
|
||||||
# build coreboot core.img
|
# build coreboot core.img
|
||||||
if test -e "${coreboot_dir}" ; then
|
if test -e "${coreboot_dir}" ; then
|
||||||
echo "Enabling coreboot support ..."
|
echo "Enabling coreboot support ..."
|
||||||
memdisk_img=`mktemp`
|
memdisk_img=`mktemp "$MKTEMP_TEMPLATE"`
|
||||||
memdisk_dir=`mktemp -d`
|
memdisk_dir=`mktemp -d "$MKTEMP_TEMPLATE"`
|
||||||
mkdir -p ${memdisk_dir}/boot/grub
|
mkdir -p ${memdisk_dir}/boot/grub
|
||||||
# obtain date-based UUID
|
# obtain date-based UUID
|
||||||
iso_uuid=$(date +%Y-%m-%d-%H-%M-%S-00)
|
iso_uuid=$(date +%Y-%m-%d-%H-%M-%S-00)
|
||||||
|
@ -162,12 +170,12 @@ fi
|
||||||
# build BIOS core.img
|
# build BIOS core.img
|
||||||
if test -e "${pc_dir}" ; then
|
if test -e "${pc_dir}" ; then
|
||||||
echo "Enabling BIOS support ..."
|
echo "Enabling BIOS support ..."
|
||||||
core_img=`mktemp`
|
core_img=`mktemp "$MKTEMP_TEMPLATE"`
|
||||||
grub-mkimage -d ${pc_dir}/ -o ${core_img} --prefix=/boot/grub/i386-pc \
|
grub-mkimage -d ${pc_dir}/ -o ${core_img} --prefix=/boot/grub/i386-pc \
|
||||||
iso9660 biosdisk
|
iso9660 biosdisk
|
||||||
cat ${pc_dir}/cdboot.img ${core_img} > ${iso9660_dir}/boot/grub/i386-pc/eltorito.img
|
cat ${pc_dir}/cdboot.img ${core_img} > ${iso9660_dir}/boot/grub/i386-pc/eltorito.img
|
||||||
|
|
||||||
embed_img=`mktemp`
|
embed_img=`mktemp "$MKTEMP_TEMPLATE"`
|
||||||
cat ${pc_dir}/boot.img ${core_img} > ${embed_img}
|
cat ${pc_dir}/boot.img ${core_img} > ${embed_img}
|
||||||
|
|
||||||
rm -f ${core_img}
|
rm -f ${core_img}
|
||||||
|
|
|
@ -29,6 +29,8 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
|
|
||||||
|
#include "progname.h"
|
||||||
|
|
||||||
static struct option options[] = {
|
static struct option options[] = {
|
||||||
{"help", no_argument, 0, 'h'},
|
{"help", no_argument, 0, 'h'},
|
||||||
{"version", no_argument, 0, 'V'},
|
{"version", no_argument, 0, 'V'},
|
||||||
|
|
|
@ -158,3 +158,11 @@ else
|
||||||
set timeout=${GRUB_TIMEOUT}
|
set timeout=${GRUB_TIMEOUT}
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Play an initial tune
|
||||||
|
if [ "x${GRUB_INIT_TUNE}" != "x" ] ; then
|
||||||
|
cat << EOF
|
||||||
|
insmod play
|
||||||
|
play ${GRUB_INIT_TUNE}
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
|
@ -66,7 +66,8 @@ linux_entry ()
|
||||||
# Use ELILO's generic "efifb" when it's known to be available.
|
# Use ELILO's generic "efifb" when it's known to be available.
|
||||||
# FIXME: We need an interface to select vesafb in case efifb can't be used.
|
# FIXME: We need an interface to select vesafb in case efifb can't be used.
|
||||||
if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then
|
if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then
|
||||||
if grep -qx "CONFIG_FB_EFI=y" /boot/config-${version} 2> /dev/null ; then
|
if grep -qx "CONFIG_FB_EFI=y" /boot/config-${version} 2> /dev/null \
|
||||||
|
&& grep -qx "CONFIG_VT_HW_CONSOLE_BINDING=y" /boot/config-${version} 2> /dev/null; then
|
||||||
cat << EOF
|
cat << EOF
|
||||||
set gfxpayload=keep
|
set gfxpayload=keep
|
||||||
EOF
|
EOF
|
||||||
|
|
|
@ -180,6 +180,14 @@ for file in ${pkglibdir}/*.mod ${pkglibdir}/*.lst; do
|
||||||
cp -f $file ${grubdir} || exit 1
|
cp -f $file ${grubdir} || exit 1
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Copy gettext files
|
||||||
|
mkdir -p ${grubdir}/locale/
|
||||||
|
for file in ${grubdir}/locale/*.mo ${pkglibdir}/locale/*.mo; do
|
||||||
|
if test -f "$file"; then
|
||||||
|
cp -f "$file" ${grubdir}/locale/
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
if ! test -f ${grubdir}/grubenv; then
|
if ! test -f ${grubdir}/grubenv; then
|
||||||
$grub_editenv ${grubdir}/grubenv create
|
$grub_editenv ${grubdir}/grubenv create
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -62,6 +62,7 @@ mdblocksizes = {"_gcry_digest_spec_crc32" : 64,
|
||||||
"_gcry_digest_spec_whirlpool" : 64}
|
"_gcry_digest_spec_whirlpool" : 64}
|
||||||
|
|
||||||
cryptolist = open (os.path.join (cipher_dir_out, "crypto.lst"), "w")
|
cryptolist = open (os.path.join (cipher_dir_out, "crypto.lst"), "w")
|
||||||
|
conf.write ("MAINTAINER_CLEANFILES += $(srcdir)/conf/gcry.rmk $(srcdir)/lib/libgcrypt-grub/cipher/ChangeLog $(srcdir)/lib/libgcrypt-grub/cipher/cipher.h $(srcdir)/lib/libgcrypt-grub/cipher/crypto.lst $(srcdir)/lib/libgcrypt-grub/cipher/g10lib.h $(srcdir)/lib/libgcrypt-grub/cipher/memory.h $(srcdir)/lib/libgcrypt-grub/cipher/types.h\n");
|
||||||
|
|
||||||
# rijndael is the only cipher using aliases. So no need for mangling, just
|
# rijndael is the only cipher using aliases. So no need for mangling, just
|
||||||
# hardcode it
|
# hardcode it
|
||||||
|
@ -87,6 +88,7 @@ for cipher_file in cipher_files:
|
||||||
continue
|
continue
|
||||||
nch = False
|
nch = False
|
||||||
if re.match (".*\.[ch]$", cipher_file):
|
if re.match (".*\.[ch]$", cipher_file):
|
||||||
|
conf.write ("MAINTAINER_CLEANFILES += $(srcdir)/lib/libgcrypt-grub/cipher/" + cipher_file + "\n");
|
||||||
isc = re.match (".*\.c$", cipher_file)
|
isc = re.match (".*\.c$", cipher_file)
|
||||||
f = open (infile, "r")
|
f = open (infile, "r")
|
||||||
fw = open (outfile, "w")
|
fw = open (outfile, "w")
|
||||||
|
|
|
@ -1006,11 +1006,13 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
|
||||||
{ \
|
{ \
|
||||||
/* 3b. Move data downwards. */ \
|
/* 3b. Move data downwards. */ \
|
||||||
dst = (void *) grub_video_fb_get_video_ptr (&target, \
|
dst = (void *) grub_video_fb_get_video_ptr (&target, \
|
||||||
dst_x + width - 1, \
|
dst_x + width, \
|
||||||
dst_y + height - 1); \
|
dst_y + height - 1); \
|
||||||
src = (void *) grub_video_fb_get_video_ptr (&target, \
|
src = (void *) grub_video_fb_get_video_ptr (&target, \
|
||||||
src_x + width - 1, \
|
src_x + width, \
|
||||||
src_y + height - 1); \
|
src_y + height - 1); \
|
||||||
|
dst--; \
|
||||||
|
src--; \
|
||||||
for (j = 0; j < height; j++) \
|
for (j = 0; j < height; j++) \
|
||||||
{ \
|
{ \
|
||||||
for (i = 0; i < linelen; i++) \
|
for (i = 0; i < linelen; i++) \
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include <grub/machine/memory.h>
|
#include <grub/machine/memory.h>
|
||||||
#include <grub/machine/vga.h>
|
#include <grub/machine/vga.h>
|
||||||
#include <grub/machine/vbe.h>
|
#include <grub/machine/vbe.h>
|
||||||
|
#include <grub/video_fb.h>
|
||||||
#include <grub/types.h>
|
#include <grub/types.h>
|
||||||
#include <grub/dl.h>
|
#include <grub/dl.h>
|
||||||
#include <grub/misc.h>
|
#include <grub/misc.h>
|
||||||
|
|
Loading…
Reference in a new issue