Commit graph

2139 commits

Author SHA1 Message Date
Vladimir Serbinenko
cb72aa1809 Rewrite blocklist functions in order to get progress when
reading large extents and decrease amount of blocklist hook calls.
2013-11-01 23:28:03 +01:00
Vladimir Serbinenko
89295a0628 Support --base-clock for serial command to handle weird cards with
non-standard base clock.
2013-11-01 19:33:22 +01:00
Vladimir Serbinenko
eb03ede014 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
strncpy.
	* grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
	* grub-core/kern/misc.c (grub_strncpy): Move from here ...
	* include/grub/misc.h (grub_strncpy): ... to here. Make inline.
	* grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
	+ strcpy rather than strncpy.
2013-11-01 18:44:46 +01:00
Vladimir Serbinenko
e54b8f536b * include/grub/misc.h (grub_strcat): Removed. All users changed to
more appropriate functions.
2013-11-01 16:27:37 +01:00
Vladimir Serbinenko
329550c4a9 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map. 2013-10-28 15:37:00 +01:00
Vladimir Serbinenko
00bfa988fc * grub-core/loader/multiboot.c: Add support for multiboot kernels
quirks.
2013-10-28 15:23:46 +01:00
Vladimir Serbinenko
5177391ebe * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
and grub_hostfs_init.
2013-10-28 13:33:12 +01:00
Vladimir Serbinenko
82591fa6e7 Make / in btrfs refer to real root, not the default volume.
Modify mkrelpath to work even if device is mounted with subvolid option.
2013-10-28 01:37:19 +01:00
Vladimir Serbinenko
442b86de32 Move grub_disk_write out of kernel into disk.mod. 2013-10-27 15:44:55 +01:00
Vladimir Serbinenko
a8f15bceea * grub-core/kern/misc.c (grub_abort): Make static 2013-10-27 14:13:39 +01:00
Vladimir Serbinenko
c81acb7ff3 Consolidate cpuid code. 2013-10-27 00:02:01 +02:00
Vladimir Serbinenko
c1bee64676 Move cpuid code to cpuid.h and TSC code to tsc.c. 2013-10-26 23:39:10 +02:00
Vladimir Serbinenko
2a8a75855c * grub-core/fs/iso9660.c: Replace strncat with memcpy.
* include/grub/misc.h: Remove strncat.
	* grub-core/lib/posix_wrap/string.h: Likewise.
2013-10-26 12:49:51 +02:00
Vladimir Serbinenko
10bafa1c38 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
of first three years after start of validity of unixtime.
2013-10-26 02:47:40 +02:00
Vladimir Serbinenko
a28567364a Make char and string width grub_size_t rather than grub_ssize_t. 2013-10-25 23:58:24 +02:00
Vladimir Serbinenko
af81ed880d * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
* include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
	functions when compiling for kernel.
2013-10-25 16:07:01 +02:00
Paulo Flabiano Smorigo
84a0e9699f Add progress module to display load progress of files.
* grub-core/lib/progress.c: New file.
	* grub-core/Makefile.core.def (progress): New module.
	* grub-core/kern/file.c (grub_file_open): File name added.
	* (grub_file_read): Progress hook added.
	* grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
	* grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
	* grub-core/net/net.c (grub_net_fs_read_real): Likewise.
	* include/grub/file.h (struct grub_file): Add progress module
	* members.
	* include/grub/term.h (struct grub_term_output): Likewise.
	* grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
	Terminal velocity added.
	* grub-core/osdep/windows/emuconsole.c (grub_console_term_output):
	* Likewise.
	* grub-core/term/arc/console.c (grub_console_term_output): Likewise.
	* grub-core/term/efi/console.c (grub_console_term_output): Likewise.
	* grub-core/term/gfxterm.c (grub_video_term): Likewise.
	* grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output):
	* Likewise.
	* grub-core/term/i386/pc/console.c (grub_console_term_output):
	* Likewise.
	* grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
	* grub-core/term/ieee1275/console.c (grub_console_term_output):
	* Likewise.
	* grub-core/term/morse.c (grub_audio_term_output): Likewise.
	* grub-core/term/serial.c (grub_serial_term_output): Likewise.
	* grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
	* grub-core/term/uboot/console.c (uboot_console_term_output):
	* Likewise.
2013-10-22 16:42:20 -02:00
Vladimir 'phcoder' Serbinenko
00f72e890b * grub-core/kern/misc.c (grub_isprint): Move to ...
* include/grub/misc.h (grub_isprint): ... here. Make inline.

	Saves 20 bytes on compressed image due to remving exporting.
2013-10-21 13:25:56 +02:00
Vladimir 'phcoder' Serbinenko
979d9f521d * grub-core/fs/ntfs.c: Handle 48-bit MFT no. 2013-10-21 12:58:38 +02:00
Vladimir 'phcoder' Serbinenko
63efa602ff * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
* grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2013-10-21 02:48:19 +02:00
Vladimir 'phcoder' Serbinenko
d28e1163c3 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
	* include/grub/types.h (grub_unaligned_uint64_t): New type.
2013-10-20 13:11:40 +02:00
Vladimir 'phcoder' Serbinenko
e89c2d48a9 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
bitmasks to small structures of size chosen to fit in registers.
2013-10-19 23:59:32 +02:00
Vladimir 'phcoder' Serbinenko
2028576504 Add haiku-specific functions. 2013-10-19 16:39:38 +02:00
Vladimir 'phcoder' Serbinenko
40346de6d3 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
* osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2013-10-19 02:56:40 +02:00
Vladimir 'phcoder' Serbinenko
6f65237374 * util/grub-render-label.c: Move backend part to ...
* util/render-label.c: ... here.
2013-10-19 02:37:01 +02:00
Vladimir 'phcoder' Serbinenko
44d1c20a13 * util/grub-render-label.c: Move backend part to ...
* util/render-label.c: ... here.
2013-10-19 02:34:18 +02:00
Vladimir 'phcoder' Serbinenko
f90a3cc0a8 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
(grub_util_check_char_device): Likewise.
	* include/grub/emu/getroot.h: Likewise.
2013-10-19 00:51:08 +02:00
Vladimir 'phcoder' Serbinenko
3cd910a212 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
shadowing.
	* grub-core/kern/disk.c: Likewise.
	* grub-core/kern/misc.c: Likewise.
	* include/grub/parser.h: Likewise.
	* include/grub/script_sh.h: Likewise.
	* include/grub/zfs/zfs.h: Likewise.
2013-10-18 16:54:57 +02:00
Vladimir 'phcoder' Serbinenko
f4ccf29dd5 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
Use __unused__ rather than __used__ on gcc < 3.2.
2013-10-18 16:41:50 +02:00
Vladimir 'phcoder' Serbinenko
0d3a6f8540 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
gcc < 4.0.
	* include/grub/*/setjmp.h: USe RETURNS_TWICE.
2013-10-18 16:38:36 +02:00
Vladimir 'phcoder' Serbinenko
fb320faf88 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
* include/grub/emu/misc.h: Likewise.
2013-10-18 16:34:18 +02:00
Hiroyuki YAMAMORI
ceca6ddf26 Handle Japanese special keys.
Reported by: Hiroyuki YAMAMORI.
	Codes supplied by: Hiroyuki YAMAMORI.
2013-10-17 00:49:05 +02:00
Vladimir 'phcoder' Serbinenko
bacfefbb0e * util/grub-editenv.c (create_envblk_file): More from here ...
* util/editenv.c (grub_util_create_envblk_file): ... to here.
2013-10-15 21:23:54 +02:00
Vladimir 'phcoder' Serbinenko
7b83ca449b * include/grub/osdep/hostfile_windows.h: Add missing ftello for
mingw32.
2013-10-15 20:32:07 +02:00
Vladimir 'phcoder' Serbinenko
df1e64c98e Define grub_util_is_directory/regular/special_file and
use OS-dependent versions rather than to rely on stat().
2013-10-15 20:27:58 +02:00
Vladimir 'phcoder' Serbinenko
ec16e02639 * util/grub-mkimage.c: Move backend part to ...
* util/mkimage.c: ... here.
2013-10-15 19:14:55 +02:00
Vladimir 'phcoder' Serbinenko
4b4eeb3cc1 Allow compilation with mingw64 albeit with warnings due to lack of
%llx/%llu.

	* grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
	* grub-core/lib/posix_wrap/wchar.h: Define wint_t.
	* grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
	* include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
	on mingw64.
	* include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2013-10-15 18:03:19 +02:00
Vladimir 'phcoder' Serbinenko
5a869940de Split out blocklist retrieving from setup.c to
grub-core/osdep/blocklist.c and add windows implementation since
	generic version doesn't work on NTFS on Windows due to aggressive
	unflushable cache.
2013-10-15 17:02:26 +02:00
Vladimir 'phcoder' Serbinenko
c06c75201c Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
files.
2013-10-15 16:16:04 +02:00
Vladimir 'phcoder' Serbinenko
27f9d02eb9 * configure.ac: Check for nvlist_lookup_string in nvpair since we
use nvlist_lookup_string and don't use nvlist_print.
2013-10-15 15:01:01 +02:00
Vladimir 'phcoder' Serbinenko
f6a81f0aaf Add wrappers around rename, unlink, mkdir, opendir, readdir and
closedir to handle filename charset translation.
2013-10-15 14:11:34 +02:00
Vladimir 'phcoder' Serbinenko
d7750b324f * include/grub/emu/hostdisk.h: Move file operations to
* include/grub/emu/hostfile.h: ... here.
2013-10-15 13:56:10 +02:00
Vladimir 'phcoder' Serbinenko
7e45abcef4 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
and remove export.h.
2013-10-15 13:13:53 +02:00
Vladimir 'phcoder' Serbinenko
70671037c8 Split emunet into platform-dependent and GRUB-binding parts. Keep
platform-dependent part in kernel for easy access to OS functions.
2013-10-15 11:55:20 +02:00
Vladimir 'phcoder' Serbinenko
25ac643a54 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
open/read/write.
2013-10-15 11:06:57 +02:00
Vladimir 'phcoder' Serbinenko
6de9ee86bf Pass-through unknown E820 types. It required reorganisation of mmap
module.
2013-10-14 16:33:44 +02:00
Vladimir 'phcoder' Serbinenko
b73249d260 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
fseeko.
2013-10-14 12:47:09 +02:00
Vladimir 'phcoder' Serbinenko
6de292cb9b Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open. 2013-10-14 02:11:59 +02:00
Vladimir 'phcoder' Serbinenko
84379b61d2 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
missing prototype.
	(grub_util_tchar_to_utf8): Likewise.
2013-10-14 02:09:38 +02:00
Vladimir 'phcoder' Serbinenko
ee8c1b295a * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later. 2013-10-13 21:17:54 +02:00
Vladimir 'phcoder' Serbinenko
bb338aaf24 Add a wrapper for fopen. On unix-like systems just pass-through. On
windows use unicode version.
2013-10-13 20:36:28 +02:00
Vladimir 'phcoder' Serbinenko
ae5540d3d4 Move set_program_name and init_nls to host_init. On windows
fix in this fuction console and argument charset as well.
2013-10-13 20:03:42 +02:00
Vladimir 'phcoder' Serbinenko
eac6ae822c * include/grub/misc.h: Use gnu_printf rather than printf as format
template since our functions are independent of libc.
2013-10-12 07:49:36 +02:00
Vladimir 'phcoder' Serbinenko
71c1d67a34 Avoid including hostfile.h when not necessarry as it pulls
in OS-specific headers which may redefine generic names
	like "far".
2013-10-10 09:18:06 +02:00
Vladimir 'phcoder' Serbinenko
761c718b52 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h. 2013-10-09 08:20:20 +02:00
Vladimir 'phcoder' Serbinenko
37149a2f20 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
Removed.
	* grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
	Made static.
2013-10-09 07:16:20 +02:00
Vladimir 'phcoder' Serbinenko
3837a151e0 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
leftover.
2013-10-09 07:09:22 +02:00
Vladimir 'phcoder' Serbinenko
caca1c70cf Move OS-specific driver configuration to grub_util_fd_open. This
moves OS-dependent parts from kern/emu/hostdisk.c to
	grub-core/osdep/*/hostdisk.c.
2013-10-09 07:04:25 +02:00
Vladimir 'phcoder' Serbinenko
acbbe5cbad * include/grub/util/lvm.h: Removed. 2013-10-08 21:01:09 +02:00
Vladimir 'phcoder' Serbinenko
c2e6f70589 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover). 2013-10-08 19:53:57 +02:00
Vladimir 'phcoder' Serbinenko
a1a315e780 * include/grub/setjmp.h: Remove leftover GRUBOF. 2013-10-08 17:01:04 +02:00
Vladimir 'phcoder' Serbinenko
cef86fefda * util/raid.c: Fold into ...
* util/getroot_linux.c: ... here. Make all functions static.
2013-10-08 16:59:50 +02:00
Vladimir 'phcoder' Serbinenko
47345010a4 Add AROS hostdisk and getroot routines. 2013-10-04 02:35:03 +02:00
Vladimir 'phcoder' Serbinenko
bf25f87931 Make cryptodisk and diskfilter probe data retrievable programmatically
and not just printable.
2013-10-04 01:43:47 +02:00
Vladimir 'phcoder' Serbinenko
24ca45125e Split random retrieving code into separate files. 2013-10-04 01:29:10 +02:00
Vladimir Testov
ebc1da55cd * grub-core/gfxmenu/theme_loader.c: New global options for the
theme background image handling. desktop-image-scale-method,
       desktop-image-h-align, desktop-image-v-align.
       * grub-core/gfxmenu/view.c: Likewise.
       * include/gfxmenu_view.h: Likewise.
       * include/bitmap_scale.h: Proportional scale functions introduced.
       * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
       put in a separate functions. GRUB_ERR_BUG is set for grub_error in
       cases of unexpected input variables for scale functions.
       * docs/grub.texi: Updated documentation for new options.
2013-10-02 18:17:33 +04:00
Jon McCune
0340bdbc22 * grub-core/commands/loadenv.c: Support skipping signature check
and variable names filtering.
2013-09-27 02:08:32 +02:00
Vladimir 'phcoder' Serbinenko
bab7b1ebeb * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
Migrate all explicit defines to this new one.
2013-09-24 19:17:24 +02:00
Vladimir 'phcoder' Serbinenko
43b1c99d53 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
grub_util_fd_strerror when using grub_util_fd_*.
	(grub_util_fd_open_device): Likewise.
	(grub_util_biosdisk_read): Likewise.
	(grub_util_biosdisk_write): Likewise.
	* grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
	(grub_util_fd_strerror): Likewise.
	(grub_util_fd_sync): Likewise.
	(grub_util_fd_close): Likewise.
	* grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
	(grub_util_fd_close): Likewise.
	(grub_util_fd_strerror): Likewise.
	* include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
	function proto rather than macro.
	(grub_util_fd_sync): Likewise.
	(grub_util_fd_open): Likewise.
	(grub_util_fd_strerror): New proto.
2013-09-24 19:08:34 +02:00
Vladimir 'phcoder' Serbinenko
bca8873a0c * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
2013-09-23 12:06:00 +02:00
Vladimir 'phcoder' Serbinenko
a47a78be88 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
for cheat_fd.
	* grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
	functions.
	(grub_cryptodisk_cheat_insert): Likewise.
	(grub_cryptodisk_close): Likewise.
2013-09-23 11:58:19 +02:00
Vladimir 'phcoder' Serbinenko
e85a5d5ca6 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
Use windows path for DEFAULT_DIRECTORY.
2013-09-23 11:24:10 +02:00
Vladimir 'phcoder' Serbinenko
dad9fa6bcf * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
difference was likely just gcc version, not anything mingw-related.
2013-09-23 11:22:40 +02:00
Vladimir 'phcoder' Serbinenko
7e518ca84f Use Winapi on both cygwin and mingw32 to share more code between both. 2013-09-23 11:21:09 +02:00
Vladimir 'phcoder' Serbinenko
3ff4063dd3 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
files rather than one file with loads of #if's.
	* util/getroot.c: Likewise.
2013-09-22 07:36:17 +02:00
Vladimir 'phcoder' Serbinenko
63653cfdae * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
* grub-core/disk/lvm.c: Add LVM UUIDs.
	* util/getroot.c: Use LVM UUIDs whenever possible.
2013-09-20 20:37:03 +02:00
Vladimir 'phcoder' Serbinenko
90379808b6 * util/lvm.c: Remove since unused. Remove remaining references. 2013-09-19 09:05:56 +02:00
Vladimir 'phcoder' Serbinenko
7b780018f5 Handle grub-pe2elf and grub-mkfont for cases when build != host.
* Makefile.am (build-grub-mkfont): Don't include gnulib.
	(build-grub-gen-asciih): Likewise.
	(build-grub-gen-widthspec): Likewise.
	* Makefile.util.def (grub-pe2elf): Remove.
	* config.h.in [GRUB_BUILD]: Use build rather than host constants.
	* configure.ac: Separate tests for build.
	Move ./build-grub-pe2elf to grub-core.
	Fix typo.
	* grub-core/Makefile.am (build-grub-pe2elf): New target.
	* grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
	defined.
	* include/grub/types.h [GRUB_BUILD]: Use build rather than host
	constants.
	* util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
	* util/grub-pe2elf.c: Simplify not to rely on getopt.
	* util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
2013-08-22 17:00:59 +02:00
Vladimir 'phcoder' Serbinenko
984cfd8a79 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
mingw32 as well based on grub_util_get_disk_size.
	* util/misc.c (grub_util_get_disk_size): Removed. all users switched to
	grub_util_get_fd_size.
	(sync): Removed.
	(fsync): Moved to ...
	* grub-core/kern/emu/misc.c (fsync): ... here.
2013-08-22 16:50:12 +02:00
Vladimir 'phcoder' Serbinenko
f82d79c984 * include/grub/mm.h (grub_extend_alloc): Remove.
* grub-core/loader/i386/pc/plan9.c: Use own version of
	grub_extend_alloc with appropriate types.
2013-08-22 16:44:20 +02:00
Vladimir 'phcoder' Serbinenko
bdb5ba47d8 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
* grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
2013-08-22 16:20:32 +02:00
Vladimir 'phcoder' Serbinenko
8ed358e0ee * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
and gcry_log_bug.
	* grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
2013-08-22 16:03:47 +02:00
Vladimir 'phcoder' Serbinenko
b828fb5d9c * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
length.
2013-08-14 11:10:09 +02:00
Vladimir Testov
b47434612c * docs/grub.texi: Introduce terminal window position options:
terminal-left: terminal window's left position
        terminal-top: terminal window's top position
        terminal-width: terminal window's width
        terminal-height: terminal window's height
        * grub-core/gfxmenu/theme-loader.c: Likewise.
        * include/grub/gfxmenu_view.h: Likewise.
        * po/exlude.pot: Likewise.
        * grub-core/gfxmenu/view.c: Likewise.
        Also updated minimal window size.
        Also terminal_sanity_check function has been introduced.
2013-08-08 12:55:24 +04:00
Vladimir 'phcoder' Serbinenko
fa471bfaaf * include/grub/video.h (grub_video_register): Keep double-linked as
well as single-linked invariants.
	Reported by: qwertial.
2013-07-25 16:58:26 +02:00
Vladimir 'phcoder' Serbinenko
ae27e4d323 Merge mainline into arm 2013-07-16 18:43:43 +02:00
Massimo Maggi
038016f48a * grub-core/fs/zfs/zfs_lz4.c: New file.
* grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
2013-07-14 14:12:58 +02:00
Massimo Maggi
776bdce291 * grub-core/fs/zfs/zfs.c: Check for feature compatibility. 2013-07-14 14:10:42 +02:00
Massimo Maggi
c71dbd40a9 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
(check_pool_label): Likewise.
	* include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
2013-07-14 14:01:27 +02:00
Vladimir 'phcoder' Serbinenko
5027af38cf Support for cbfs. Also factor out the part which is common
for all archives to a separate module. This splits tar from cpio
	as they are very different but keeps cpio, cpio_be, odc and newc
	together since they're very similar.
2013-06-16 00:06:13 +02:00
Vladimir 'phcoder' Serbinenko
3d84cb1793 Move flavour-specific parts out of common cpio.c file and
rename remaining to cpio_common.c
2013-06-14 20:44:59 +02:00
Andrey Borzenkov
593e430cd6 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
off new function grub_script_execute_new_scope. Change callers to use
	either of them as appropriate.
	* grub-core/commands/eval.c: New command eval.
	* docs/grub.texi (Commands): Document it.
2013-06-07 18:36:42 +02:00
Vladimir 'phcoder' Serbinenko
fc4c4fddf6 Detach optional parts of gfxterm and integrate in with coreboot init. 2013-05-31 00:42:33 +02:00
Vladimir 'phcoder' Serbinenko
6570b2050e Move blit and fill dispatcher to appropriate files to decrease export
and relocation overhead.
2013-05-30 22:06:28 +02:00
Vladimir 'phcoder' Serbinenko
b8323067e8 * grub-core/font/font.c, include/grub/font.h: Inline simple font
functions.
2013-05-30 21:58:24 +02:00
Francesco Lavra
c6a8472baf Own fdt parsing implementation 2013-05-17 13:45:22 +02:00
Vladimir 'phcoder' Serbinenko
cdce14fad4 Progressively skip menu elements on small terminals rather
than crashing.
2013-05-14 08:57:18 +02:00
Paulo Flabiano Smorigo
a9c0b699c0 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
present.
	* include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2013-05-11 11:25:29 +02:00
Vladimir 'phcoder' Serbinenko
1a53e1dd5c Add missing setjmp.h 2013-05-11 10:43:22 +02:00
Leif Lindholm
854f383c28 Move common function to dl_helper.c 2013-05-11 10:42:11 +02:00
Vladimir 'phcoder' Serbinenko
8e71d87482 merge mainline into arm 2013-05-11 10:24:24 +02:00
Vladimir 'phcoder' Serbinenko
0f7e980b29 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
for vasprintf presence.
2013-05-10 20:57:32 +02:00
Vladimir 'phcoder' Serbinenko
0e7b2e3217 New test: cmdline and cat. 2013-05-08 11:49:25 +02:00
Vladimir 'phcoder' Serbinenko
16f7c8f6d3 * grub-core/commands/cat.c: Show UTF-8 characters. 2013-05-08 11:09:08 +02:00
Vladimir 'phcoder' Serbinenko
8098f65556 Compressed HFS+ support. 2013-05-07 15:46:17 +02:00
Vladimir 'phcoder' Serbinenko
c5dbc13d28 Menu color test. 2013-05-07 14:38:29 +02:00
Vladimir 'phcoder' Serbinenko
1eed0e6ebc * tests/priority_queue_unit_test.cc: New test. 2013-05-07 11:30:48 +02:00
Bean
fa2923436b * grub-core/commands/testspeed.c: New command testspeed. 2013-05-05 18:16:48 +02:00
Vladimir 'phcoder' Serbinenko
310d42144b Factor-out human-size printing. 2013-05-05 11:31:53 +02:00
Vladimir 'phcoder' Serbinenko
85002bf34a Agglomerate more mallocs to speed-up gfxterm. 2013-05-04 22:23:23 +02:00
Vladimir 'phcoder' Serbinenko
22b06e9685 Speed-up gfxterm by slightly agglomerating mallocs. 2013-05-04 15:07:13 +02:00
Vladimir 'phcoder' Serbinenko
b7c036bce3 More video checks. 2013-05-04 14:00:14 +02:00
Vladimir 'phcoder' Serbinenko
92323d1fb0 Speed-up gfxterm by saving intermediate results in index+alpha
format.
2013-05-04 13:58:30 +02:00
Leif Lindholm
b385e0723b Leif's API fixes 2013-05-03 15:07:39 +02:00
Leif Lindholm
bb9f92b9b1 Leif's build fixes 2013-05-03 14:41:08 +02:00
Vladimir 'phcoder' Serbinenko
c104b6f93e New series of tests for gfxterm and gfxmenu. 2013-05-03 14:09:55 +02:00
Vladimir 'phcoder' Serbinenko
7c332bdc98 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
descriptor.
2013-05-03 14:05:57 +02:00
Vladimir 'phcoder' Serbinenko
a8905e8ae8 Several fixes to ieee1275 and big-endian video. 2013-05-02 22:30:20 +02:00
Vladimir 'phcoder' Serbinenko
813c16222f Add missing exports on mips. 2013-05-02 18:10:11 +02:00
Vladimir 'phcoder' Serbinenko
5036166022 First automated video test (running videotest and comparing results) 2013-05-02 14:39:03 +02:00
Vladimir 'phcoder' Serbinenko
583e5b645c * include/grub/arc/arc.h: Account for missing "other" peripheral on
ARCS. All users updated.
2013-04-30 17:40:31 +02:00
Vladimir 'phcoder' Serbinenko
96f33fed86 Make PCI init in i386-qemu port more robust. 2013-04-29 15:09:39 +02:00
Vladimir Testov
dc5a311a1e * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
cached view is reused.
	* grub-core/gfxmenu/view.c: Call the refresh procedure for all
	open boot menus.
2013-04-29 13:40:11 +02:00
Vladimir 'phcoder' Serbinenko
e2f27a8c53 Enforce disabling of firmware disk drivers when native drivers kick in. 2013-04-29 12:16:46 +02:00
Vladimir 'phcoder' Serbinenko
e9e46c9a0c * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
dereference.
	Reported by: qwertial.
2013-04-29 12:00:31 +02:00
Vladimir 'phcoder' Serbinenko
7cd0df84f1 New command `nativedisk'. 2013-04-28 15:31:33 +02:00
Vladimir 'phcoder' Serbinenko
bd69257a77 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
grub_get_unaligned16 rather than shifts.
2013-04-28 15:15:57 +02:00
Paulo Flabiano Smorigo
b2d7470c15 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned. 2013-04-27 23:06:52 +02:00
Vladimir 'phcoder' Serbinenko
a6393224c4 Make 'make check' work on emu. 2013-04-27 02:00:16 +02:00
Vladimir 'phcoder' Serbinenko
db99fbe83f Replace libcurses with our own vt100 handling for the ease of testing
and decreasing prerequisites.
2013-04-27 00:02:23 +02:00
Vladimir 'phcoder' Serbinenko
7f63a64fa0 Enable mipsel-arc. 2013-04-25 22:42:35 +02:00
Vladimir 'phcoder' Serbinenko
b04b5990df Add serial on ARC platform. 2013-04-25 22:40:03 +02:00
Vladimir 'phcoder' Serbinenko
d1989e2e1d * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
it's serial.
2013-04-24 18:39:00 +02:00
Vladimir 'phcoder' Serbinenko
45fbd9a23f Add missing video ids to coreboot and ieee1275 video. 2013-04-24 14:44:15 +02:00
Vladimir 'phcoder' Serbinenko
8528c879e3 Move mips-arc link address. Previous link address was chosen
in belief that RAM on SGI platforms grows down while in fact it
	grows up from an unusual base.
2013-04-24 13:54:17 +02:00
Vladimir 'phcoder' Serbinenko
d178788e71 Support coreboot framebuffer.
* grub-core/video/i386/coreboot/cbfb.c: New file.
2013-04-21 13:02:10 +02:00
Vladimir 'phcoder' Serbinenko
90ec4b7f6c * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
	* grub-core/loader/powerpc/ieee1275/linux.c
	(grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2013-04-19 15:27:09 +02:00
Vladimir 'phcoder' Serbinenko
aeace7f71c * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
	* grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
	(grub_linux_load64): Mask out 2 high bits.
2013-04-19 15:05:11 +02:00
Vladimir 'phcoder' Serbinenko
aa1af9bbda Allow IEEE1275 ports on path even if it wasn't detected automatically.
Needed on OpenBIOS due to incomplete device tree.
2013-04-14 17:01:31 +02:00
Vladimir 'phcoder' Serbinenko
67ab83538f Better support Apple Intel Macs on CD. 2013-04-13 00:38:04 +02:00
Vladimir 'phcoder' Serbinenko
bbdd6305db Handle Japanese special keys.
Reported by: Hiroyuki YAMAMORI.
	Codes supplied by: Hiroyuki YAMAMORI.
2013-04-12 22:26:38 +02:00
Aleš Nesrsta
51a4c3e3b0 Fix handling of split transfers. 2013-04-12 20:42:46 +02:00
Vladimir 'phcoder' Serbinenko
c86c39abef Add uboot net 2013-04-12 16:55:38 +02:00
Vladimir 'phcoder' Serbinenko
66eae7974d Amall cleanup in api_public.h 2013-04-12 16:54:28 +02:00
Vladimir 'phcoder' Serbinenko
28af3d867c Relocations cleanup 2013-04-12 16:53:58 +02:00
Vladimir 'phcoder' Serbinenko
b2e2e9b07d Add missing arm function 2013-04-12 16:47:15 +02:00
Vladimir 'phcoder' Serbinenko
bc1cf01cf2 Add uboot header ourselves 2013-04-12 16:46:51 +02:00
Vladimir 'phcoder' Serbinenko
a79b8a1584 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
feature for it.
2013-04-11 23:15:26 +02:00
Vladimir 'phcoder' Serbinenko
053cfcddf1 Import new gnulib. 2013-04-11 21:12:46 +02:00
Vladimir 'phcoder' Serbinenko
d5e2a158e1 Fix ia64-efi image generation on big-endian machines. Deduplicate
some code while on it.
	Reported by: Leif Lindholm.
2013-04-09 19:19:19 +02:00
Vladimir 'phcoder' Serbinenko
47043f959f * grub-core/normal/term.c: Few more fixes for menu entry editor
rendering.
	Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2013-04-08 14:35:26 +02:00
Leif Lindholm
389b31cd71 Initial import of Leif's work 2013-04-07 02:41:07 +02:00
Vladimir 'phcoder' Serbinenko
ce7d92a9f2 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE. 2013-04-05 10:56:43 +02:00
Vladimir 'phcoder' Serbinenko
98b23b9519 * include/grub/bsdlabel.h: Use enums. 2013-04-05 10:33:53 +02:00
Vladimir 'phcoder' Serbinenko
0467a5ddf0 Move GRUB_CHAR_BIT to types.h. 2013-04-05 10:31:12 +02:00
Vladimir 'phcoder' Serbinenko
1a78d573c7 * grub-core/commands/verify.c: Save verified file to avoid it being
tampered with after verification was done.
2013-04-03 17:32:33 +02:00
Francesco Lavra
31df9ad845 * include/grub/elf.h: Add missing ARM relocation codes and fix
existing ones.
2013-04-03 11:23:22 +02:00
Vladimir Testov
c3578acfbb * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
into account when calculating radius.
2013-04-03 09:20:29 +02:00
Colin Watson
33028f4c0b * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
skipping Event, Device, Processor, PowerRes, ThermalZone, and
	  BankField extended opcodes.
	  (get_sleep_type): Add minimal scope handling (just enough to
	  handle setting the scope to the root path).
	  (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
	* include/grub/acpi.h: Add enumeration values for Event, Device,
	  Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2013-03-26 11:29:52 +01:00
Vladimir 'phcoder' Serbinenko
6a7fb94bfb Replace the region at 0 from coreboot tables to available in BSD
memory map.
2013-03-25 10:23:04 +01:00
Vladimir 'phcoder' Serbinenko
ce50dbd746 Add new 'proc' filesystem framework and put luks_script into it. 2013-03-24 13:05:59 +01:00
Vladimir 'phcoder' Serbinenko
92750e4c60 Add ability to generate newc additions on runtime. 2013-03-22 21:01:28 +01:00
Vladimir 'phcoder' Serbinenko
cc19857a2a New commands cbmemc, lscoreboot, coreboot_boottime to inspect
coreboot tables content. Support for cbmemc.
2013-03-20 17:13:31 +01:00
Vladimir 'phcoder' Serbinenko
ef8810e9f3 Fix a conflict between ports structures with 2 controllers of
same kind.
2013-03-20 17:07:08 +01:00
Vladimir 'phcoder' Serbinenko
e9dabdfad8 * include/grub/boottime.h: Add missing file. 2013-03-20 16:58:07 +01:00
Vladimir 'phcoder' Serbinenko
f6df57d216 Initialize USB ports in parallel to speed-up boot. 2013-03-19 23:06:44 +01:00
Vladimir 'phcoder' Serbinenko
d745dda77e Fix USB devices not being detected when requested
due to delayed attach.
2013-03-19 20:35:21 +01:00
Vladimir 'phcoder' Serbinenko
e744219bb6 Implement boot time analysis framework. 2013-03-19 20:25:09 +01:00
Vladimir 'phcoder' Serbinenko
e5a2dd7b55 remove get_endpoint_descriptor and change all functions needing
descriptor to just receive it as argument rather than endpoint
	address.
2013-03-19 11:19:36 +01:00
Vladimir 'phcoder' Serbinenko
5dd6f58789 Better estimate the maximum USB transfer size. 2013-03-19 08:17:51 +01:00
Vladimir 'phcoder' Serbinenko
2f1071d57e Resend a packet if we got the wrong buffer in status. 2013-03-17 13:33:16 +01:00
Vladimir 'phcoder' Serbinenko
84cfe81b1d * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
computation for some years before epoch. Avode confusing division
	while on it.
2013-03-10 19:19:21 +01:00
Vladimir 'phcoder' Serbinenko
3f2b4d1a81 Adjust types in gdb module to have intended unsigned shifts rather than
signed divisions.
2013-03-10 18:36:39 +01:00
Vladimir 'phcoder' Serbinenko
5341c0fbfc Avoid costly 64-bit division in grub_get_time_ms on most platforms. 2013-03-10 17:45:38 +01:00
Vladimir 'phcoder' Serbinenko
fc3ff2a2ad * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
function.
2013-03-10 14:27:04 +01:00
Vladimir 'phcoder' Serbinenko
774683685f Lift up core size limits on some platforms. Fix potential memory
corruption with big core on small memory systems. Document remaining
	limits.
2013-03-07 08:17:24 +01:00
Vladimir 'phcoder' Serbinenko
19ce697dfd Remove all trampoline support. Add -Wtrampolines when
present. Remove symbols used for trampolines to make
	link fail if trampolines are present.
2013-03-03 15:57:30 +01:00
Vladimir 'phcoder' Serbinenko
3188131f72 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
all vars to a macro. All users updated.
2013-03-03 01:34:27 +01:00
Vladimir 'phcoder' Serbinenko
83e1a1a137 * include/grub/cmos.h: Handle high CMOS addresses on sparc64. 2013-03-02 23:59:05 +01:00
Vladimir 'phcoder' Serbinenko
1d5a880fe4 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses. 2013-03-02 23:57:34 +01:00
Vladimir 'phcoder' Serbinenko
6e4146c41e Move to more hookless approach in IEEE1275 devices handling. 2013-03-02 23:51:19 +01:00
Vladimir 'phcoder' Serbinenko
73bf57e2c8 Make elfload not use hooks. Opt for flags and iterators instead. 2013-03-02 16:45:57 +01:00
Vladimir 'phcoder' Serbinenko
7f8c105f61 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
* grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
2013-03-02 15:31:17 +01:00
Vladimir 'phcoder' Serbinenko
19e29ee1a9 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
hook pass-through parameter. All users updated and unnested.
2013-03-02 11:47:59 +01:00
Vladimir 'phcoder' Serbinenko
5d983f5fc2 * grub-core/gentrigtables.c: Make tables const. 2013-03-01 11:15:09 +01:00
Vladimir 'phcoder' Serbinenko
3056d3e752 Remove nested functions from videoinfo iterators. 2013-03-01 11:11:36 +01:00
Vladimir 'phcoder' Serbinenko
005a9c32df * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
Fix end of table condition.
2013-02-28 13:16:39 +01:00
Colin Watson
4eb8b75659 Remove nested functions from disk and file read hooks.
* include/grub/disk.h (grub_disk_read_hook_t): New type.
	(struct grub_disk): Add read_hook_data member.
	* include/grub/file.h (struct grub_file): Likewise.
	* include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
	argument.

	Update all callers.
2013-02-27 17:19:15 +01:00
Andrey Borzenkov
b7b78edb1c * Makefile.util.def: Add partmap/msdos.c to common library.
* include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
	* grub-core/disk/ldm.c: Check for existence of
	GRUB_PC_PARTITION_TYPE_LDM.
2013-02-25 22:11:06 +01:00
Vladimir 'phcoder' Serbinenko
d55ffb0249 Implement new command cmosdump. 2013-02-24 19:44:17 +01:00
Vladimir 'phcoder' Serbinenko
b5ea6ce03a Support Openfirmware disks with non-512B sectors.
* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
	size of the disk.
	* (grub_ofdisk_get_block_size): New function.
	* (grub_ofdisk_prepare): Use the correct block size.
	* (grub_ofdisk_read): Likewise.
	* (grub_ofdisk_write): Likewise.
	* include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
	New proto.
2013-02-19 09:10:26 +01:00
Vladimir 'phcoder' Serbinenko
66a93674b2 Implement USBDebug (full USB stack variant). 2013-02-01 21:49:29 +01:00
Vladimir 'phcoder' Serbinenko
0d5b9c9031 Missing part of last commit 2013-02-01 21:48:01 +01:00
C. Masloch
08bcec5020 Improve FreeDOS direct loading support compatibility.
* include/grub/i386/relocator.h (grub_relocator16_state):
	New member ebp.
	* grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
	variable.
	(grub_relocator16_boot): Handle %ebp.
	* grub-core/lib/i386/relocator16.S: Likewise.
	* grub-core/loader/i386/pc/freedos.c:
	Load BPB to pass kernel which partition to load from.
	Check that kernel file is not too large.
	Set register dl to BIOS unit number as well.
2013-01-27 16:07:25 +01:00
Vladimir 'phcoder' Serbinenko
1c22ca9a69 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
invariants.
2013-01-21 22:44:20 +01:00
Colin Watson
5fdbaed168 Remove nested functions from USB iterators.
* include/grub/usb.h (grub_usb_iterate_hook_t): New type.
(grub_usb_controller_iterate_hook_t): Likewise.
(grub_usb_iterate): Add hook_data argument.
(grub_usb_controller_iterate): Likewise.
(struct grub_usb_controller_dev.iterate): Likewise.

Update all implementations and callers.
2013-01-21 21:02:24 +00:00
Vladimir 'phcoder' Serbinenko
bc1369732f Make color variables global instead of it being per-terminal. 2013-01-21 17:53:41 +01:00
Colin Watson
fc524edf65 Remove nested functions from filesystem directory iterators.
* include/grub/fs.h (grub_fs_dir_hook_t): New type.
(struct grub_fs.dir): Add hook_data argument.

Update all implementations and callers.
2013-01-21 01:33:46 +00:00
Leif Lindholm
77529e0fe2 * include/grub/elf.h: Update ARM definitions based on binutils. 2013-01-20 23:01:47 +01:00
Vladimir 'phcoder' Serbinenko
b879aa7b47 Split long USB transfers into short ones. 2013-01-20 22:45:53 +01:00