1. 20 Jan, 2013 1 commit
    • Colin Watson's avatar
      Remove nested functions from device iterators. · 25239370
      Colin Watson authored
      * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
      (grub_arc_iterate_devs): Add hook_data argument.
      * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
      (struct grub_ata_dev.iterate): Add hook_data argument.
      * include/grub/device.h (grub_device_iterate_hook_t): New type.
      (grub_device_iterate): Add hook_data argument.
      * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
      (struct grub_disk_dev.iterate): Add hook_data argument.
      (grub_disk_dev_iterate): Likewise.
      * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
      Likewise.
      * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
      Likewise.
      * include/grub/partition.h (grub_partition_iterate_hook_t): New
      type.
      (struct grub_partition_map.iterate): Add hook_data argument.
      (grub_partition_iterate): Likewise.
      * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
      (struct grub_scsi_dev.iterate): Add hook_data argument.
      
      Update all callers.
      25239370
  2. 24 Jan, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Replace single-linked with double-linked lists. It results in more · 87edb894
      Vladimir 'phcoder' Serbinenko authored
      	compact and more efficient code.
      
      	* grub-core/kern/list.c (grub_list_push): Moved from here ...
      	* include/grub/list.h (grub_list_push): ... to here. Set prev.
      	(grub_list_remove): Moved from here ...
      	* include/grub/list.h (grub_list_remove): ... here. Use and set prev.
      	(grub_prio_list_insert): Set prev.
      	* include/grub/list.h (grub_list): Add prev. All users updated.
      87edb894
  3. 25 Mar, 2011 1 commit
  4. 24 Sep, 2010 1 commit
  5. 16 Sep, 2010 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Move embedding routines to partmap sources files. · e50fca4a
      Vladimir 'phcoder' Serbinenko authored
      	* grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
      	[GRUB_UTIL]: New variable.
      	(gpt_partition_map_iterate): Set part.parent.
      	(gpt_partition_map_embed) [GRUB_UTIL]: New function.
      	(grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
      	* grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
      	New function.
      	(grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
      	* include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
      	(grub_partition_map) [GRUB_UTIL]: New field embed.
      	* util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
      	(setup): Use ->embed.
      e50fca4a
  6. 04 Sep, 2010 1 commit
  7. 17 Aug, 2010 1 commit
  8. 06 May, 2010 1 commit
  9. 27 Mar, 2010 1 commit
  10. 07 Feb, 2010 4 commits
  11. 06 Feb, 2010 1 commit
  12. 23 Aug, 2009 1 commit
    • robertmh's avatar
      2009-08-23 Robert Millan <rmh.grub@aybabtu.com> · 71acf5e5
      robertmh authored
              * partmap/pc.c: Rename to ...
              * partmap/msdos.c: ... this.  Update all users.
              (grub_pc_partition_map): Rename to ...
              (grub_msdos_partition_map): ... this.  Update all users.
      
              * parttool/pcpart.c: Rename to ...
              * parttool/msdospart.c: ... this.  Update all users.
      
              * include/grub/pc_partition.h: Rename to ...
              * include/grub/msdos_partition.h: ... this.  Update all users.
              (grub_pc_partition_bsd_entry): Rename to ...
              (grub_msdos_partition_bsd_entry): ... this.  Update all users.
              (grub_pc_partition_disk_label): Rename to ...
              (grub_msdos_partition_disk_label): ... this.  Update all users.
              (grub_pc_partition_entry): Rename to ...
              (grub_msdos_partition_entry): ... this.  Update all users.
              (grub_pc_partition_mbr): Rename to ...
              (grub_msdos_partition_mbr): ... this.  Update all users.
              (grub_pc_partition): Rename to ...
              (grub_msdos_partition): ... this.  Update all users.
              (grub_pc_partition_is_empty): Rename to ...
              (grub_msdos_partition_is_empty): ... this.  Update all users.
              (grub_pc_partition_is_extended): Rename to ...
              (grub_msdos_partition_is_extended): ... this.  Update all users.
              (grub_pc_partition_is_bsd): Rename to ...
              (grub_msdos_partition_is_bsd): ... this.  Update all users.
      
              * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
              (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
              (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
              (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
              (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
              (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
              (gpt_mod_LDFLAGS): Rename to ...
              (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
              (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
              (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
              (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
              (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
              (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
              (part_gpt_mod_LDFLAGS): ... this.
              (pkglib_MODULES): Prefix partition modules with `part_'.  Rename
              `pcpart.mod' to `msdospart.mod'.
              (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
              to ...
              (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
              (msdospart_mod_LDFLAGS): ... this.
      71acf5e5
  13. 11 Jun, 2009 1 commit
  14. 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
  15. 05 Jun, 2007 1 commit
    • robertmh's avatar
      2007-06-04 Robert Millan <rmh@aybabtu.com> · 0c68c93e
      robertmh authored
      	* conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
      
      	* include/grub/partition.h: Declare grub_apple_partition_map_init and
      	grub_apple_partition_map_fini.
      
      	* util/biosdisk.c
      	(grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
      	to access >2 TiB disks).
      
      	Print disk->total_sectors with %llu instead of %lu, since this
      	variable is always 64-bit (prevents wrong disk size from being displayed
      	on either >2 TiB disk or big-endian CPU).
      
      	(grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
      	into a generic case that supports all (sane) partition maps.
      
      	Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
      	breaks big-endian.
      
      	* util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
      	and grub_apple_partition_map_fini() after that.
      0c68c93e
  16. 17 May, 2007 1 commit
    • jeroen's avatar
      2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx> · 21c8cbb1
      jeroen authored
      	* video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
      	__attribute_ ((unused)) to mode_type argument.
      
      	* util/getroot.c (grub_guess_root_device): Fix #endif.
      
      	* kern/misc.c (memcmp): Fix prototype.
      
      	* include/grub/partition.h [GRUB_UTIL]
      	(grub_gpt_partition_map_init): Add prototype.
      	(grub_gpt_partition_map_fini): Likewise.
      
      	* fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
      	at the right place.
      
      	* fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
      	(grub_fat_read_data): Likewise.
      	(grub_fat_find_dir): Likewise.
      
      	* font/manager.c (find_glyph): Make table a const.
      	(grub_font_get_glyph): Remove bitmap from if statement.
      21c8cbb1
  17. 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
  18. 20 Aug, 2005 1 commit
    • okuji's avatar
      2005-08-20 Yoshinori K. Okuji <okuji@enbug.org> · 6a85ce79
      okuji authored
              * partmap/pc.c (pc_partition_map_iterate): Include the value of an
              invalid magic in thre error.
      
              * commands/search.c: New file.
      
              * util/grub-emu.c (main): Call grub_search_init and
              grub_search_fini.
      
              * kern/rescue.c (grub_rescue_print_disks): Removed.
              (grub_rescue_print_devices): New function.
              (grub_rescue_cmd_ls): Use grub_device_iterate with
              grub_rescue_print_devices instead of grub_disk_dev_iterate with
              grub_rescue_print_disks.
      
              * kern/partition.c (grub_partition_iterate): Return the result of
              PARTMAP->ITERATE instead of GRUB_ERRNO.
      
              * kern/device.c: Include grub/partition.h.
              (grub_device_iterate): New function.
      
              * include/grub/partition.h (grub_partition_iterate): Return int
              instead of grub_err_t.
      
              * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
              prototype.
              [GRUB_UTIL] (grub_search_fini): Likewise.
      
              * include/grub/device.h (grub_device_iterate): New prototype.
      
              * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
              commands/search.c.
              (pkgdata_MODULES): Added search.mod.
              (search_mod_SOURCES): New variable.
              (search_mod_CFLAGS): Likewise.
      
              * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
              (pkgdata_MODULES): Added search.mod.
              (search_mod_SOURCES): New variable.
              (search_mod_CFLAGS): Likewise.
      
              * commands/ls.c (grub_ls_list_disks): Renamed to ...
              (grub_ls_list_devices): ... this, and use grub_device_iterate.
              All callers changed.
      
              * DISTLIST: Added commands/search.c.
      6a85ce79
  19. 18 Aug, 2005 1 commit
    • okuji's avatar
      2005-08-18 Yoshinori K. Okuji <okuji@enbug.org> · 992ffbbe
      okuji authored
              * normal/misc.c: New file.
      
              * DISTLIST: Added normal/misc.c.
      
              * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
              DISK to HOOK. Call HOOK with DISK.
              * partmap/apple.c (apple_partition_map_iterate): Likewise.
              * partmap/pc.c (pc_partition_map_iterate): Likewise.
              * partmap/sun.c (sun_partition_map_iterate): Likewise.
      
              * normal/menu_entry.c (struct screen): Added a new member
              "completion_shown".
              (completion_buffer): New global variable.
              (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
              (store_completion): New function.
              (complete): Likewise.
              (clear_completions): Likewise.
              (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
              call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
              a tab, call complete.
      
              * normal/completion.c (disk_dev): Removed.
              (print_simple_completion): Likewise.
              (print_partition_completion): Likewise.
              (print_func): New global variable.
              (add_completion): Do not take the arguments WHAT or PRINT any
              longer. Added a new argument TYPE. Instead of printing directly,
              call PRINT_FUNC if not NULL.
              All callers changed.
              (complete_device): Use a local variable DEV instead of
              DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
              (grub_normal_do_completion): Take a new argument HOOK. Do not
              initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
              empty string, return NULL instead.
              All callers changed.
      
              * normal/cmdline.c (print_completion): New function.
      
              * kern/partition.c (grub_partition_iterate): Add an argument DISK
              to HOOK.
              All callers changed.
      
              * kern/disk.c (grub_print_partinfo): Removed.
      
              * include/grub/partition.h (struct grub_partition_map): Add a new
              argument DISK into HOOK of ITERATE.
              (grub_partition_iterate): Add a new argument DISK to HOOK.
      
              * include/grub/normal.h (enum grub_completion_type): New enum.
              (grub_completion_type_t): New type.
              (GRUB_COMPLETION_TYPE_COMMAND): New constant.
              (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
              (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
              (GRUB_COMPLETION_TYPE_FILE): Likewise.
              (grub_normal_do_completion): Added a new argument HOOK.
              (grub_normal_print_device_info): New prototype.
      
              * include/grub/disk.h (grub_print_partinfo): Removed.
      
              * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
              (normal_mod_SOURCES): Likewise.
              * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
              (normal_mod_SOURCES): Likewise.
      
              * commands/ls.c (grub_ls_list_disks): Use
              grub_normal_print_device_info instead of grub_print_partinfo. Free
              PNAME.
              (grub_ls_list_files): Use grub_normal_print_device_info instead of
              duplicating the code.
      992ffbbe
  20. 13 Aug, 2005 1 commit
    • okuji's avatar
      2005-08-12 Yoshinori K. Okuji <okuji@enbug.org> · 8de3495c
      okuji authored
              * DISTLIST: Added normal/completion.c.
      
              * normal/completion.c: New file.
      
              * term/i386/pc/console.c (grub_console_getwh): New function.
              (grub_console_term): Assign grub_console_getwh to getwh.
      
              * normal/cmdline.c (grub_tab_complete): Removed. Now the same
              function is defined in normal/completion.c as
              grub_normal_do_completion.
              (grub_cmdline_get): Use grub_normal_do_completion instead of
              grub_tab_complete.
      
              * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
              returns non-zero, otherwise return 0.
              (grub_partition_iterate): First, probe the partition map. Then,
              call ITERATE only for this partition map.
      
              * kern/misc.c (grub_strncmp): Rewritten.
      
              * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
              returns non-zero. Otherwise return 0.
      
              * include/grub/partition.h (grub_partition_map_iterate): Return
              int instead of void.
      
              * include/grub/normal.h (grub_normal_do_completion): New prototype.
      
              * include/grub/misc.h (grub_strncmp): Change the type of N to
              grub_size_t.
      
              * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
              of void.
      
              * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
              unsigned explictly before comparing it with I.
      
              * kern/main.c (grub_env_write_root): Add the attribute unused into
              VAR.
      
              * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
              normal/completion.c.
              (normal_mod_SOURCES): Likewise.
              * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
              (normal_mod_SOURCES): Likewise.
      
              * normal/command.c (grub_iterate_commands): If ITERATE returns
              non-zero, return one immediately.
      8de3495c
  21. 22 Feb, 2005 1 commit
    • marco_g's avatar
      2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr> · 4ed2e1dd
      marco_g authored
      	* conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
      	(grub_emu_SOURCES): Likewise.
      	(pkgdata_MODULES): Add `sun.mod'.
      	(sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
      	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
      	`partmap/sun.c'.
      	(pkgdata_MODULES): Add `sun.mod'.
      	(sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
      	* include/grub/partition.h (grub_sun_partition_map_init): New
      	prototype.
      	(grub_sun_partition_map_fini): Likewise.
      	* partmap/sun.c: New file.
      	* util/grub-emu.c (main): Initialize and de-initialize the sun
      	partitionmap support.
      4ed2e1dd
  22. 05 Dec, 2004 1 commit
    • marco_g's avatar
      2004-12-04 Marco Gerards <metgerards@student.han.nl> · 3f1578fe
      marco_g authored
      	Modulize the partition map support and add support for the amiga
      	partition map.
      
      	* commands/ls.c: Include <grub/partition.h> instead of
      	<grub/machine/partition.h>.
      	* kern/disk.c: Likewise.
      	* kern/rescue.c: Likewise.
      	* loader/i386/pc/chainloader.c: Likewise.
      	* normal/cmdline.c: Likewise.
      	* kern/powerpc/ieee1275/init.c: Likewise.
      	(grub_machine_init): Call `grub_pc_partition_map_init',
      	`grub_amiga_partition_map_init' and
      	`grub_apple_partition_map_init'.
      	* conf/i386-pc.rmk (kernel_img_SOURCES): Remove
      	`disk/i386/pc/partition.c'.  Add `kern/partition.c'.
      	(kernel_img_HEADERS): Remove `machine/partition.h'.  Add
      	`partition.h' and `pc_partition.h'.
      	(grub_setup_SOURCES): Remove
      	`disk/i386/pc/partition.c'.  Add `kern/partition.c',
      	`partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
      	(grub_emu_SOURCES): Likewise.
      	(pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
      	(amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
      	(apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
      	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
      	`disk/powerpc/ieee1275/partition.c'.  Add `kern/partition.c',
      	`partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
      	(grubof_SOURCES): Likewise.
      	* disk/i386/pc/partition.c: File removed.
      	* disk/powerpc/ieee1275/partition.c: Likewise.
      	* include/grub/powerpc/ieee1275/partition.h: Likewise.
      	* include/grub/i386/pc/partition.h: Likewise.
      	* kern/partition.c: New file.
      	* partmap/amiga.c: Likewise.
      	* partmap/apple.c: Likewise.
      	* partmap/pc.c: Likewise.
      	* include/grub/partition.h: Likewise..
      	* include/grub/pc_partition.h: Likewise.
      	* util/grub-emu.c: Include <grub/partition.h> instead of
      	<grub/machine/partition.h>.
      	(main): Call `grub_pc_partition_map_init',
      	`grub_amiga_partition_map_init' and
      	`grub_apple_partition_map_init' and deinitialize afterwards.
      	* util/i386/pc/biosdisk.c: Include `#include
      	<grub/partition.h>' and `include <grub/pc_partition.h>' instead of
      	`<grub/machine/partition.h>'.
      	* util/i386/pc/grub-setup.c: Likewise.
      	* util/i386/pc/biosdisk.c: Likewise.
      	(grub_util_biosdisk_get_grub_dev): Only access the PC specific
      	partition information in case of a PC partition.
      	* util/i386/pc/grub-setup.c: Include `#include
      	<grub/partition.h>' and `include <grub/pc_partition.h>' instead of
      	`<grub/machine/partition.h>'.
      	(setup): Only access the PC specific partition information in case
      	of a PC partition.
      3f1578fe