Vladimir 'phcoder' Serbinenko
5bfb6e71e8
features support
2011-04-05 15:05:53 +02:00
Vladimir 'phcoder' Serbinenko
b38a498394
BPB patching support (untested)
2011-04-05 14:40:15 +02:00
Vladimir 'phcoder' Serbinenko
850e937329
Increase LVM implementation robustness in order not to crash on
...
configurations like pvmove. Previously code assumed that in some places
only lvs or only pvs are used whereas it seems that they are used
interchangeably.
* grub-core/disk/lvm.c (read_node): New function.
(read_lv): Use read_node.
(grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
Match volumes only at the end when all lvs are found. Take both
pvs (first) and lvs (second) into account.
* include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
mirror_* into node_*. All users updated.
(grub_lvm_stripe): Merge this ...
(grub_lvm_mirror): ... and this ...
(grub_lvm_node): ... into this. All users updated.
2011-04-03 16:28:14 +02:00
Vladimir 'phcoder' Serbinenko
6f33215394
* grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
...
of function to allow further scanning for LVMs.
2011-04-03 15:57:44 +02:00
Vladimir 'phcoder' Serbinenko
829ea451a4
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
...
on failed seek as it breaks open fd reusage.
2011-04-03 15:45:20 +02:00
Colin Watson
2cccc747ac
Store the loopback device as data on loopback grub_disk structures,
...
rather than the file it points to. This fixes use of freed memory
if an existing loopback device is replaced.
* grub-core/disk/loopback.c (grub_loopback_open): Store dev in
disk->data, not dev->file.
(grub_loopback_read): Adjust file assignment to match.
Fixes Ubuntu bug #742967 .
2011-04-01 17:04:10 +01:00
Colin Watson
186ae367af
* grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
...
when replacing an existing device.
2011-04-01 15:35:09 +01:00
Vladimir 'phcoder' Serbinenko
cfed2ad097
Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
...
memory corruptions.
* grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
unsigned.
(grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
(grub_jfs_blkno): Use 64-bit quantities for block sectors.
(grub_jfs_read_inode): Likewise.
(grub_jfs_opendir): Likewise. Remove now useless casts.
(grub_jfs_getent): Likewise.
Make ino a grub_uint32_t rather than int.
(grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
(grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
division and module with bit operations.
(grub_jfs_find_file): Make ino a grub_uint32_t.
(grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
2011-04-01 15:53:06 +02:00
Colin Watson
05d2ed3277
* grub-core/normal/menu_entry.c (run): Quieten uninitialised
...
warning. (This was in fact always initialised before use, but GCC
wasn't smart enough to prove that.)
* grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2011-04-01 11:43:51 +01:00
Vladimir 'phcoder' Serbinenko
91dc607330
* grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
...
stack alignment.
(efi_wrap_1): Likewise.
(efi_wrap_2): Likewise.
(efi_wrap_3): Likewise.
(efi_wrap_4): Likewise.
(efi_wrap_5): Likewise.
(efi_wrap_6): Likewise.
(efi_wrap_10): Likewise.
Based on information by: Red Hat/Peter Jones.
2011-03-31 16:48:36 +02:00
Colin Watson
a8afc1d12c
* grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
...
set-but-not-used variable.
2011-03-31 12:25:10 +01:00
Vladimir 'phcoder' Serbinenko
241e41f55c
* grub-core/disk/raid.c (insert_array): Add few potentially
...
useful grub_util_info.
(grub_raid_register): Likewise.
2011-03-30 16:54:11 +02:00
Vladimir 'phcoder' Serbinenko
56445fb2b4
* grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
...
Preserve partition number in mdadm code path.
2011-03-30 16:37:10 +02:00
Vladimir 'phcoder' Serbinenko
c871b1c6d0
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
...
few potentially useful grub_util_info.
2011-03-30 13:13:25 +02:00
Vladimir 'phcoder' Serbinenko
87d1aa1927
* grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
2011-03-30 13:02:39 +02:00
Vladimir 'phcoder' Serbinenko
5d8031749e
* grub-core/term/at_keyboard.c (set_scancodes)
...
[!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
2011-03-30 09:26:23 +02:00
Vladimir 'phcoder' Serbinenko
fc18f6a3cb
* util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
2011-03-29 19:47:34 +02:00
Colin Watson
61d7156b94
* grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
...
removed -p option.
2011-03-29 18:00:23 +01:00
Vladimir 'phcoder' Serbinenko
9e4d19e0d3
* grub-core/kern/emu/hostdisk.c (find_partition_start)
...
[HAVE_DIOCGDINFO]: Add safety checks.
2011-03-29 15:00:23 +02:00
Colin Watson
b4db4f39f0
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
...
real_sb->size is zero (e.g. RAID-0), get the disk size from
real_sb->data_size instead.
Fixes Ubuntu bug #743136 .
2011-03-29 10:51:58 +01:00
Vladimir 'phcoder' Serbinenko
35e5f84c18
* grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
...
printf clauses for printing size and start.
2011-03-29 11:25:04 +02:00
Vladimir 'phcoder' Serbinenko
d2e29d81a9
* grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
...
Reported and tested by: Timothy Nikkel.
2011-03-29 10:56:14 +02:00
Vladimir 'phcoder' Serbinenko
ed5587afea
* grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
...
(dirty_region_add_real): ... this.
(dirty_region_add): Don't discard margin refresh when performing
scheduled repaint.
2011-03-29 08:33:28 +02:00
Vladimir 'phcoder' Serbinenko
a1dc717c58
* grub-core/lib/relocator.c (allocate_regstart)
...
[!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
terminals are capabple of malloc-free operation.
(allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
(malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
2011-03-29 08:20:19 +02:00
Colin Watson
2414872538
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
...
comment.
2011-03-28 15:17:22 +01:00
Colin Watson
f329eda79e
* grub-core/disk/raid.c (grub_raid_register): Adjust debug message
...
to be specific about what kind of RAID device we're scanning for.
2011-03-28 13:23:54 +01:00
Seth Goldberg
c482ad98b3
* grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't return freed string.
2011-03-26 23:22:59 +01:00
Vladimir 'phcoder' Serbinenko
5ee04984d1
* grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
2011-03-26 14:14:59 +01:00
Vladimir 'phcoder' Serbinenko
f4727da93f
Use libgeom on FreeBSD to detect partitions.
...
* Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
(grub-mkrelpath): Likewise.
(grub-script-check): Likewise.
(grub-editenv): Likewise.
(grub-mkpasswd-pbkdf2): Likewise.
(grub-fstest): Likewise.
(grub-mkfont): Likewise.
(grub-mkdevicemap): Likewise.
(grub-probe): Likewise.
(grub-setup): Likewise.
(grub-ofpathname): Likewise.
(grub-mklayout): Likewise.
(example_unit_test): Likewise.
(grub-menulst2cfg): Likewise.
* grub-core/Makefile.core.def (grub-emu): Likewise.
(grub-emu-lite): Likewise.
* configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
* grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
define HAVE_DIOCGDINFO.
(follow_geom_up) [FreeBSD]: New function.
(find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
(convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
(grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
unconditionally of HAVE_DIOCGDINFO.
2011-03-26 12:59:02 +01:00
Vladimir 'phcoder' Serbinenko
82fe6c751b
Fix FreeBSD compilation problem.
...
* grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
(FLOPPY_MAJOR) [FreeBSD]: Likewise.
2011-03-26 12:49:34 +01:00
Colin Watson
4c6c9431d2
* grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
...
Switch back to page zero before loading a kernel, since some kernel
drivers expect that.
Thanks to: Felix Kuehling.
2011-03-25 00:03:54 +00:00
Vladimir 'phcoder' Serbinenko
c7064d9425
* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
...
[DEBUG_RELOCATOR]: Reuse grub_mm_check.
(grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
2011-03-24 12:45:51 +01:00
Vladimir 'phcoder' Serbinenko
ef6de21af4
* grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
...
DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
malloc is disabled.
2011-03-24 12:39:48 +01:00
Vladimir 'phcoder' Serbinenko
8bc66a2ce6
* grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
...
for modules headers when counting the needed allocation size.
2011-03-24 12:28:22 +01:00
Vladimir 'phcoder' Serbinenko
5657722c3c
* grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
...
if no ASCII character is found to prevent crash.
2011-03-23 20:29:17 +01:00
Alexander Kurtz
41a85f5508
* grub-core/video/bitmap.c (match_extension): Ignore case.
2011-03-23 17:08:56 +01:00
Vladimir 'phcoder' Serbinenko
59e1e5f17b
* grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
2011-03-23 14:18:56 +01:00
Vladimir 'phcoder' Serbinenko
bd4d051a95
* grub-core/script/parser.y: Declare "time" as valid argument.
2011-03-23 13:23:50 +01:00
Vladimir 'phcoder' Serbinenko
537dc9bec6
* grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
2011-03-23 12:40:15 +01:00
Vladimir 'phcoder' Serbinenko
fa3e01bfb5
* grub-core/lib/i386/pc/biosnum.c: Add missing include.
2011-03-23 12:23:42 +01:00
Vladimir 'phcoder' Serbinenko
b1d2840445
* grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
...
into GRUB-style one.
2011-03-23 12:21:15 +01:00
Vladimir 'phcoder' Serbinenko
e804e7b099
missing file in last change
2011-03-23 12:18:21 +01:00
Vladimir 'phcoder' Serbinenko
2e3e2e0908
* grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
...
error and not grub_errno.
* grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2011-03-23 12:17:05 +01:00
Vladimir 'phcoder' Serbinenko
ed57e55702
* grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
...
GRUB_USB_SPEED_NONE in case of failure and not the error code.
2011-03-23 12:13:39 +01:00
Vladimir 'phcoder' Serbinenko
d1611f0163
* grub-core/efiemu/i386/pc/cfgtables.c
...
(grub_machine_efiemu_init_tables): Make declaration a prototype.
* grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
(grub_xnu_unlock): Likewise.
* grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
2011-03-23 12:08:33 +01:00
Vladimir 'phcoder' Serbinenko
7d4e39d65a
* grub-core/bus/usb/usb.c (attach_hooks): Make static.
...
* grub-core/bus/usb/usbhub.c (hubs): Likewise.
* grub-core/commands/hashsum.c (aliases): Likewise.
* grub-core/commands/setpci.c (pci_registers): Likewise.
* grub-core/disk/usbms.c (attach_hook): Likewise.
* grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
(zio_checksum_table): Likewise.
* grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
* grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
* grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
* grub-core/lib/relocator.c (leftovers): Likewise.
(extra_blocks): Likewise.
* grub-core/loader/i386/bsd.c (relocator): Likewise.
* grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
(modules_last): Likewise.
* grub-core/loader/i386/xnu.c (table_aliases): Likewise.
(devices): Likewise.
* grub-core/loader/multiboot_mbi2.c (modules): Likewise.
(modules_last): Likewise.
* grub-core/normal/auth.c (users): Likewise.
* grub-core/normal/context.c (initial_menu): Likewise.
(current_menu): Likewise.
* grub-core/normal/crypto.c (crypto_specs): Likewise.
* grub-core/term/serial.c (grub_serial_ports): Likewise.
(grub_serial_terminfo_input_template): Likewise.
(grub_serial_terminfo_output_template): Likewise.
(grub_serial_terminfo_input): Likewise.
(grub_serial_terminfo_output): Likewise.
(registered): Likewise.
* grub-core/term/usb_keyboard.c (attach_hook): Likewise.
2011-03-23 12:05:13 +01:00
Vladimir 'phcoder' Serbinenko
40fc46599d
* grub-core/video/bochs.c (grub_video_bochs_setup): Use
...
grub_video_mode_type_t.
* grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
* grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
* grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
2011-03-23 11:54:58 +01:00
Colin Watson
9b43bf396a
* grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
...
initial chunk read from the kernel always includes GRUB's multiboot
header, which is now outside the first sector.
2011-03-11 11:51:10 +00:00
Colin Watson
be1a7ce0cf
* grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
...
cached mmap_size, so that this works correctly when called multiple
times.
Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638 .
2011-03-09 17:38:31 +00:00
Szymon Janc
57d75699d6
2011-03-07 Szymon Janc <szymon@janc.net.pl>
...
* grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
Set-but-not-used variable removed.
2011-03-07 22:23:06 +01:00