1. 27 Feb, 2015 1 commit
  2. 19 Dec, 2013 1 commit
  3. 17 Dec, 2013 2 commits
    • Jon McCune's avatar
      Fix double-free introduced by commit 33d02a42 · 24d5934d
      Jon McCune authored
      To reproduce the problem, make sure you have a GPG public key available, build and install GRUB:
      grub-install --debug --debug-image="all" --pubkey=/boot/pubkey.gpg --modules="serial terminfo gzio search search_label search_fs_uuid search_fs_file linux vbe video_fb video mmap relocator verify gcry_rsa gcry_dsa gcry_sha256 hashsum gcry_sha1 mpi echo loadenv boottime" /dev/sda
      Sign all the files in /boot/grub/* and reboot.
      
      'make check' results identical before and after this change.
      
      TESTED: In a QEMU VM using an i386 target.
      24d5934d
    • Vladimir Serbinenko's avatar
      Implement Truecrypt ISO loader. · 30861754
      Vladimir Serbinenko authored
      30861754
  4. 07 Nov, 2013 1 commit
    • Vladimir Serbinenko's avatar
      Remove vestiges of -Wunsafe-loop-optimisations. · ec0ebb3f
      Vladimir Serbinenko authored
      	* conf/Makefile.common (CFLAGS_GNULIB): Remove
      	-Wno-unsafe-loop-optimisations.
      	* grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
      	pragma.
      	* grub-core/io/gzio.c: Likewise.
      	* grub-core/script/parser.y: Likewise.
      	* grub-core/script/yylex.l: Likewise.
      	* util/grub-mkfont.c: Likewise.
      ec0ebb3f
  5. 30 Oct, 2013 1 commit
  6. 25 Oct, 2013 1 commit
  7. 12 Jan, 2013 1 commit
  8. 07 Jan, 2013 1 commit
  9. 06 Mar, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      * grub-core/commands/acpi.c: Add TRANSLATORS comments. · bb51c6c6
      Vladimir 'phcoder' Serbinenko authored
      	* grub-core/commands/gptsync.c: Likewise.
      	* grub-core/commands/hashsum.c: Likewise.
      	* grub-core/commands/i386/pc/sendkey.c: Likewise.
      	* grub-core/commands/legacycfg.c: Likewise.
      	* grub-core/io/gzio.c: Likewise.
      	* grub-core/net/net.c: Likewise.
      	* grub-core/term/gfxterm.c: Likewise.
      	* grub-core/term/terminfo.c: Likewise.
      	* grub-core/tests/test_blockarg.c: Likewise.
      	* grub-core/video/video.c: Likewise.
      	* util/grub-install.in: Likewise.
      	* util/grub-mkfont.c: Likewise.
      bb51c6c6
  10. 24 Feb, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      * conf/Makefile.common (CFLAGS_GNULIB): Add · 4e27343f
      Vladimir 'phcoder' Serbinenko authored
      	-Wno-unsafe-loop-optimizations.
      	* configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
      	on tools.
      	* grub-core/commands/legacycfg.c: Add pragma to skip
      	-Wunsafe-loop-optimizations.
      	(check_password_md5_real): Fix loop counter type.
      	* grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
      	reading.
      	* grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
      	* grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
      	loop condition.
      	* grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
      	* grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
      	* grub-core/net/net.c (grub_net_route_address): Add safety loop
      	condition.
      	* grub-core/normal/charset.c (bidi_line_wrap): Likewise.
      	* grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
      	avoid possible infinite loops.
      	* grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
      	and -Wunsafe-loop-optimizations.
      	* grub-core/script/yylex.l: Likewise.
      	* util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
      	(print_glyphs): Avoid infinite loops.
      	* util/grub-mkimage.c (compress_kernel_xz): Fix format security.
      4e27343f
  11. 12 Feb, 2012 1 commit
  12. 08 Feb, 2012 1 commit
  13. 26 Dec, 2011 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Various squash4 fixes and LZO and XZ support. · c029da8a
      Vladimir 'phcoder' Serbinenko authored
      	* Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
      	Add xzembed source files.
      	* grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
      	* grub-core/fs/squash4.c (grub_squash_super): New field compression.
      	(grub_squash_inode): New subtype long_dir.
      	(SQUASH_TYPE_LONG_DIR): New inode type.
      	(COMPRESSION): New enum.
      	(XZBUFSIZ): New const.
      	(grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
      	(read_chunk): Use data->decompress.
      	(zlib_decompress): New function.
      	(lzo_decompress): Likewise.
      	(xz_decompress): Likewise.
      	(squash_mount): Set new data fields.
      	(grub_squash_iterate_dir): Handle long dir.
      	(squash_unmount): Free xzdec and xzbuf.
      	(grub_squash_open): Check ino type.
      	(direct_read): Stylistic fixes. Use data->decompress.
      	(grub_squash_read_data): Likewise.
      	* grub-core/io/gzio.c (grub_gzio): Remove disk_input.
      	(get_byte): Likewise.
      	(grub_zlib_disk_read): Removed.
      	* grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
      	(GRUB_POSIX_BOOL_DEFINED): New define.
      	* grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
      	* grub-core/lib/xzembed/xz.h: Addmissing includes.
      	[!GRUB_POSIX_BOOL_DEFINED]: Define bool.
      	* include/grub/deflate.h (grub_zlib_disk_read): Removed.
      c029da8a
  14. 20 Aug, 2011 1 commit
  15. 12 Apr, 2011 1 commit
  16. 08 Feb, 2011 1 commit
  17. 27 Dec, 2010 1 commit
  18. 10 Dec, 2010 1 commit
  19. 04 Dec, 2010 1 commit
  20. 05 Sep, 2010 2 commits
    • Vladimir 'phcoder' Serbinenko's avatar
      * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with · 3579415d
      Vladimir 'phcoder' Serbinenko authored
      	GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
      3579415d
    • Vladimir 'phcoder' Serbinenko's avatar
      * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter. · fc2ef117
      Vladimir 'phcoder' Serbinenko authored
      	Made static.
      	(grub_gzfile_open): Removed. All users updated.
      	(GRUB_MOD_INIT): New function.
      	(GRUB_MOD_FINI): Likewise.
      	* grub-core/kern/file.c (grub_file_filters_all): New variable.
      	(grub_file_filters_enabled): Likewise.
      	(grub_file_open): Handle filters.
      	* grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
      	* grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
      	* include/grub/file.h (grub_file_filter_id_t): New type.
      	(grub_file_filter_t): Likewise.
      	(grub_file_filters_all): New extern variable.
      	(grub_file_filters_enabled): Likewise.
      	(grub_file_filter_register): New inline function.
      	(grub_file_filter_unregister): Likewise.
      	(grub_file_filter_disable): Likewise.
      	(grub_file_filter_disable_compression): Likewise.
      	* include/grub/gzio.h: Removed.
      fc2ef117
  21. 04 Sep, 2010 1 commit
    • Szymon Janc's avatar
      * include/grub/file.h (grub_file): New member not_easly_seekable. · 3759a35f
      Szymon Janc authored
      	(grub_file_seekable): New inline function.
      	* grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
      	easily seekable.
      	(grub_gzio_open): Set not_easly_seekable.
      	* grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
      	* grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
      3759a35f
  22. 06 May, 2010 1 commit
  23. 14 Feb, 2010 1 commit
  24. 04 Jan, 2010 1 commit
    • Robert Millan's avatar
      2010-01-03 Robert Millan <rmh.grub@aybabtu.com> · 58bc8bd5
      Robert Millan authored
      	
      	* boot/i386/pc/boot.S: Update copyright year.
      	* boot/i386/pc/cdboot.S: Likewise.
      	* boot/i386/pc/diskboot.S: Likewise.
      	* boot/i386/pc/lnxboot.S: Likewise.
      	* boot/i386/pc/pxeboot.S: Likewise.
      	* bus/pci.c: Likewise.
      	* commands/cmp.c: Likewise.
      	* commands/help.c: Likewise.
      	* commands/hexdump.c: Likewise.
      	* commands/i386/pc/halt.c: Likewise.
      	* commands/i386/pc/play.c: Likewise.
      	* commands/i386/pc/vbeinfo.c: Likewise.
      	* commands/ls.c: Likewise.
      	* commands/test.c: Likewise.
      	* disk/dmraid_nvidia.c: Likewise.
      	* disk/i386/pc/biosdisk.c: Likewise.
      	* disk/ieee1275/nand.c: Likewise.
      	* disk/ieee1275/ofdisk.c: Likewise.
      	* disk/lvm.c: Likewise.
      	* disk/raid.c: Likewise.
      	* disk/raid6_recover.c: Likewise.
      	* disk/scsi.c: Likewise.
      	* fs/affs.c: Likewise.
      	* fs/cpio.c: Likewise.
      	* fs/ext2.c: Likewise.
      	* fs/hfs.c: Likewise.
      	* fs/iso9660.c: Likewise.
      	* fs/ntfs.c: Likewise.
      	* fs/sfs.c: Likewise.
      	* fs/udf.c: Likewise.
      	* fs/ufs.c: Likewise.
      	* fs/xfs.c: Likewise.
      	* gencmdlist.sh: Likewise.
      	* genmk.rb: Likewise.
      	* include/grub/disk.h: Likewise.
      	* include/grub/efi/api.h: Likewise.
      	* include/grub/efi/efi.h: Likewise.
      	* include/grub/efi/pe32.h: Likewise.
      	* include/grub/elf.h: Likewise.
      	* include/grub/fs.h: Likewise.
      	* include/grub/i386/at_keyboard.h: Likewise.
      	* include/grub/i386/pc/memory.h: Likewise.
      	* include/grub/i386/pc/vbe.h: Likewise.
      	* include/grub/i386/pci.h: Likewise.
      	* include/grub/i386/tsc.h: Likewise.
      	* include/grub/ieee1275/ieee1275.h: Likewise.
      	* include/grub/ntfs.h: Likewise.
      	* include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
      	* include/grub/sparc64/libgcc.h: Likewise.
      	* include/grub/symbol.h: Likewise.
      	* include/grub/types.h: Likewise.
      	* include/multiboot2.h: Likewise.
      	* io/gzio.c: Likewise.
      	* kern/device.c: Likewise.
      	* kern/disk.c: Likewise.
      	* kern/efi/efi.c: Likewise.
      	* kern/efi/mm.c: Likewise.
      	* kern/elf.c: Likewise.
      	* kern/file.c: Likewise.
      	* kern/i386/dl.c: Likewise.
      	* kern/i386/pc/init.c: Likewise.
      	* kern/i386/pc/startup.S: Likewise.
      	* kern/ieee1275/ieee1275.c: Likewise.
      	* kern/ieee1275/init.c: Likewise.
      	* kern/main.c: Likewise.
      	* kern/mm.c: Likewise.
      	* kern/powerpc/dl.c: Likewise.
      	* kern/sparc64/dl.c: Likewise.
      	* kern/x86_64/dl.c: Likewise.
      	* lib/hexdump.c: Likewise.
      	* loader/efi/appleloader.c: Likewise.
      	* loader/i386/ieee1275/linux.c: Likewise.
      	* loader/i386/pc/chainloader.c: Likewise.
      	* loader/i386/pc/linux.c: Likewise.
      	* loader/i386/pc/multiboot2.c: Likewise.
      	* loader/ieee1275/multiboot2.c: Likewise.
      	* loader/multiboot2.c: Likewise.
      	* loader/multiboot_loader.c: Likewise.
      	* loader/powerpc/ieee1275/linux.c: Likewise.
      	* normal/completion.c: Likewise.
      	* normal/menu_entry.c: Likewise.
      	* partmap/apple.c: Likewise.
      	* util/grub.d/10_hurd.in: Likewise.
      	* util/hostfs.c: Likewise.
      	* video/readers/png.c: Likewise.
      	
      58bc8bd5
  25. 11 Jun, 2009 3 commits
  26. 30 Dec, 2007 1 commit
  27. 22 Jul, 2007 1 commit
    • okuji's avatar
      2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> · 5a79f472
      okuji authored
          Migrate to GNU General Public License Version 3.
      
          * COPYING: Replaced with the plain text version of GPLv3.
      
          * config.guess: Updated from gnulib.
          * config.sub: Likewise.
      
          * geninit.sh: Output a GPLv3 copyright notice.
          * geninitheader.sh: Likewise.
          * genmodsrc.sh: Likewise.
          * gensymlist.sh.in: Likewise.
      
          * boot/i386/pc/boot.S: Upgraded to GPLv3.
          * boot/i386/pc/diskboot.S: Likewise.
          * boot/i386/pc/pxeboot.S: Likewise.
          * commands/blocklist.c: Likewise.
          * commands/boot.c: Likewise.
          * commands/cat.c: Likewise.
          * commands/cmp.c: Likewise.
          * commands/configfile.c: Likewise.
          * commands/echo.c: Likewise.
          * commands/help.c: Likewise.
          * commands/ls.c: Likewise.
          * commands/search.c: Likewise.
          * commands/terminal.c: Likewise.
          * commands/test.c: Likewise.
          * commands/videotest.c: Likewise.
          * commands/i386/cpuid.c: Likewise.
          * commands/i386/pc/halt.c: Likewise.
          * commands/i386/pc/play.c: Likewise.
          * commands/i386/pc/reboot.c: Likewise.
          * commands/i386/pc/vbeinfo.c: Likewise.
          * commands/i386/pc/vbetest.c: Likewise.
          * commands/ieee1275/halt.c: Likewise.
          * commands/ieee1275/reboot.c: Likewise.
          * commands/ieee1275/suspend.c: Likewise.
          * disk/loopback.c: Likewise.
          * disk/lvm.c: Likewise.
          * disk/raid.c: Likewise.
          * disk/efi/efidisk.c: Likewise.
          * disk/i386/pc/biosdisk.c: Likewise.
          * disk/ieee1275/ofdisk.c: Likewise.
          * font/manager.c: Likewise.
          * fs/affs.c: Likewise.
          * fs/ext2.c: Likewise.
          * fs/fat.c: Likewise.
          * fs/fshelp.c: Likewise.
          * fs/hfs.c: Likewise.
          * fs/hfsplus.c: Likewise.
          * fs/iso9660.c: Likewise.
          * fs/jfs.c: Likewise.
          * fs/minix.c: Likewise.
          * fs/sfs.c: Likewise.
          * fs/ufs.c: Likewise.
          * fs/xfs.c: Likewise.
          * hello/hello.c: Likewise.
          * include/grub/acorn_filecore.h: Likewise.
          * include/grub/arg.h: Likewise.
          * include/grub/bitmap.h: Likewise.
          * include/grub/boot.h: Likewise.
          * include/grub/cache.h: Likewise.
          * include/grub/device.h: Likewise.
          * include/grub/disk.h: Likewise.
          * include/grub/dl.h: Likewise.
          * include/grub/elfload.h: Likewise.
          * include/grub/env.h: Likewise.
          * include/grub/err.h: Likewise.
          * include/grub/file.h: Likewise.
          * include/grub/font.h: Likewise.
          * include/grub/fs.h: Likewise.
          * include/grub/fshelp.h: Likewise.
          * include/grub/gzio.h: Likewise.
          * include/grub/hfs.h: Likewise.
          * include/grub/kernel.h: Likewise.
          * include/grub/loader.h: Likewise.
          * include/grub/lvm.h: Likewise.
          * include/grub/misc.h: Likewise.
          * include/grub/mm.h: Likewise.
          * include/grub/net.h: Likewise.
          * include/grub/normal.h: Likewise.
          * include/grub/parser.h: Likewise.
          * include/grub/partition.h: Likewise.
          * include/grub/pc_partition.h: Likewise.
          * include/grub/raid.h: Likewise.
          * include/grub/rescue.h: Likewise.
          * include/grub/script.h: Likewise.
          * include/grub/setjmp.h: Likewise.
          * include/grub/symbol.h: Likewise.
          * include/grub/term.h: Likewise.
          * include/grub/terminfo.h: Likewise.
          * include/grub/tparm.h: Likewise.
          * include/grub/types.h: Likewise.
          * include/grub/video.h: Likewise.
          * include/grub/efi/api.h: Likewise.
          * include/grub/efi/chainloader.h: Likewise.
          * include/grub/efi/console.h: Likewise.
          * include/grub/efi/console_control.h: Likewise.
          * include/grub/efi/disk.h: Likewise.
          * include/grub/efi/efi.h: Likewise.
          * include/grub/efi/pe32.h: Likewise.
          * include/grub/efi/time.h: Likewise.
          * include/grub/i386/linux.h: Likewise.
          * include/grub/i386/setjmp.h: Likewise.
          * include/grub/i386/types.h: Likewise.
          * include/grub/i386/efi/kernel.h: Likewise.
          * include/grub/i386/efi/loader.h: Likewise.
          * include/grub/i386/efi/time.h: Likewise.
          * include/grub/i386/pc/biosdisk.h: Likewise.
          * include/grub/i386/pc/boot.h: Likewise.
          * include/grub/i386/pc/chainloader.h: Likewise.
          * include/grub/i386/pc/console.h: Likewise.
          * include/grub/i386/pc/init.h: Likewise.
          * include/grub/i386/pc/kernel.h: Likewise.
          * include/grub/i386/pc/loader.h: Likewise.
          * include/grub/i386/pc/memory.h: Likewise.
          * include/grub/i386/pc/multiboot.h: Likewise.
          * include/grub/i386/pc/serial.h: Likewise.
          * include/grub/i386/pc/time.h: Likewise.
          * include/grub/i386/pc/vbe.h: Likewise.
          * include/grub/i386/pc/vbeblit.h: Likewise.
          * include/grub/i386/pc/vbefill.h: Likewise.
          * include/grub/i386/pc/vbeutil.h: Likewise.
          * include/grub/i386/pc/vga.h: Likewise.
          * include/grub/ieee1275/ieee1275.h: Likewise.
          * include/grub/ieee1275/ofdisk.h: Likewise.
          * include/grub/powerpc/libgcc.h: Likewise.
          * include/grub/powerpc/setjmp.h: Likewise.
          * include/grub/powerpc/types.h: Likewise.
          * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
          * include/grub/powerpc/ieee1275/console.h: Likewise.
          * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
          * include/grub/powerpc/ieee1275/kernel.h: Likewise.
          * include/grub/powerpc/ieee1275/loader.h: Likewise.
          * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
          * include/grub/powerpc/ieee1275/time.h: Likewise.
          * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
          * include/grub/sparc64/libgcc.h: Likewise.
          * include/grub/sparc64/setjmp.h: Likewise.
          * include/grub/sparc64/types.h: Likewise.
          * include/grub/sparc64/ieee1275/console.h: Likewise.
          * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
          * include/grub/sparc64/ieee1275/kernel.h: Likewise.
          * include/grub/sparc64/ieee1275/time.h: Likewise.
          * include/grub/util/biosdisk.h: Likewise.
          * include/grub/util/getroot.h: Likewise.
          * include/grub/util/lvm.h: Likewise.
          * include/grub/util/misc.h: Likewise.
          * include/grub/util/raid.h: Likewise.
          * include/grub/util/resolve.h: Likewise.
          * io/gzio.c: Likewise.
          * kern/device.c: Likewise.
          * kern/disk.c: Likewise.
          * kern/dl.c: Likewise.
          * kern/elf.c: Likewise.
          * kern/env.c: Likewise.
          * kern/err.c: Likewise.
          * kern/file.c: Likewise.
          * kern/fs.c: Likewise.
          * kern/loader.c: Likewise.
          * kern/main.c: Likewise.
          * kern/misc.c: Likewise.
          * kern/mm.c: Likewise.
          * kern/parser.c: Likewise.
          * kern/partition.c: Likewise.
          * kern/rescue.c: Likewise.
          * kern/term.c: Likewise.
          * kern/efi/efi.c: Likewise.
          * kern/efi/init.c: Likewise.
          * kern/efi/mm.c: Likewise.
          * kern/i386/dl.c: Likewise.
          * kern/i386/efi/init.c: Likewise.
          * kern/i386/efi/startup.S: Likewise.
          * kern/i386/pc/init.c: Likewise.
          * kern/i386/pc/lzo1x.S: Likewise.
          * kern/i386/pc/startup.S: Likewise.
          * kern/ieee1275/ieee1275.c: Likewise.
          * kern/powerpc/cache.S: Likewise.
          * kern/powerpc/dl.c: Likewise.
          * kern/powerpc/ieee1275/cmain.c: Likewise.
          * kern/powerpc/ieee1275/crt0.S: Likewise.
          * kern/powerpc/ieee1275/init.c: Likewise.
          * kern/powerpc/ieee1275/openfw.c: Likewise.
          * kern/sparc64/cache.S: Likewise.
          * kern/sparc64/dl.c: Likewise.
          * kern/sparc64/ieee1275/init.c: Likewise.
          * kern/sparc64/ieee1275/openfw.c: Likewise.
          * loader/efi/chainloader.c: Likewise.
          * loader/efi/chainloader_normal.c: Likewise.
          * loader/i386/efi/linux.c: Likewise.
          * loader/i386/efi/linux_normal.c: Likewise.
          * loader/i386/pc/chainloader.c: Likewise.
          * loader/i386/pc/chainloader_normal.c: Likewise.
          * loader/i386/pc/linux.c: Likewise.
          * loader/i386/pc/linux_normal.c: Likewise.
          * loader/i386/pc/multiboot.c: Likewise.
          * loader/i386/pc/multiboot_normal.c: Likewise.
          * loader/powerpc/ieee1275/linux.c: Likewise.
          * loader/powerpc/ieee1275/linux_normal.c: Likewise.
          * normal/arg.c: Likewise.
          * normal/cmdline.c: Likewise.
          * normal/command.c: Likewise.
          * normal/completion.c: Likewise.
          * normal/execute.c: Likewise.
          * normal/function.c: Likewise.
          * normal/lexer.c: Likewise.
          * normal/main.c: Likewise.
          * normal/menu.c: Likewise.
          * normal/menu_entry.c: Likewise.
          * normal/misc.c: Likewise.
          * normal/parser.y: Likewise.
          * normal/script.c: Likewise.
          * normal/i386/setjmp.S: Likewise.
          * normal/powerpc/setjmp.S: Likewise.
          * normal/sparc64/setjmp.S: Likewise.
          * partmap/acorn.c: Likewise.
          * partmap/amiga.c: Likewise.
          * partmap/apple.c: Likewise.
          * partmap/gpt.c: Likewise.
          * partmap/pc.c: Likewise.
          * partmap/sun.c: Likewise.
          * term/gfxterm.c: Likewise.
          * term/terminfo.c: Likewise.
          * term/efi/console.c: Likewise.
          * term/i386/pc/console.c: Likewise.
          * term/i386/pc/serial.c: Likewise.
          * term/i386/pc/vesafb.c: Likewise.
          * term/i386/pc/vga.c: Likewise.
          * term/ieee1275/ofconsole.c: Likewise.
          * util/biosdisk.c: Likewise.
          * util/console.c: Likewise.
          * util/genmoddep.c: Likewise.
          * util/getroot.c: Likewise.
          * util/grub-emu.c: Likewise.
          * util/grub-mkdevicemap.c: Likewise.
          * util/grub-probe.c: Likewise.
          * util/lvm.c: Likewise.
          * util/misc.c: Likewise.
          * util/raid.c: Likewise.
          * util/resolve.c: Likewise.
          * util/update-grub.in: Likewise.
          * util/update-grub_lib.in: Likewise.
          * util/grub.d/00_header.in: Likewise.
          * util/grub.d/10_hurd.in: Likewise.
          * util/grub.d/10_linux.in: Likewise.
          * util/i386/efi/grub-install.in: Likewise.
          * util/i386/efi/grub-mkimage.c: Likewise.
          * util/i386/pc/grub-install.in: Likewise.
          * util/i386/pc/grub-mkimage.c: Likewise.
          * util/i386/pc/grub-mkrescue.in: Likewise.
          * util/i386/pc/grub-setup.c: Likewise.
          * util/i386/pc/misc.c: Likewise.
          * util/powerpc/ieee1275/grub-install.in: Likewise.
          * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
          * util/powerpc/ieee1275/misc.c: Likewise.
          * video/bitmap.c: Likewise.
          * video/video.c: Likewise.
          * video/i386/pc/vbe.c: Likewise.
          * video/i386/pc/vbeblit.c: Likewise.
          * video/i386/pc/vbefill.c: Likewise.
          * video/i386/pc/vbeutil.c: Likewise.
          * video/readers/tga.c: Likewise.
      5a79f472
  28. 04 Jun, 2006 1 commit
    • okuji's avatar
      2006-06-04 Yoshinori K. Okuji <okuji@enbug.org> · 524a1e6a
      okuji authored
              Clean up the code to support 64-bit addressing in disks and
              files. This change is not enough for filesystems yet.
      
              * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
              type of "start" to grub_uint64_t.
              (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
              grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
              save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
              convert addresses.
      
              * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
              to grub_disk_addr_t.
      
              * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
              string.
      
              * partmap/pc.c (pc_partition_map_iterate): Likewise.
      
              * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
              to char *.
      
              * normal/script.c (grub_script_parse): Remove unused MEMFREE.
      
              * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
      
              * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
      
              * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
              to grub_off_t, to detect an error from grub_file_seek.
              (grub_multiboot_load_elf32): Likewise.
      
              * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
              maximum unsigned long value when an overflow is detected.
              (grub_strtoull): New function.
              (grub_divmod64): Likewise.
              (grub_lltoa): use grub_divmod64.
      
              * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
              grub_disk_addr_t.
              (grub_fs_blocklist_open): Increase P if P is not NULL to advance
              the pointer to next character. Use grub_strtoull instead of
              grub_strtoul.
              (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
              SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
              respectively.
      
              * kern/file.c (grub_file_read): Prevent an oveflow of LEN, as the
              return value is signed.
              (grub_file_seek): Change the type of OLD to grub_off_t. Do not
              test if OFFSET is less than zero, as OFFSET is unsigned now.
      
              * kern/disk.c (struct grub_disk_cache): Change the type of
              "sector" to grub_disk_addr_t.
              (grub_disk_cache_get_index): Change the type of SECTOR to
              grub_disk_addr_t. Calculate the hash with SECTOR casted to
              unsigned after shifting.
              (grub_disk_cache_invalidate): Change the type of SECTOR to
              grub_disk_addr_t.
              (grub_disk_cache_unlock): Likewise.
              (grub_disk_cache_store): Likewise.
              (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
              START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
              grub_disk_addr_t and grub_uint64_t, respectively.
              (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
              body, as the value of OFFSET is tweaked by
              grub_disk_check_range. Change the types of START_SECTOR, LEN and
              POS to grub_disk_addr_t, grub_size_t and grub_size_t,
              respectively.
              (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
              body, as the value of OFFSET is tweaked by
              grub_disk_check_range. Change the types of LEN and N to
              grub_size_t.
      
              * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
              and "saved_offset" to grub_off_t.
              (test_header): Cast BUF to char *.
              (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
              to char *.
              (grub_gzio_read): Change the types of OFFSET and SIZE to
              grub_off_t and grub_size_t, respectively.
      
              * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
              Removed.
              (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
              (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
              (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
              (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
              (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
      
              * include/grub/types.h (grub_off_t): Unconditionally set to
              grub_uint64_t.
              (grub_disk_addr_t): Changed to grub_uint64_t.
      
              * include/grub/partition.h (struct grub_partition): Change the
              types of "start", "len" and "offset" to grub_disk_addr_t,
              grub_uint64_t and grub_disk_addr_t, respectively.
              (grub_partition_get_start): Return grub_disk_addr_t.
              (grub_partition_get_len): Return grub_uint64_t.
      
              * include/grub/misc.h (grub_strtoull): New prototype.
              (grub_divmod64): Likewise.
      
              * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
              of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
              grub_off_t, respectively.
              All callers and references changed.
      
              * include/grub/fs.h (struct grub_fs): Change the type of LEN to
              grub_size_t in "read".
              All callers and references changed.
      
              * include/grub/file.h (struct grub_file): Change the types of
              "offset" and "size" to grub_off_t and grub_off_t,
              respectively. Change the type of SECTOR to grub_disk_addr_t in
              "read_hook".
              (grub_file_read): Change the type of LEN to grub_size_t.
              (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
              grub_off_t.
              (grub_file_size): Return grub_off_t.
              (grub_file_tell): Likewise.
              All callers and references changed.
      
              * include/grub/disk.h (struct grub_disk_dev): Change the types of
              SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
              "write".
              (struct grub_disk): Change the type of "total_sectors" to
              grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
              "read_hook".
              (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
              grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
              (grub_disk_write): Likewise.
              All callers and references changed.
      
              * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
              char * for grub_strncmp to silence gcc.
              (grub_iso9660_mount): Likewise.
              (grub_iso9660_mount): Likewise.
              (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
              return statement.
              (grub_iso9660_iterate_dir): Likewise.
              (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
      
              * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
              LEN to grub_disk_addr_t and grub_size_t, respectively.
      
              * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
      
              * fs/jfs.c (grub_jfs_read_file): Likewise.
      
              * fs/minix.c (grub_jfs_read_file): Likewise.
      
              * fs/sfs.c (grub_jfs_read_file): Likewise.
      
              * fs/ufs.c (grub_jfs_read_file): Likewise.
      
              * fs/xfs.c (grub_jfs_read_file): Likewise.
      
              * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
              and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
              respectively.
      
              * fs/ext2.c (grub_ext2_read_block): When an error happens, set
              BLKNR to -1 instead of returning GRUB_ERRNO.
              (grub_ext2_read_file): Change the types of SECTOR and
              LEN to grub_disk_addr_t and grub_size_t, respectively.
      
              * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
              LEN to grub_disk_addr_t and grub_size_t, respectively.
      
              * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
              grub_file_read.
      
              * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
              string. Do not cast SECTOR explicitly.
      
              * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
              TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
              (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
              grub_disk_addr_t and grub_size_t, respectively. If the sector is
              over 2TB and LBA mode is not supported, raise an error.
              (get_safe_sectors): New function.
              (grub_biosdisk_read): Use get_safe_sectors.
              (grub_biosdisk_write): Likewise.
      
              * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
              (grub_efidisk_write): Likewise.
      
              * disk/loopback.c (delete_loopback): Cosmetic changes.
              (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
              correctly.
              (grub_loopback_open): Likewise.
              (grub_loopback_read): Likewise. Also, change the type of POS to
              grub_off_t, and fix the usage of grub_memset.
      
              * commands/i386/pc/play.c: Include grub/machine/time.h.
      
              * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
              print FILE->SIZE.
      
              * commands/configfile.c: Include grub/env.h.
      
              * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
              GRUB_ERRNO directly instead. Change the type of POS to
              grub_off_t. Follow the coding standard.
      
              * commands/blocklist.c: Include grub/partition.h.
              (grub_cmd_blocklist): Return an error if the underlying device is
              not a disk. Take the starting sector of a partition into account,
              if a partition is used.
      
              * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
              a length field.
              (lba_mode): Support 64-bit addresses.
              (chs_mode): Likewise.
              (copy_buffer): Adapted to the new offsets of a length field and a
              segment field.
              (blocklist_default_start): Allocate 64-bit space.
      
              * boot/i386/pc/boot.S (force_lba): Removed.
              (boot_drive): Moved to under KERNEL_SECTOR.
              (kernel_sector): Moved to under KENREL_SEGMENT. Allocate 64-bit
              space.
              (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
              is useless.
              (lba_mode): Refactored to support a 64-bit address. More size
              optimization.
              (setup_sectors): Likewise.
      524a1e6a
  29. 20 Oct, 2005 1 commit
  30. 15 Oct, 2005 1 commit
    • okuji's avatar
      2005-10-15 Yoshinori K. Okuji <okuji@enbug.org> · 688e5699
      okuji authored
              * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
              grub_uint64_t.
              Call the hook with a NUL-terminated filename.
              (grub_xfs_mount): Use grub_be_to_cpu32 instead of
              grub_cpu_to_be32.
      
              * kern/term.c (cursor_state): New variable.
              (grub_term_set_current): Reset the cursor state on a new
              terminal.
              (grub_setcursor): Rewritten to use CURSOR_STATE.
              (grub_getcursor): New function.
      
              * include/grub/term.h (grub_getcursor): New prototype.
      
              * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
              integers on ARM. Reported by Timothy Baldwin
              <T.E.Baldwin99@members.leeds.ac.uk>.
      688e5699
  31. 22 Aug, 2005 1 commit
    • okuji's avatar
      2005-08-22 Yoshinori K. Okuji <okuji@enbug.org> · d9864ee1
      okuji authored
              * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
              (DISTDIRS): Added io and video.
              Rewrite the search routine to make an output consistently.
      
              * DISTLIST: Added conf/sparc64-ieee1275.mk,
              conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
              include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
              io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
              kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
              util/powerpc/ieee1275/misc.c.
      
              * include/grub/gzio.h: New file.
              * io/gzio.c: Likewise.
      
              * kern/file.c (grub_file_close): Call grub_device_close only if
              FILE->DEVICE is not NULL.
      
              * include/grub/mm.h [!NULL] (NULL): New macro.
      
              * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
      
              * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
              (pkgdata_MODULES): Added gzio.mod.
              (gzio_mod_SOURCES): New variable.
              (gzio_mod_CFLAGS): Likewise.
      
              * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
              (pkgdata_MODULES): Added gzio.mod.
              (gzio_mod_SOURCES): New variable.
              (gzio_mod_CFLAGS): Likewise.
      
              * commands/cat.c: Include grub/gzio.h.
              (grub_cmd_cat): Use grub_gzfile_open instead of
              grub_file_open.
      
              * commands/cmp.c: Include grub/gzio.h.
              (grub_cmd_cmp): Use grub_gzfile_open instead of
              grub_file_open.
      
              * loader/i386/pc/multiboot.c: Include grub/gzio.h.
              (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
              grub_file_open.
              (grub_rescue_cmd_module): Likewise.
      d9864ee1