Vladimir 'phcoder' Serbinenko
0a96117de7
* grub-core/Makefile.core.def (pxechain): New module.
...
* grub-core/loader/i386/pc/pxechainloader.c: New file.
* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
function.
(grub_pc_net_config_real): Use grub_pxe_get_cached.
* include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
2012-02-05 10:33:52 +01:00
Vladimir 'phcoder' Serbinenko
aca002f7e4
* grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
...
* include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
* include/grub/err.h (grub_error_saved): New struct.
(grub_errmsg): Make array size explicit.
* include/grub/misc.h (grub_error_save): New function.
(grub_error_load): Likewise.
* grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
(grub_error_push): Update `errno' member name.
(grub_error_pop): Likewise
* grub-core/net/tftp.c (tftp_data): New member save_err.
(tftp_receive): Save error.
(tftp_open): Restore error.
2012-02-05 10:24:53 +01:00
Vladimir 'phcoder' Serbinenko
a51dab1328
* grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
...
to real mode down to execute A20-related code in protected mode as
intended.
2012-02-05 10:12:18 +01:00
Grégoire Sutre
eb6e664936
* grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
...
NULL when the argument `level' has an unexpected value.
2012-02-05 01:22:04 +01:00
Vladimir 'phcoder' Serbinenko
92cd0f6e45
Move platform-dependent files from $prefix to $prefix/$platform.
...
* config.h.in (GRUB_TARGET_CPU): New definition.
(GRUB_PLATFORM): Likewise.
* configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
* grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
* grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
* grub-core/kern/dl.c (grub_dl_load): Likewise.
* grub-core/normal/autofs.c (read_fs_list): Likewise.
* grub-core/normal/crypto.c (read_crypto_list): Likewise.
* grub-core/normal/dyncmd.c (read_command_list): Likewise.
* grub-core/normal/term.c (read_terminal_list): Likewise.
* grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
$prefix/locale.
(grub_gettext_init_ext): Likewise.
* grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
grub_platform.
* util/grub-install.in: Update directories.
* util/grub-mknetdir.in: Likewise.
* util/grub-mkrescue.in: Likewise.
2012-02-04 21:47:29 +01:00
Vladimir 'phcoder' Serbinenko
db606889a9
* grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
...
grub_error framework. All users updated.
2012-02-04 14:00:23 +01:00
Vladimir 'phcoder' Serbinenko
c39992a436
* grub-core/gettext/gettext.c: Mostly rewritten to avoid using
...
lists (by always binsearching), improve caching (cache strings
used for binsearch, not only results), improve
maintainability (by using more structured binary search) and correct
error handling.
2012-02-04 13:35:17 +01:00
Vladimir 'phcoder' Serbinenko
1e5ec32f2d
* grub-core/script/execute.c (grub_script_return): Fix warning.
2012-02-04 12:21:21 +01:00
Vladimir 'phcoder' Serbinenko
ac576cde1d
* grub-core/script/execute.c (grub_script_return): Fix potential
...
NULL-dereference.
Reported by: Jim Meyering.
2012-02-04 11:52:10 +01:00
Vladimir 'phcoder' Serbinenko
498453f661
* po/POTFILES.in: Regenerate.
...
* util/grub-install.in: Gettextize the strings missed in first pass.
2012-02-03 22:52:23 +01:00
Vladimir 'phcoder' Serbinenko
8be63f2ef6
* Makefile.util.def (grub-mkdevicemap): Removed.
...
* include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
* include/grub/util/deviceiter.h: Removed.
* util/deviceiter.c: Likewise.
* util/getroot.c (grub_util_get_os_disk): New function.
* util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
replacement for EFI.
* util/grub-mkdevicemap.c: Removed.
* util/grub-probe.c (probe): Handle PRINT_DISK.
(argp_parser): Handle -t disk.
2012-02-03 22:36:51 +01:00
Vladimir 'phcoder' Serbinenko
8e1e4e3903
* util/grub-mkfont.c: Migrate to argp.
...
* util/grub-mklayout.c: Likewise.
* util/grub-mkpasswd-pbkdf2.c: Likewise.
* util/grub-mkrelpath.c: Likewise.
* util/grub-probe.c: Likewise.
* util/grub-script-check.c: Likewise.
2012-02-03 21:45:43 +01:00
Vladimir 'phcoder' Serbinenko
4459819a52
* util/grub-reboot.in: Add missing datarootdir.
...
Add missing newline.
* util/grub-set-default.in: Add missing datarootdir.
* util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
* util/grub-mkrescue.in: Likewise.
2012-02-03 21:30:05 +01:00
Vladimir 'phcoder' Serbinenko
f65741c7a4
* util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2012-02-03 21:25:10 +01:00
Vladimir 'phcoder' Serbinenko
c1a33466d8
* util/grub-kbdcomp.in: Add decent help and gettextize.
...
* docs/man/grub-kbdcomp.h2m: New file.
2012-02-03 21:22:12 +01:00
Vladimir 'phcoder' Serbinenko
c76899a0ea
Migrate grub-mkimage.c to argp.
...
* Makefile.util.def (grub-mkimage): Add util/argp_common.c.
(grub-setup): Likewise.
* util/grub-setup.c (print_version): Move to ...
* util/argp_common.c (print_version): ... here.
* util/grub-setup.c (argp_program_version_hook): Move to ...
* util/argp_common.c (argp_program_version_hook): ... here.
* util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
safety.
* util/grub-mkimage.c (main): Migrate to argp.
2012-02-03 21:18:37 +01:00
Vladimir 'phcoder' Serbinenko
57db0757f4
* util/grub-mkrescue.in: Use same message as
...
util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
for better translations.
2012-02-03 14:45:45 +01:00
Vladimir 'phcoder' Serbinenko
18534ad91e
* util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
...
options with generic grub-mkrescue.in with the goal of future
merge.
2012-02-03 14:38:39 +01:00
Vladimir 'phcoder' Serbinenko
c84ba308b5
* grub-core/kern/mm.c: Add missing include of i18n.h
...
* grub-core/lib/relocator.c: Likewise.
2012-02-03 14:20:31 +01:00
Vladimir 'phcoder' Serbinenko
347998c27f
* grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
...
error.
(allocate_pages): Check return value.
Replace fatal with error.
(grub_linux_boot): Replace printf with dprintf.
Check find_mmap_size return value.
Replace fatal with error.
Don't call grub_machine_fini.
(grub_load_elf64): Replace printf with dprintf.
(grub_cmd_linux): Likewise.
(grub_cmd_initrd): Likewise.
(grub_cmd_payload): Likewise.
2012-02-03 13:53:12 +01:00
Vladimir 'phcoder' Serbinenko
c779226e6c
* grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
...
message.
* grub-core/video/radeon_fuloong2e.c
(grub_video_radeon_fuloong2e_setup): Likewise.
* grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
* grub-core/video/video.c (grub_video_set_mode): Don't override
standard out of memory message.
2012-02-03 12:47:07 +01:00
Grégoire Sutre
dc87d45a7a
NetBSD disk wedge support.
2012-02-03 12:32:21 +01:00
Mark Wooding
055f856f71
* util/grub-mkconfig.in: Use umask rather than chmod to create
...
grub.cfg.new to avoid insecure grub.cfg.
2012-02-03 12:15:53 +01:00
Vladimir 'phcoder' Serbinenko
4a9f8346c9
* grub-core/commands/ls.c: Gettextize.
...
* grub-core/commands/setpci.c: Likewise.
* grub-core/commands/videotest.c: Likewise.
* grub-core/disk/geli.c: Likewise.
* grub-core/kern/mm.c: Likewise.
* grub-core/lib/relocator.c: Likewise.
* grub-core/loader/efi/appleloader.c: Likewise.
* grub-core/loader/i386/xnu.c: Likewise.
* grub-core/loader/ia64/efi/linux.c: Likewise.
* grub-core/loader/xnu.c: Likewise.
* grub-core/net/dns.c: Likewise.
* grub-core/net/net.c: Likewise.
* grub-core/script/lexer.c: Likewise.
* grub-core/script/parser.y: Likewise.
* grub-core/script/yylex.l: Likewise.
* util/getroot.c: Likewise.
* util/grub-setup.c: Likewise.
2012-02-03 11:56:49 +01:00
Vladimir 'phcoder' Serbinenko
a646a366bb
* grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
...
number.
2012-02-03 11:50:18 +01:00
Vladimir 'phcoder' Serbinenko
54e2be2630
* grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
2012-02-03 11:48:42 +01:00
Vladimir 'phcoder' Serbinenko
f7c71e68b5
* grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
...
macro.
* grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
* grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
2012-02-03 11:46:18 +01:00
Vladimir 'phcoder' Serbinenko
a32d5c712d
* util/grub-mkstandalone.in: Fix help messages. Gettextize.
...
* util/grub-install.in: Gettextize.
* util/grub-mkconfig.in: Likewise.
* util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
if not available.
(grub_warn): Gettextize.
* util/grub-mknetdir.in: Gettextize.
* util/grub-mkrescue.in: Likewise.
* util/grub-mkstandalone.in: Likewise.
* util/grub-reboot.in: Likewise.
* util/grub-set-default.in: Likewise.
* util/grub.d/00_header.in: Likewise.
* util/grub.d/10_hurd.in: Likewise.
* util/grub.d/10_kfreebsd.in: Likewise.
* util/grub.d/10_linux.in: Likewise.
* util/grub.d/10_netbsd.in: Likewise.
* util/grub.d/10_windows.in: Likewise.
* util/grub.d/20_linux_xen.in: Likewise.
* util/grub.d/30_os-prober.in: Likewise.
* po/POTFILES-shell.in: Regenerate.
2012-02-03 11:42:22 +01:00
Richard Laager
69edd81ab7
* util/grub-mkimage.c (main): Fix format-security warning.
...
* util/grub-mkrelpath.c (main): Likewise.
* util/grub-probe.c (main): Likewise.
2012-02-03 11:07:18 +01:00
Richard Laager
65f08dbfe0
* util/grub-probe.c (probe): Don't crash on canonicalize_file_name
...
failure.
Put back lost PRINT_DRIVE.
2012-02-03 11:02:06 +01:00
Richard Laager
e9084abefd
* util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
...
(grub_guess_root_devices): Replace strlen with sizeof.
Avoid crash.
(find_root_devices_from_poolname): Remove unused variable.
Handle raidzN.
2012-02-03 10:50:56 +01:00
Vladimir 'phcoder' Serbinenko
cf5f7ee788
Support install on multi-device filesystems.
...
* include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
(grub_guess_root_devices): ...this. Return char **. All users updated.
* include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
Removed.
* util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
(find_root_devices_from_poolname): ... here.
(grub_find_root_devices_from_mountinfo): Return char **. Make static.
Support zfs-fuse.
(grub_guess_root_device): Rename to ...
(grub_guess_root_devices): ... this. Return char **. All users updated.
* util/grub-install.in: Handle multi-device filesystems.
* util/grub-probe.c (probe). Make device_names a char **. Add delim
argument. All users updated.
Handle multi-device filesystems.
Use 'delim' as separator.
Remove device check to allow filesystems on file.
(main): Support -0 argument. Handle multi-device.
* util/grub-setup.c (setup): Remove root argument. Handle multi-device.
Fix a cross-device check while on it.
(arguments): Remove root_dev.
(argp_parser): Remove -r.
(main): Remove root_dev.
2012-02-03 10:35:28 +01:00
Vladimir 'phcoder' Serbinenko
2f53a9ed1f
* grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
2012-02-01 18:30:51 +01:00
Vladimir 'phcoder' Serbinenko
17e1d934c7
* grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
...
symbol.
Reported by: NODA, Kai <nodakai>.
2012-02-01 17:47:47 +01:00
Vladimir 'phcoder' Serbinenko
d3e3fab52a
Fix ehci on amd64.
...
* grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
pointers.
* grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
(grub_ehci_setup_qh): Likewise.
(grub_ehci_find_qh): Likewise.
(grub_ehci_transaction): Likewise.
(grub_ehci_setup_transfer): Likewise.
(grub_ehci_check_transfer): Likewise.
(grub_ehci_portstatus): Likewise.
(grub_ehci_detect_dev): Likewise.
(grub_ehci_transfer_controller_data): New field td_last_phys.
(grub_ehci_setup_transfer): Fill td_last_phys.
(grub_ehci_check_transfer): Use td_last_phys.
2012-02-01 16:13:17 +01:00
Seth Goldberg
3008675bea
* grub-core/normal/context.c (grub_env_extractor_close): Don't crash
...
if no submenu is present.
2012-02-01 15:35:30 +01:00
Aleš Nesrsta
fc9b5652f6
CBI support.
...
* include/grub/usb.h (grub_usbms_protocol_t): New values
GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
* grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
(GRUB_USBMS_CBI_ADSC_REQ): Likewise.
(grub_usbms_dev): Add subclass, protocol and intrpt.
Remove in_maxsz and out_maxsz.
(grub_usbms_reset): Rename to ...
(grub_usbms_bo_reset): .. this.
(grub_usbms_cbi_cmd): New function.
(grub_usbms_cbi_reset): Likewise.
(grub_usbms_reset): Likewise.
(grub_usbms_attach): Recognize cbi. Same subclass and protocol.
(grub_usbms_transfer): Rename to ...
(grub_usbms_transfer_bo): ... this.
(grub_usbms_transfer_cbi): Likewise.
(grub_usbms_transfer): Likewise.
2012-02-01 15:19:10 +01:00
Aleš Nesrsta
a2b81d5399
EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
...
the support for the CS5536 modification thereos and few bugfixes.
* grub-core/Makefile.core.def (ehci): New module.
* grub-core/bus/usb/ehci.c: New file.
* grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
port and hubaddr. All users updated.
Save port and hubaddr into dev structure.
* include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
define.
* include/grub/pci.h (grub_dma_phys2virt): New function.
(grub_dma_virt2phys): Likewise.
* include/grub/usb.h (grub_usb_device): New members port and hubaddr.
2012-02-01 14:18:43 +01:00
Vladimir 'phcoder' Serbinenko
b1d51f028b
* grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
...
check as some mkfs implementations omit it.
2012-01-31 23:26:07 +01:00
Vladimir 'phcoder' Serbinenko
fc694106da
* docs/grub.texi (Unicode): Mention identifier and space limitations.
2012-01-31 22:59:32 +01:00
Vladimir 'phcoder' Serbinenko
6c0920e31b
* grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
...
Add new member volname2.
(grub_jfs_label): Use volname2 if available.
2012-01-31 22:49:11 +01:00
Vladimir 'phcoder' Serbinenko
d1a46f9abd
* grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
...
over last_mounted as seen in image generated by mkfs.nilfs2.
(grub_nilfs2_label): Use sizeof for the size of s_volume_name.
2012-01-31 22:43:29 +01:00
Vladimir 'phcoder' Serbinenko
dec8ed14b9
* grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
...
to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
(grub_fat_label) [MODE_EXFAT]: Use macros for size.
2012-01-31 22:38:08 +01:00
Vladimir 'phcoder' Serbinenko
7397c69bb8
* grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
...
over the sector.
2012-01-31 22:25:07 +01:00
Vladimir 'phcoder' Serbinenko
b3fe42adb7
* grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
...
subvolume name (by removing a bogus and useless check).
2012-01-31 22:20:37 +01:00
Vladimir 'phcoder' Serbinenko
10476bb0db
* grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
...
sizeof while on it.
2012-01-31 22:12:57 +01:00
Vladimir 'phcoder' Serbinenko
9c08ad8707
* grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
...
(grub_scsi_read_capacity10): ... this.
(grub_scsi_read_capacity16): New function.
(grub_scsi_open): Use read_capacity16 if read_capacity10 returned
0xffffffff.
Fix off-by-one error.
* include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
64-bit unsigned.
* include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
(grub_scsi_read_capacity10): ... this.
(grub_scsi_read_capacity_data): Rename to ...
(grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
(grub_scsi_read_capacity16): New struct.
(grub_scsi_read_capacity16_data): Likewise.
(grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
grub_scsi_cmd_read_capacity10.
New command grub_scsi_cmd_read_capacity16.
2012-01-30 18:33:11 +01:00
Vladimir 'phcoder' Serbinenko
bc8d0f45a5
SCSI >2TiB support.
...
* grub-core/disk/scsi.c (grub_scsi_read16): New function.
(grub_scsi_write16): Likewise.
(grub_scsi_read): Use read16 when necessary.
(grub_scsi_write): Likewise.
* include/grub/scsicmd.h (grub_scsi_read16): New struct.
(grub_scsi_write16): Likewise.
(grub_scsi_cmd_t): Add READ16 and WRITE16.
2012-01-30 12:47:26 +01:00
Vladimir 'phcoder' Serbinenko
cc774926f1
SCSI write support (for usbms mainly).
...
* grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
a const pointer.
(grub_scsi_write): Implement.
* include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
2012-01-30 12:26:11 +01:00
Vladimir 'phcoder' Serbinenko
67639fd75e
* grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
...
variable.
2012-01-30 01:18:02 +01:00
Vladimir 'phcoder' Serbinenko
9079d3ed4e
* grub-core/lib/posix_wrap/string.h (memchr): New function.
2012-01-29 23:58:42 +01:00
Vladimir 'phcoder' Serbinenko
c6a6f20445
* po/POTFILES.in: Regenerate.
2012-01-29 23:50:37 +01:00
Vladimir 'phcoder' Serbinenko
ecbf8cd1b7
* grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
...
with grub_printf to avoid unnecessary fatal failure.
2012-01-29 23:48:35 +01:00
Vladimir 'phcoder' Serbinenko
0b3b3b38bd
* grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
...
(INT_MAX): Likewise.
* grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
* grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
* grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
(strcpy): Likewise.
(strstr): Likewise.
(strchr): Likewise.
(strncpy): Likewise.
(strcat): Likewise.
(strncat): Likewise.
(strcoll): Likewise.
* include/grub/types.h (GRUB_SHRT_MAX): New define.
(GRUB_INT_MAX): Likewise.
2012-01-29 23:27:31 +01:00
Vladimir 'phcoder' Serbinenko
db7337a3d3
* grub-core/gnulib/regcomp.c (regerror): Don't use abort on
...
unexpected error.
(optimize_utf8): Likewise.
* grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
2012-01-29 23:22:57 +01:00
Vladimir 'phcoder' Serbinenko
f37c87e1ba
* grub-core/boot/i386/pc/lnxboot.S: Use
...
GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
* grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
location.
* include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
definition.
(GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
2012-01-29 23:20:02 +01:00
Vladimir 'phcoder' Serbinenko
63fe43f3c3
* util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
...
* grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
now to avoid double free.
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
hostdisk.
* include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
* util/grub-probe.c (escape_of_path): Always return a new copy.
(print_full_name): Escape path.
(probe): Don't call grub_util_devname_to_ofpath on NULL.
Fix hints on abstractions.
2012-01-29 21:49:44 +01:00
Vladimir 'phcoder' Serbinenko
ebe2c96154
* util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
...
Don't add "root" line if no compatibility hont is available.
Suggested by: Seth Goldberg.
2012-01-29 20:52:37 +01:00
Vladimir 'phcoder' Serbinenko
2b5336a24a
* include/grub/ata.h (grub_ata): Add a new element maxbuffer.
...
* grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
* grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
* grub-core/disk/ahci.c (grub_ahci_open): Likewise.
2012-01-29 19:00:30 +01:00
Vladimir 'phcoder' Serbinenko
74310bd8a7
* include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
2012-01-29 18:56:44 +01:00
Vladimir 'phcoder' Serbinenko
c30582ba5d
* util/grub-pe2elf.c (ehdr): Make static.
...
(shdr): Likewise.
(num_sections): Likewise.
(offset): Likewise.
2012-01-29 18:53:38 +01:00
Vladimir 'phcoder' Serbinenko
5f47782c29
Eliminate ofpath limits and possible overflows.
...
* util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
(OF_PATH_MAX): Removed.
(MAX_DISK_CAT): New const.
(find_obppath): Use allocated rather than preallocated buffer.
Return result. Argument of_path removed. All users updated.
Add missing fdstat.
(xrealpath): New function.
(block_device_get_sysfs_path_and_link): Remove sysfs argument.
Allocate rather than use preallocated buffer. All users updated.
(__of_path_common): Use allocated rather than preallocatecd buffer.
Return result. Argument of_path removed. All users updated.
(vendor_is_ATA): Read only needed part form the file.
(check_sas): Allocate depending on contents rather than fixed.
(main) [STANDALONE]: Handle NULL result.
2012-01-29 18:51:21 +01:00
Vladimir 'phcoder' Serbinenko
f990cbf90e
* grub-core/normal/completion.c (iterate_dev): Close the disk.
2012-01-29 18:20:02 +01:00
Vladimir 'phcoder' Serbinenko
9c6e84b838
Cryptodisk write support.
...
* grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
(grub_cryptodisk_decrypt): Moved logic to ...
(grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
(grub_cryptodisk_write): Implement.
* grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
(grub_util_fd_write): ... this. Make global.
* include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
2012-01-29 18:16:48 +01:00
Vladimir 'phcoder' Serbinenko
87cf97447e
* include/grub/list.h (grub_list_remove): Don't crash if element is
...
removed twice.
2012-01-29 18:09:53 +01:00
Vladimir 'phcoder' Serbinenko
ca8c0baf25
Rename ofconsole to console.
...
* grub-core/commands/terminal.c (handle_command): Handle ofconsole
as sysnonym to console.
* grub-core/term/ieee1275/ofconsole.c: Renamed to ..
* grub-core/term/ieee1275/console.c: ... this. All users updated.
Rename grub_ofconsole_ to grub_console_. All users updated
(grub_console_term_output): Rename "ofconsole" to "console".
* grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
as "console".
2012-01-29 17:01:27 +01:00
Vladimir 'phcoder' Serbinenko
64c8b8f64c
* grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
...
handling.
* include/grub/disk.h (grub_disk_dev_id): Remove obsolete
GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
GRUB_DISK_DEVICE_FILE_ID.
2012-01-29 16:34:39 +01:00
Vladimir 'phcoder' Serbinenko
f6c434d581
* grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
...
and improve performance.
2012-01-29 16:24:07 +01:00
Vladimir 'phcoder' Serbinenko
5858b42d07
* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
...
missing ieee1275/ prefix on whole disk.
2012-01-29 16:22:23 +01:00
Vladimir 'phcoder' Serbinenko
4ed3c26b0d
* include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
...
* include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
2012-01-29 16:20:41 +01:00
Vladimir 'phcoder' Serbinenko
df71143ea1
* grub-core/fs/cpio.c (handle_symlink): Fix a bug.
2012-01-29 15:36:06 +01:00
Vladimir 'phcoder' Serbinenko
076e7c0fda
Merge common RAID and LVM logic to an abstract diskfilter.
...
Add LDM support using the same framework.
* Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
(libgrubmods): Remove grub-core/disk/raid.c and
grub-core/partmap/gpt.c.
* grub-core/Makefile.core.def (ldm): New module.
(raid): Renamed to diskfilter. All users updated.
* grub-core/disk/raid.c: Moved to ...
* grub-core/disk/diskfilter.c: ... here.
* grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
(lv_num): New var.
(find_array): Renamed to ...
(find_lv): ... this. Support multi-LV. Skip nameless LVs
(grub_is_array_readable): Renamed to ...
(grub_is_lv_readable): ... this. Support multinode hierarchy.
(insert_array): New argument id.
(is_node_readable): New function.
(scan_device): Rename to ...
(scan_disk): .. this. Restrict to one disk.
(scan_devices): New function.
(grub_diskfilter_iterate): Support multi-LV.
Skip invisible and nameless LVs.
(grub_diskfilter_memberlist): Support multi-LV.
(grub_diskfilter_read_node): New function.
(grub_raid_read): Most of logic moved to ...
(read_segment): ... here
(read_lv): New function.
(grub_diskfilter_get_vg_by_uuid): New function.
(grub_diskfilter_make_raid): Likewise.
* grub-core/disk/ldm.c: New file.
* grub-core/disk/lvm.c (vg_list): Removed.
(lv_count): Likewise.
(scan_depth): Likewise.
(is_lv_readable): Likewise.
(grub_lvm_getvalue): Advance pointer past the number.
(find_lv): Removed.
(do_lvm_scan): Refactored into ...
(grub_lvm_detect): ... this. Support raid.
(grub_lvm_iterate): Removed.
(grub_lvm_memberlist): Likewise.
(grub_lvm_open): Likewise.
(grub_lvm_close): Likewise.
(read_lv): Likewise.
(read_node): Likewise.
(is_node_readable): Likewise.
(is_lv_readable): Likewise.
(grub_lvm_read): Likewise.
(grub_lvm_write): Likewise.
(grub_lvm_dev): Use diskfilter
(GRUB_MOD_INIT): Likewise.
(GRUB_MOD_FINI): Likewise.
* grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
new interface.
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
* grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
grub_diskfilter_read_node.
Fix a bug with xor.
* grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
grub_diskfilter_read_node.
Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
* grub-core/kern/disk.c (grub_disk_dev_list): Make global.
(grub_disk_dev_iterate): Move from here...
* include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
* grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
Make global.
(grub_hostdisk_find_partition_start): Likewise.
(grub_hostdisk_os_dev_to_grub_drive): New function.
(grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
* grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
* util/getroot.c (make_device_name): ... here.
* grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
Move to ...
* util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
* grub-core/kern/emu/hostdisk.c
(convert_system_partition_to_system_disk): Move to ...
* util/getroot.c (convert_system_partition_to_system_disk): ...here.
* grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
* util/getroot.c (device_is_wholedisk): ... here.
* grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
* util/getroot.c (find_system_device): ... here.
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
Move to ...
* util/getroot.c (grub_util_biosdisk_is_present): ...here.
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
Move to ...
* util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
Handle LDM.
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
Move to ...
* util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
* grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
* include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
DISKFILTER.
* include/grub/raid.h: Renamed to ...
* include/grub/diskfilter.h: ... this.
* include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
(GRUB_RAID_LAYOUT_*): Make into array.
(GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
(grub_diskfilter_vg): New struct.
(grub_diskfilter_pv_id): Likewise.
(grub_raid_member): Removed.
(grub_raid_array): Likewise.
(grub_diskfilter_pv): New struct.
(grub_diskfilter_lv): Likewise.
(grub_diskfilter_segment): Likewise.
(grub_diskfilter_node): Likewise.
(grub_diskfilter_get_vg_by_uuid): New proto.
(grub_raid_register): Inline.
(grub_diskfilter_unregister): Likewise.
(grub_diskfilter_make_raid): New proto.
(grub_diskfilter_vg_register): Likewise.
(grub_diskfilter_read_node): Likewise.
(grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
* include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
(grub_util_is_ldm): Likewise.
(grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
(grub_hostdisk_find_partition_start): Likewise.
(grub_hostdisk_os_dev_to_grub_drive): Likewise.
* include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
New definition.
(grub_gpt_partition_map_iterate): New proto.
* include/grub/lvm.h (grub_lvm_vg): Removed.
(grub_lvm_pv): Likewise.
(grub_lvm_lv): Likewise.
(grub_lvm_segment): Likewise.
(grub_lvm_node): Likewise.
* util/getroot.c [...]
* util/grub-probe.c (probe_raid_level): Handle diskfilter.
(probe_abstraction): Likewise.
* util/grub-setup.c (setup): Remove must_embed. Support LDM.
(main): Remove dead logic.
2012-01-29 14:28:01 +01:00
Vladimir 'phcoder' Serbinenko
8a7f9b9c50
Simplify root device discover and don't fail when trying to open
...
incorrect devices.
* grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
function.
(get_diskname_from_path): Likewise.
(grub_efidisk_get_device_name): Use get_diskname_from_path instead
of iterating.
2012-01-28 13:26:20 +01:00
Vladimir 'phcoder' Serbinenko
30545b8567
* grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
2012-01-27 13:52:48 +01:00
Vladimir 'phcoder' Serbinenko
28ea58cf69
* grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
...
pastthe end.
2012-01-27 13:50:21 +01:00
Vladimir 'phcoder' Serbinenko
692dabca8c
* util/grub-install.in: Add missing \.
...
Reported by: gentoofan
2012-01-27 13:12:00 +01:00
Vladimir 'phcoder' Serbinenko
f6e4ea709f
* grub-core/fs/squash4.c (xz_decompress): Fix return value.
...
(direct_read): Use correct compressed size.
(grub_squash_read_data): Likewise.
2012-01-27 13:09:57 +01:00
Vladimir 'phcoder' Serbinenko
ca1dacea3c
* docs/grub.texi (Platform limitations): New section.
...
(Platform-specific operations): Likewise.
* docs/grub-dev.texi (Porting): Likewise.
2012-01-26 19:40:47 +01:00
Vladimir 'phcoder' Serbinenko
7626111087
IEEE1275 disk write support.
...
* grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
const void *.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
and seek loginc to ...
(grub_ofdisk_prepare): ... here.
(grub_ofdisk_write): Implement.
2012-01-25 18:32:08 +01:00
Vladimir 'phcoder' Serbinenko
fc36d6038b
ARC disk write support.
...
* grub-core/disk/arc/arcdisk.c (handle_writable): New var.
(reopen): New argument writable. All users updated.
Handle required access mode.
(grub_arcdisk_write): Implement.
* include/grub/arc/arc.h (grub_arc_file_access): New enum.
(grub_arc_firmware_vector): Make buffer to write a const buffer.
2012-01-25 16:13:34 +01:00
Vladimir 'phcoder' Serbinenko
e06c2e7abc
* grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
...
(read_sblock): Don't attempt to read superblocks outside the disk size.
2012-01-25 15:10:56 +01:00
Vladimir 'phcoder' Serbinenko
ff4479581d
* grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
...
first superblock to find the second one when possible.
2012-01-25 15:09:00 +01:00
Vladimir 'phcoder' Serbinenko
9e88df393a
* util/grub-install.in: Fix an ARC bug.
...
Print a warning if no platform-specific setup is available.
2012-01-25 15:06:27 +01:00
Vladimir 'phcoder' Serbinenko
bb26e4ff16
Use static allocation rather than scratch pointer in reed_solomon.
...
It decreases its size significantly and avoids a variable in .text.
* grub-core/lib/reed_solomon.c (scratch): Removed.
(chosenstat): New const or static array.
(sigma): Likewise.
(errpot): Likewise.
(errpos): Likewise.
(sy): Likewise.
(mstat): Likewise.
(errvals): Likewise.
(eqstat): Likewise.
(pol_evaluate): Replace x with log_x argument. All users updated.
(syndroms): Removed.
(gauss_solve): Use statically allocated arrays.
(rs_recover): Likewise.
Calculate syndroms directly.
(decode_block): Use statically allocated arrays.
(grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
(main) [TEST]: Allow -DTEST -DSTANDALONE.
2012-01-24 14:49:31 +01:00
Vladimir 'phcoder' Serbinenko
2e13ede59e
Eliminate fixed limit on reed solomon decoder length.
...
* grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
rather than hardcoding the address.
* grub-core/boot/i386/pc/startup_raw.S: Add new data field
no_reed_solomon_length.
Move gate_a20 to no-reed-solomon part.
Don't force a particular size of no reed-solomon part.
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
Removed.
(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
* util/grub-setup.c (setup): Read no_rs_length from the image itself.
2012-01-24 14:39:29 +01:00
Vladimir 'phcoder' Serbinenko
f8a9ab1245
* grub-core/commands/wildcard.c (match_files): Handle filenames
...
without explicit device.
(wildcard_expand): Don't add explicit device if not already present.
* tests/grub_script_echo1.in: Add a new expansion test.
2012-01-24 13:34:36 +01:00
Vladimir 'phcoder' Serbinenko
87edb8940a
Replace single-linked with double-linked lists. It results in more
...
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.
2012-01-24 13:31:12 +01:00
Vladimir 'phcoder' Serbinenko
48b391e9ab
Handle newer autotools. Add some missing quotes while on it.
...
* Makefile.am (pkglib_DATA): Remove update-grub_lib.
(pkglib_DATA): Move grub-mkconfig_lib from here ...
(pkgdata_DATA): ... here.
* Makefile.util.def (update-grub_lib): Removed.
* conf/Makefile.common (pkglib_DATA): Removed.
(pkglib_SCRIPTS): Likewise.
(pkgdata_DATA): New variable.
* tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
needed.
Add missing quotes.
Remove unused variable while on it.
* tests/util/grub-shell.in: Likewise.
* util/grub-install.in: Likewise.
* util/grub-mkconfig.in: Likewise.
* util/grub-mknetdir.in: Likewise.
* util/grub-mkrescue.in: Likewise.
* util/grub-mkstandalone.in: Likewise.
* util/grub.d/00_header.in: Likewise.
* util/grub.d/10_hurd.in: Likewise.
* util/grub.d/10_illumos.in: Likewise.
* util/grub.d/10_kfreebsd.in: Likewise.
* util/grub.d/10_linux.in: Likewise.
* util/grub.d/10_netbsd.in: Likewise.
* util/grub.d/10_windows.in: Likewise.
* util/grub.d/20_linux_xen.in: Likewise.
* util/grub.d/30_os-prober.in: Likewise.
* util/update-grub_lib.in: Removed.
2012-01-24 13:17:36 +01:00
Seth Goldberg
e555f379be
* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
...
a workaround for intel problem.
2012-01-24 03:01:46 +01:00
Paulo de Rezende Pinatti
668327923f
* util/grub-install.in: Support dd'in into PreP partition.
...
* util/grub-probe.c (probe): Support discovering partition type.
(main): Support -t msdos_parttype.
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
Also-By: pfsmorigo <>
2012-01-23 19:33:40 +01:00
Vladimir 'phcoder' Serbinenko
7816a17ed1
* grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
...
infinite recursion using counter.
* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
init to skip it if the magic check fails.
(dec_stream_header): Init s->crc32.
2012-01-23 03:39:37 +01:00
Zachary Bedell
8f9d3a8c36
* grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
...
All users updated.
(find_bestub): Determine correct size.
(fill_vdev_info_real): Fill ashift. New argument. All users updated.
(scan_disk): Align the size down.
Call check pool before find_bestub to have ashift.
Note: real text was accidently commited 2 commits ago.
Also-By: Richard Laager <rlaager@wiktel.com>
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2012-01-23 03:37:06 +01:00
Vladimir 'phcoder' Serbinenko
b055dd326a
* grub-core/lib/relocator.c (malloc_in_range): Remove couple of
...
dprintf in no-malloc zone.
Note: actual code was already committed by mistake in last commit.
2012-01-23 03:31:17 +01:00
Mario Limonciello
d779e9bdac
* configure.ac: Add back in test for limits.h.
2012-01-22 16:43:14 +01:00
Vladimir 'phcoder' Serbinenko
b508af6989
Support 4K-sector NTFS.
...
* include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
(grub_ntfs_data): Remove blocksize.
* grub-core/fs/ntfs.c (fixup): Fix size comparison.
Remove data argument. All users updated.
2012-01-20 15:01:35 +01:00
Vladimir 'phcoder' Serbinenko
dad9c8b59e
* grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
...
being in .text to avoid dprel references.
* include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
* include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
(grub_arch_highmemsize): Likewise.
* include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
* include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
* include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
2012-01-20 14:48:26 +01:00
Vladimir 'phcoder' Serbinenko
d43a777e45
Support powerpc with GCC that defines __PPC__ but not __powerpc__.
...
* config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
* grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
2012-01-18 14:04:52 +01:00
Vladimir 'phcoder' Serbinenko
34e4208ffe
* include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
...
GRUB_UTIL.
(grub_set_datetime_cmos): Likewise.
2012-01-18 14:01:11 +01:00
Vladimir 'phcoder' Serbinenko
3ec0fc1c3b
Make XZ compression parameters dependent on target and not host CPU.
...
* configure.ac: Define GRUB_TARGET_CPU_XYZ series.
* grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2012-01-18 13:59:03 +01:00
Vladimir 'phcoder' Serbinenko
22489834b3
* grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
...
set but not used variable.
2012-01-18 13:54:59 +01:00
Vladimir 'phcoder' Serbinenko
8502fbca04
* grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
...
created when no uuid support is compiled into mkfs.reiser.
2012-01-14 23:36:21 +01:00
Vladimir 'phcoder' Serbinenko
76df2068c4
* grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
...
(utf8_to_macroman): Do the opposite.
* grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
2012-01-14 23:34:33 +01:00
Vladimir 'phcoder' Serbinenko
64e3f8f6fe
* configure.ac: Refise build qemu_mips w/o unifont.
2012-01-14 23:32:18 +01:00
Vladimir 'phcoder' Serbinenko
9c2710789f
Eliminate grub_min/grub_max prone to overflow usage.
...
* grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
(poll_nonroot_hub): Likewise.
* grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
(grub_affs_label): Likewise.
* grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
* grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
(grub_hfs_label): Likewise.
* grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
* grub-core/fs/zfs/zfs.c (MIN): Remove.
(zap_leaf_array_equal): Use grub_size. Remove MIN.
(zap_leaf_array_get): Likewise.
(dnode_get_path): Likewise.
* grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
* grub-core/io/xzio.c (grub_xzio_read): Likewise.
* grub-core/script/execute.c (grub_script_break): Likewise.
* grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
grub_max.
* grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
* include/grub/misc.h (grub_min): Removed.
(grub_max): Likewise.
2012-01-14 15:44:34 +01:00
Vladimir 'phcoder' Serbinenko
80662dbc5d
* grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
...
direct.inode = 0.
2012-01-14 11:55:20 +01:00
Vladimir 'phcoder' Serbinenko
e6da146746
* grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
2012-01-14 11:53:29 +01:00
Vladimir 'phcoder' Serbinenko
b1ac4cb1f9
* include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
2012-01-14 11:51:52 +01:00
Vladimir 'phcoder' Serbinenko
b4bf7c3b20
* grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
...
* grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
2012-01-14 11:48:56 +01:00
Vladimir 'phcoder' Serbinenko
8ee1101a97
* grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
...
rather than a hack for grub_strncasemap.
2012-01-14 11:46:13 +01:00
Vladimir 'phcoder' Serbinenko
4d1e2bc9e3
* grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
...
disks with unknown size.
* grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
2012-01-14 11:37:34 +01:00
Vladimir 'phcoder' Serbinenko
75b49ebed9
Remove defines pertaining to arbitrary limits not affecting GRUB
...
anymore.
* grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
(EXT2_MAX_SYMLINKCNT): Likewise.
* grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
* grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
* include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
(GRUB_PXE_MAX_BLKSIZE): Likewise.
* include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
* include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
(DN_MAX_OBJECT_SHIFT): Likewise.
(DN_MAX_OFFSET_SHIFT): Likewise.
(DN_MAX_OBJECT): Likewise.
(DNODES_PER_LEVEL_SHIFT): Likewise.
* include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
(SPA_MAXBLOCKSIZE): Likewise.
(SPA_BLOCKSIZES): Likewise.
* include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
(MZAP_MAX_BLKSZ): Likewise.
2012-01-14 11:30:43 +01:00
Vladimir 'phcoder' Serbinenko
74a1dce71d
* grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
...
handle NULL appropriately.
Remove MIN.
2012-01-14 11:23:51 +01:00
Vladimir 'phcoder' Serbinenko
30c7d3ce34
Fix efiemu.
...
* grub-core/efiemu/runtime/efiemu.c: explicitly include right
cpu/types.h.
(efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
* configure.ac: Fix efiemu check.
2012-01-13 15:12:28 +01:00
Vladimir 'phcoder' Serbinenko
3c76ea0c2c
* util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
...
grub_probe.
Reported by: adamwill
2012-01-13 13:54:24 +01:00
Seth Goldberg
7e532280bd
* grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
2012-01-12 22:20:29 +01:00
Vladimir 'phcoder' Serbinenko
3049237440
Fix handling of wide characters in gfxterm.
...
* grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
(clear_char): Likewise.
(paint_char): Skip code == NULL chars.
(grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
2012-01-12 22:16:07 +01:00
Vladimir 'phcoder' Serbinenko
e70cb72f73
* grub-core/normal/charset.c: Move comment to right place.
2012-01-12 22:13:20 +01:00
Vladimir 'phcoder' Serbinenko
5c827cf971
* grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
...
(GRUB_AFFS_FLAG_FFS): Put back where it was.
(grub_affs_mount): Revert the correct version checking.
2012-01-11 12:53:38 +01:00
Vladimir 'phcoder' Serbinenko
53603892df
* docs/grub.texi (Unicode): Mention several other unsupported features.
2012-01-11 12:50:04 +01:00
Vladimir 'phcoder' Serbinenko
ff094b9b57
* grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
...
case statements as compile-time one.
(direct_read): Prevent spurious warnings.
(grub_squash_read_data): Likewise.
2012-01-11 12:46:50 +01:00
Vladimir 'phcoder' Serbinenko
c029da8a89
Various squash4 fixes and LZO and XZ support.
...
* 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.
2011-12-26 13:18:01 +01:00
Vladimir 'phcoder' Serbinenko
7a45a539db
Don't override more informative errors.
...
* grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
* grub-core/font/font.c (open_section): Likewise.
* grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
filename. Don't override errors.
(grub_cmd_openbsd_ramdisk): Don't override errors.
* grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
(grub_cmd_initrd): Likewise.
* grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
(grub_cmd_initrd): Likewise.
* grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
(grub_cmd_linux): Likewise.
(grub_cmd_initrd): Likewise.
(grub_cmd_payload): Likewise.
* grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
* grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
(grub_cmd_module): Likewise.
* grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
* grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
* grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
(grub_cmd_xnu_mkext): Likewise.
(grub_cmd_xnu_ramdisk): Likewise.
(grub_xnu_check_os_bundle_required): Likewise.
(grub_xnu_load_kext_from_dir): Likewise.
(grub_cmd_xnu_kextdir): Likewise.
* grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
2011-12-26 12:58:08 +01:00
Vladimir 'phcoder' Serbinenko
b2d004db18
* grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
...
as 1024 in block size field. Found on one of my test images.
Small optimisation while on it.
2011-12-25 22:44:42 +01:00
Vladimir 'phcoder' Serbinenko
ec000eaca9
* docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
...
* grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
(grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
performance fixes while on it.
(grub_sfs_close): Fix memory leak while on it.
(grub_sfs_label): Convert Latin1 to UTF-8.
2011-12-25 22:39:56 +01:00
Vladimir 'phcoder' Serbinenko
f50e11653e
* grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
...
space to avoid overflows.
(grub_hfs_label): Convert from macroman to UTF-8.
2011-12-25 22:23:05 +01:00
Vladimir 'phcoder' Serbinenko
2ae254de13
* grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
2011-12-25 22:07:15 +01:00
Vladimir 'phcoder' Serbinenko
0108f49101
* grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
2011-12-25 17:41:55 +01:00
Vladimir 'phcoder' Serbinenko
f45f5f89ff
* unicode: Import Unicode 6.0 data.
2011-12-25 16:17:25 +01:00
Vladimir 'phcoder' Serbinenko
63fa8ef94e
* grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
...
outside of range.
2011-12-25 16:15:01 +01:00
Vladimir 'phcoder' Serbinenko
4d8c476536
Avoid cutting in the middle of UTF-8 string.
...
* include/grub/charset.h (grub_getend): New function.
* grub-core/script/function.c (grub_script_function_find): Use
grub_getend.
* grub-core/normal/completion.c (add_completion): Likewise.
2011-12-25 16:11:41 +01:00
Vladimir 'phcoder' Serbinenko
f3cb4a4e57
* grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
...
(grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
* include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
(GRUB_UNICODE_TAG_END): Likewise.
(GRUB_UNICODE_LAST_VALID): Likewise.
2011-12-25 16:07:33 +01:00
Vladimir 'phcoder' Serbinenko
5da8dbc5bc
* include/grub/unicode.h (grub_unicode_compact_range): Replace end with
...
len and make it smaller. All users updated.
* util/import_unicode.py: Put length and not end character.
Check length.
2011-12-25 16:03:42 +01:00
Vladimir 'phcoder' Serbinenko
8569f13d8d
Make better Unicode-compliant and unify some UTF-8 code pathes.
...
* grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
valid character.
(grub_is_valid_utf8): Use grub_utf8_process.
Check resulting code range.
(grub_utf8_to_ucs4): Use grub_utf8_process.
* include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
valid character.
2011-12-25 15:57:50 +01:00
Vladimir 'phcoder' Serbinenko
cc4fddf5f5
* grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2011-12-25 15:43:15 +01:00
Vladimir 'phcoder' Serbinenko
bbc47747ad
* docs/grub.texi (Filesystems): Mention AFS.
2011-12-25 15:40:43 +01:00
Vladimir 'phcoder' Serbinenko
f63d6bf4a1
* docs/grub.texi (Filesystems): Clarify restrictions.
...
(Regexp): Mention non-Unicode regexp behaviour.
(Other): Mention non-Unicode matching behaviour.
2011-12-25 14:46:44 +01:00
Vladimir 'phcoder' Serbinenko
74bbf0dbae
Make HFS implementation use MacRoman.
...
* grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
(macroman): New const array.
(macroman_to_utf8): New function.
(utf8_to_macroman): Likewise.
(grub_hfs_find_dir): Use utf8_to_macroman.
(grub_hfs_dir): Use macroman_to_utf8.
Set case_insensitive.
2011-12-24 20:20:41 +01:00
Vladimir 'phcoder' Serbinenko
4ea0316e67
* docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2011-12-24 15:38:53 +01:00
Vladimir 'phcoder' Serbinenko
d3c13cbd62
Integrate hints into autogeneration scripts.
...
* docs/grub.texi (Filesystems): Add a hostdisk example.
* Makefile.util.def (grub-mkdevicemap): Remove ofpath.
(grub-probe): Add ofpath.
* gentpl.py: Remove group nosparc64.
* grub-core/commands/search.c (cache_entry): New struct.
(cache): New var.
(FUNC_NAME): Use and save cache. Fix handling of trailing comma.
* grub-core/commands/search_wrap.c (options): Add platform-specific
hint options.
(grub_cmd_search): Handle platform-specific hints.
(GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
* grub-core/kern/emu/hostdisk.c (map): New field device_map.
(grub_util_biosdisk_data): Likewise.
(grub_util_biosdisk_open): Set device_map.
(read_device_map): Handle "" as indication of no map.
Set device_map.
(find_system_device): Add hostdisk/ prefix for autogenerated entries.
(grub_util_biosdisk_get_compatibility_hint): New function.
* grub-core/normal/main.c (features): Add feature_platform_search_hint.
* include/grub/emu/hostdisk.h
(grub_util_biosdisk_get_compatibility_hint): New proto.
* util/grub-install.in: Don't call grub-mkdevicemap.
Add platform-specific hint to load.cfg.
* util/grub-mkconfig.in: Don't call grub-mkdevicemap.
* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
hints. Set root preliminary to compatibility hint, not to OS name.
* util/grub-probe.c (PRINT_*): Add hints.
(print): Make static.
(escape_of_path): New function.
(guess_bios_drive): Likewise.
(guess_efi_drive): Likewise.
(guess_baremetal_drive): Likewise.
(print_full_name): Likewise.
(probe): Handle hints.
(main): Likewise.
* util/ieee1275/devicemap.c: Removed.
* util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
updated.
(grub_util_devname_to_ofpath): Return NULL on failure.
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
resource leak.
* util/getroot.c (grub_util_pull_device): Fix memory leak.
* po/POTFILES.in: Regenerated.
Allow purely long options
* grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
(SHORT_ARG_USAGE): Likewise.
(grub_arg_show_help): Compare opt with help_options.
(parse_option): Receive opt as argument. If makes big simplificatons.
All users updated
2011-12-24 15:09:26 +01:00
Vladimir 'phcoder' Serbinenko
00ce2df3d4
* grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
...
Restructure to avoid warning.
2011-12-24 13:12:01 +01:00
Vladimir 'phcoder' Serbinenko
e77e325f6f
* util/grub-install.in: Account for possible escaped comma in device
...
name.
2011-12-24 02:50:30 +01:00
Vladimir 'phcoder' Serbinenko
165099ea42
* util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
...
channel.
2011-12-24 02:46:47 +01:00
Vladimir 'phcoder' Serbinenko
ce4a999d4d
* grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
...
allocation and zero-setting.
(grub_ieee1275_get_devname): Check that alias is complete.
2011-12-24 02:45:17 +01:00
Vladimir 'phcoder' Serbinenko
379586ad7d
* grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
...
unaligned segments.
2011-12-24 02:43:21 +01:00
Vladimir 'phcoder' Serbinenko
9197b0ade5
* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
...
prefix.
(grub_ofdisk_open): Check and discard ieee1275 prefix.
* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
Add ieee1275 prefix.
2011-12-24 02:40:18 +01:00
Vladimir 'phcoder' Serbinenko
edddb7f9b2
* docs/grub.texi (Filesystems): Update.
2011-12-23 17:05:36 +01:00
Vladimir 'phcoder' Serbinenko
a1a8b1b90a
Support odc, newc and bigendian cpio formats.
...
* Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
* grub-core/Makefile.core.def (newc): New module.
(odc): Likewise.
(cpio_be): Likewise.
* grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
(MAGIC): Likewise.
(MAGIC2): Likewise.
(head) [MODE_ODC]: Adapt for the format.
(head) [MODE_NEWC]: Likewise.
(head) [!MODE_*]: Write fields of interest as arrays.
(MAGIC_USTAR): Removed.
(read_number) [MODE_NEWC]: Change to hex.
(read_number) [!MODE_*]: Parse binary arrays.
(grub_cpio_find_file): Factor out the code for better structure and
always use read_number.
(grub_cpio_mount): Use MAGIC and MAGIC2.
(grub_cpio_dir): Exit on first hook non-0 return.
(grub_cpio_fs) [MODE_ODC]: Set name to odc.
(grub_cpio_fs) [MODE_NEWC]: Set name to newc.
(GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
(GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
(GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
(GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
* grub-core/fs/newc.c: New file.
* grub-core/fs/odc.c: Likewise.
* grub-core/fs/cpio_be.c: Likewise.
2011-12-23 16:15:18 +01:00
Vladimir 'phcoder' Serbinenko
58eba9eec7
Fix handling of tar numbers occupying the whole field.
...
* grub-core/fs/cpio.c (read_number): New function.
(grub_cpio_find_file): Use read_number instead of strtoull.
2011-12-23 14:11:31 +01:00
Vladimir 'phcoder' Serbinenko
a54a0e1270
* grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
...
occupying the whole field size.
2011-12-23 13:38:21 +01:00
Lukas Anzinger
a6120aca2e
* util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
2011-12-23 12:01:25 +01:00
Vladimir 'phcoder' Serbinenko
a93964ce11
* grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
2011-12-23 11:54:08 +01:00
Seth Goldberg
3ea1ca46c1
* grub-core/Makefile.core.def (lzma_decompress): Add missing
...
TARGET_IMG_LDFLAGS.
2011-12-23 11:39:30 +01:00
Vladimir 'phcoder' Serbinenko
b87f7ef26b
* util/getroot.c (ESCAPED_PATH_MAX): New define.
...
(mountinfo_entry): Increase the field size to take escaping into
account.
(find_root_device_from_libzfs): Add one byte to size of strings for
security.
2011-12-23 11:36:31 +01:00
Vladimir 'phcoder' Serbinenko
6209239517
missing ChangeLog
2011-12-23 10:24:08 +01:00
Vladimir 'phcoder' Serbinenko
1f0b1a7730
* grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
...
_LzmaDecodeA.
2011-12-23 10:21:27 +01:00
Vladimir 'phcoder' Serbinenko
8eba9997db
* docs/grub.texi (Internationalisation): New section.
2011-12-22 20:55:55 +01:00
Vladimir 'phcoder' Serbinenko
dd0c91e98e
* docs/grub.texi (Loopback booting): New section.
2011-12-22 17:43:51 +01:00
Keshav P R
86717cbe08
* util/grub-mkstandalone.in: Fix minor typo errors.
2011-12-22 13:05:19 +01:00
Vladimir 'phcoder' Serbinenko
198e150aaf
IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
...
* grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
net/icmp.c and net/icmp6.c.
(http): New module.
(priority_queue): Likewise.
* grub-core/io/bufio.c: Rewritten.
* grub-core/lib/legacy_parse.c (legacy_command): New argument type
TYPE_WITH_CONFIGFILE_OPTION.
(legacy_commands): Add bootp and dhcp.
(is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
(grub_legacy_parse): Likewise.
* grub-core/lib/priority_queue.c: New file.
* grub-core/net/arp.c: Add missing license header.
(arp_find_entry): Removed.
(arp_find_entry): Likewise.
(grub_net_arp_resolve): Rename to ...
(grub_net_arp_send_request): ...this.
(grub_net_arp_receive): New card argument.
* grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
Set router and DNS server.
(grub_net_configure_by_dhcp_ack): Handle routing information.
(grub_cmd_bootp): Set checksum.
(grub_bootp_init): Remove net_dhcp.
* grub-core/net/dns.c: New file.
* grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
completion.
(get_card_packet): Handle allocation.
(grub_efinet_findcards): Set mtu.
* grub-core/net/drivers/emu/emunet.c: Add missing license header.
(get_card_packet): Handle allocation.
(emucard): Set mtu.
* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
(GRUB_MOD_INIT): Set mtu.
* grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
mtu.
(get_card_packet): Handle allocation.
(grub_ofnet_findcards): Set mtu.
* grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
assert.
(grub_net_recv_ethernet_packet): Handle IPv6.
* grub-core/net/http.c: New file.
* grub-core/net/icmp.c: Likewise.
* grub-core/net/icmp6.c: Likewise.
* grub-core/net/ip.c (ip6addr): New type.
(ip6hdr): Likewise.
(reassemble): Likewise.
(cmp): New function.
(reassembles): New variable.
(grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
(id): New variable.
(send_fragmented): New function.
(grub_net_send_ip_packet): Rename to ...
(grub_net_send_ip4_packet): ... this. Send fragmented if needed.
Handle non-UDP.
(grub_net_recv_ip_packets): Rename to ...
(handle_dgram): ... this. Check checksum. Handle non-UDP.
(free_rsm): New function.
(free_old_fragments): Likewise.
(grub_net_recv_ip4_packets): New function.
(grub_net_send_ip6_packet): Likewise.
(grub_net_send_ip_packet): Likewise.
(grub_net_recv_ip6_packets): Likewise.
(grub_net_recv_ip_packets): Likewise.
* grub-core/net/net.c (grub_net_link_layer_entry): New struct.
(LINK_LAYER_CACHE_SIZE): New const.
(link_layer_find_entry): New function.
(grub_net_link_layer_add_address): Likewise.
(grub_net_link_layer_resolve_check): Likewise.
(grub_net_link_layer_resolve): Likewise.
(grub_net_ipv6_get_slaac): Likewise.
(grub_net_ipv6_get_link_local): Likewise.
(grub_cmd_ipv6_autoconf): Likewise.
(parse_ip): Handle one number representation.
(parse_ip6): New functoion.
(match_net): Handle IPv6.
(grub_net_resolve_address): Handle IPv6 and DNS.
(grub_net_resolve_net_address): Handle IPv6.
(route_cmp): New function.
(grub_net_route_address): Find best route.
(grub_net_addr_to_str): Handle IPv6.
(grub_net_addr_cmp): New function.
(grub_net_add_addr): Register local route.
(print_net_address): Handle net address.
(grub_net_poll_cards): Retransmit TCP.
(grub_net_poll_cards_idle_real): Likewise.
(have_ahead): New function.
(grub_net_seek_real): Use underlying seek.
(GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
* grub-core/net/tcp.c: New file.
* grub-core/net/tftp.c (tftp_data): Add priority_queue.
(cmp): New function.
(ack): Likewise.
(tftp_receive): Handle unordered input.
(destroy_pq): New function.
(tftp_close): Close pq.
* grub-core/net/udp.c: Put missing license header.
(grub_net_udp_socket): New function.
(udp_socket_register): Likewise.
(grub_net_udp_close): Likewise.
(grub_net_recv_udp_packet): Check checksum.
* include/grub/efi/api.h (grub_efi_simple_network): Add status.
* include/grub/misc.h (grub_memchr): New function.
* include/grub/net.h (GRUB_NET_*_SIZE): New enum.
(grub_net_card_driver): Return buf in recv.
(grub_net_slaac_mac_list): New struct.
(grub_network_level_protocol_id): Add ipv6.
(grub_net_network_level_addr): Likewise.
(grub_net_network_level_net_addr): Likewise.
(grub_net_app_protocol): Add seek.
(grub_net_socket): Removed.
(grub_net_sockets): Likewise.
(grub_net_socket_register): Likewise.
(grub_net_socket_unregister): Likewise.
(FOR_NET_SOCKETS): Likewise.
(grub_net_add_addr): Add const.
(GRUB_NET_BOOTP_*): New enum.
(grub_net_addr_cmp): New proto.
(GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
(GRUB_NET_MAX_STR_HWADDR_LEN): New define.
(grub_net_hwaddr_to_str): NEw proto.
(FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
(FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
(grub_dns_init): New proto.
(grub_dns_fini): Likewise.
(grub_net_tcp_retransmit): Likewise.
(grub_net_link_layer_add_address): Likewise.
(grub_net_link_layer_resolve_check): Likewise.
(grub_net_link_layer_resolve): Likewise.
(grub_net_dns_lookup): Likewise.
(grub_net_add_dns_server): Likewise.
(grub_net_remove_dns_server): Likewise.
(GRUB_NET_TRIES): New const.
(GRUB_NET_INTERVAL): Likewise.
* include/grub/net/arp.h: Mostly rewritten.
* include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
* include/grub/net/ip.h: Mostly rewritten.
* include/grub/net/netbuff.h: Indent.
* include/grub/net/tcp.h: New file.
* include/grub/net/udp.h: Mostly rewritten.
* include/grub/priority_queue.h: New file.
* include/grub/types.h (PRIdGRUB_SSIZE): New define.
(grub_swap_bytes64_compile_time): Likewise.
(grub_cpu_to_be16_compile_time): Likewise.
(grub_cpu_to_be32_compile_time): Likewise.
(grub_cpu_to_be64_compile_time): Likewise.
(grub_be_to_cpu64_compile_time): Likewise.
2011-12-20 18:17:07 +01:00
Vladimir 'phcoder' Serbinenko
215c18008e
* grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
...
UINT_TO_PTR with cast.
2011-12-16 17:46:28 +01:00
Vladimir 'phcoder' Serbinenko
c17e546cca
* util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
...
don't use them.
2011-12-15 20:33:32 +01:00
Vladimir 'phcoder' Serbinenko
ff6b18b618
* util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
...
already there.
2011-12-15 20:32:02 +01:00
Vladimir 'phcoder' Serbinenko
70ffcc93ee
* util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
...
confusing ipxe.
2011-12-15 20:29:30 +01:00
Vladimir 'phcoder' Serbinenko
e5f4d2607a
* grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
...
Add missing const attribute.
* grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
Likewise.
* grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
Likewise.
2011-12-15 20:26:17 +01:00
Vladimir 'phcoder' Serbinenko
8e54b4b76a
* grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
...
misaligned access.
(serpent_setkey): Likewise.
(serpent_encrypt_internal): Likewise.
(serpent_decrypt_internal): Likewise.
(serpent_encrypt): Don't put an alignment-increasing cast.
(serpent_decrypt): Likewise.
(serpent_test): Likewise.
2011-12-15 20:20:02 +01:00
Vladimir 'phcoder' Serbinenko
813c0a2be8
* grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
2011-12-15 20:05:27 +01:00
Vladimir 'phcoder' Serbinenko
f2b60fbdb8
Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
...
* include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
grub_addr_t casts.
(PTR_TO_UINT64): Likewise.
(PTR_TO_UINT32): Likewise.
2011-12-15 19:59:49 +01:00
Vladimir 'phcoder' Serbinenko
5ef5c51147
* util/grub-mkimage.c (generate_image): Decrease the higher limit
...
because of stack.
* util/grub-setup.c (setup): Don't add redundancy past the higher load
limit.
2011-12-15 19:39:41 +01:00
Vladimir 'phcoder' Serbinenko
c476e6df16
* grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
...
text_width > available width a bit more gracefully.
2011-12-15 19:35:54 +01:00
Vladimir 'phcoder' Serbinenko
384ad7cc1b
* grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
...
current address calculation.
2011-12-15 19:32:41 +01:00
Vladimir 'phcoder' Serbinenko
96f8caf812
* grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
...
stack.
(encode_block): Likewise.
2011-12-15 19:27:01 +01:00
Vladimir 'phcoder' Serbinenko
276b7a8bdd
* grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
...
certainety.
2011-12-15 19:22:36 +01:00
Vladimir 'phcoder' Serbinenko
e3fd394a10
* grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
...
non-RS part to avoid RS messing with GDT.
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
Increase to suit in realmode routines.
2011-12-15 19:20:41 +01:00
Vladimir 'phcoder' Serbinenko
ee9c2e7a97
* grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
...
be deterministic.
(syndroms): Compute 0 syndrom.
(rs_recover): Use 0 syndrom.
2011-12-15 02:20:21 +01:00
Vladimir 'phcoder' Serbinenko
7a7f7cc9c3
* include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
2011-12-14 23:59:11 +01:00
Vladimir 'phcoder' Serbinenko
a14b16d1f9
* include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
...
brackets.
2011-12-14 23:57:35 +01:00
Vladimir 'phcoder' Serbinenko
ca1b552c02
* grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
...
account.
(get_top_pad): Likewise.
(get_right_pad): Likewise.
(get_bottom_pad): Likewise.
2011-12-14 14:20:57 +01:00
Vladimir 'phcoder' Serbinenko
9f59e9fc36
* grub-core/gfxmenu/gui_list.c (draw_menu): Don't use set in if.
2011-12-14 12:05:26 +01:00
Vladimir 'phcoder' Serbinenko
e739d69885
* include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
...
attribute as the structure isn't guaranteed to be properly aligned.
(grub_efi_pci_device_path): Likewise.
(grub_efi_pccard_device_path): Likewise.
(grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
specify the size of `memory_type'.
(grub_efi_vendor_device_path): Likewise.
(grub_efi_controller_device_path): Likewise.
(grub_efi_acpi_device_path): Likewise.
(grub_efi_expanded_acpi_device_path): Likewise.
(grub_efi_atapi_device_path): Likewise.
(grub_efi_scsi_device_path): Likewise.
(grub_efi_fibre_channel_device_path): Likewise.
(grub_efi_1394_device_path): Likewise.
(grub_efi_usb_device_path): Likewise.
(grub_efi_usb_class_device_path): Likewise.
(grub_efi_i2o_device_path): Likewise.
(grub_efi_mac_address_device_path): Likewise.
(grub_efi_ipv4_device_path): Likewise.
(grub_efi_ipv6_device_path): Likewise.
(grub_efi_infiniband_device_path): Likewise.
(grub_efi_uart_device_path): Likewise.
(grub_efi_vendor_messaging_device_path): Likewise.
(grub_efi_hard_drive_device_path): Likewise.
(grub_efi_cdrom_device_path): Likewise.
(grub_efi_vendor_media_device_path): Likewise.
(grub_efi_file_path_device_path): Likewise.
(grub_efi_protocol_device_path): Likewise.
(grub_efi_piwg_device_path): Likewise.
(grub_efi_bios_device_path): Likewise.
2011-12-14 11:13:14 +01:00
Vladimir 'phcoder' Serbinenko
cb8f88ea82
* include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
...
(grub_ucs4_to_utf8_alloc): Likewise.
(grub_ucs4_to_utf8): Likewise.
* grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
(grub_ucs4_to_utf8_alloc): Likewise.
2011-12-14 10:01:24 +01:00
Vladimir 'phcoder' Serbinenko
309e535231
AFFS never uses unicode.
...
* include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
(grub_latin1_to_utf8): New inline function.
* grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
2011-12-14 09:52:00 +01:00
Vladimir 'phcoder' Serbinenko
e7987e1b3b
* grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
...
overflow.
2011-12-13 23:15:56 +01:00
Vladimir 'phcoder' Serbinenko
efc2616ee1
* grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
...
(grub_squash_dirent_header): Likewise.
(read_chunk): Don't double swap.
(grub_squash_iterate_dir): Fix swap sizes.
2011-12-13 23:14:25 +01:00
Vladimir 'phcoder' Serbinenko
3c349f5a37
* grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
2011-12-13 23:11:48 +01:00
Vladimir 'phcoder' Serbinenko
b453412d2f
* grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
...
(grub_hfs_iterate_dir): Likewise.
2011-12-13 23:10:38 +01:00
Vladimir 'phcoder' Serbinenko
12e9d4d152
Fix video on platforms where unaligned access is forbidden.
...
Make several optimisations while on it.
* grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
(grub_video_fbblit_replace_32bit_1bit): Likewise.
(grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
Disable.
(grub_video_fbblit_replace_16bit_1bit):
Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
(grub_video_fbblit_replace_8bit_1bit): Likewise.
(grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
(grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
(grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
(grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
(grub_video_fbblit_replace_BGR888_RGB888): Likewise.
(grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
(grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
(grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
(grub_video_fbblit_replace_index_RGBX8888): Likewise.
(grub_video_fbblit_replace_index_RGB888): Likewise.
(grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
(grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
(grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
(grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
(grub_video_fbblit_blend_index_RGBA8888): Likewise.
(grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
(grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
Disable.
(grub_video_fbblit_blend_XXX565_1bit):
Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
* grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
* grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
void *.
* grub-core/video/fb/video_fb.c (common_blitter)
[!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
(grub_video_fb_create_render_target_from_pointer)
[!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
* include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
* include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
definition.
* include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
2011-12-13 20:07:33 +01:00
Vladimir 'phcoder' Serbinenko
ace96609b6
* grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
...
HH22 and HM10 relocations.
2011-12-13 19:56:50 +01:00
Vladimir 'phcoder' Serbinenko
fd261d7300
* grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
2011-12-13 19:55:27 +01:00
Vladimir 'phcoder' Serbinenko
e59b7857f8
* grub-core/commands/videotest.c (grub_cmd_videotest): Check that
...
allocation succeeded.
2011-12-13 19:53:57 +01:00
Vladimir 'phcoder' Serbinenko
9b4baaa4ee
* grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
...
argument a u8 pointer. All users updated.
Handle unaligned buffers.
2011-12-13 16:35:12 +01:00
Vladimir 'phcoder' Serbinenko
dc71319397
* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
...
add_part to workaround compiler bug.
2011-12-13 16:33:27 +01:00
Vladimir 'phcoder' Serbinenko
30dd48c2b0
* include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
2011-12-13 16:29:15 +01:00
Vladimir 'phcoder' Serbinenko
0c6087a8c9
* grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
...
Reserve alignment invariants.
(grub_multiboot_load): Likewise.
(retrieve_video_parameters): Likewise.
(grub_multiboot_make_mbi): Likewise.
2011-12-13 16:22:44 +01:00
Vladimir 'phcoder' Serbinenko
c2e777777b
* grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
...
incorrect pointer.
2011-12-13 16:20:25 +01:00
Vladimir 'phcoder' Serbinenko
b70b6d1107
* grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
...
(grub_pata_pio_write): Likewise.
2011-12-13 15:55:36 +01:00
Vladimir 'phcoder' Serbinenko
02a2bf8384
Add noreturn attributes and remove unreachable code.
...
* grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
code.
* grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
code. Mark as noreturn.
* grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
* grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
unreachable code.
* grub-core/kern/main.c (grub_main): Mark as noreturn.
* grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
* grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
* grub-core/normal/menu.c (run_menu): Remove unreachable code.
* include/grub/kernel.h (grub_main): Mark as noreturn.
* include/grub/reader.h (grub_rescue_run): Likewise.
2011-12-13 15:13:51 +01:00
Vladimir 'phcoder' Serbinenko
2019d09ef0
* include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
...
redundant declaration.
2011-12-13 15:04:07 +01:00
Vladimir 'phcoder' Serbinenko
d1c501ee94
* include/grub/net.h (grub_net_network_level_interfaces): Remove
...
redundant declaration.
(FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
2011-12-13 15:03:06 +01:00
Vladimir 'phcoder' Serbinenko
6166442083
* grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
...
to ensure alignment.
(grub_hdparm_print_identify): Make argument uint16 * to ensure
alignment. Ensure tmp alignment.
(grub_cmd_hdparm): Ensure buf alignment.
* grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
to ensure alignment.
(grub_ata_dumpinfo): Ensure text alignment.
(grub_atapi_identify): Preserve alignment invariant.
(grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
2011-12-13 14:57:46 +01:00
Vladimir 'phcoder' Serbinenko
0d51ee20ee
* include/grub/emu/misc.h (xasprintf): Add missing format attribute.
...
* include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
* include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
* include/grub/misc.h (grub_reboot)
[GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
(grub_halt) [__mips__]: Likewise.
2011-12-13 14:51:41 +01:00
Vladimir 'phcoder' Serbinenko
753ef8c113
* include/grub/efi/memory.h (grub_machine_mmap_iterate):
...
Remove redundant declaration.
(grub_mmap_get_post64): Likewise.
(grub_mmap_get_upper): Likewise.
(grub_mmap_get_lower): Likewise.
2011-12-13 14:47:00 +01:00
Vladimir 'phcoder' Serbinenko
85c85365bb
* grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
...
uint32_t * to ensure alignment.
(dvh_partition_map_iterate): Make `block' a union to ensure alignment.
2011-12-13 14:44:38 +01:00
Vladimir 'phcoder' Serbinenko
93018f6400
* grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
...
uint16_t * to ensure alignment.
(sun_pc_partition_map_iterate): Make `block' a union to ensure
alignment.
2011-12-13 14:42:41 +01:00
Vladimir 'phcoder' Serbinenko
a23f2cc4d6
* grub-core/partmap/sun.c (grub_sun_is_valid): make argument uint16_t *
...
to ensure alignment.
(sun_partition_map_iterate): Make `block' a union to ensure alignment.
2011-12-13 14:40:41 +01:00
Vladimir 'phcoder' Serbinenko
58acccd645
* grub-core/fs/ntfs.c (u16at): Make into inline function.
...
Handle unaligned pointers.
(u32at): Likewise.
(u64at): Likewise.
(fixup): Use byte access instead of v16at.
(find_attr): Fix imporper usage of v32at.
(read_data): Likewise.
(list_file): Handle byte-swapping and unaligned strings.
(grub_ntfs_label): Likewise.
2011-12-13 14:17:24 +01:00
Vladimir 'phcoder' Serbinenko
9b05cad768
* grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
...
as it's not necessarily aligned.
2011-12-13 13:58:33 +01:00
Vladimir 'phcoder' Serbinenko
b3950b849f
* grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
...
redundant declaration.
(grub_serial_init): Likewise.
(grub_terminfo_init): Likewise.
2011-12-13 11:46:29 +01:00
Vladimir 'phcoder' Serbinenko
fcd232b74e
* grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
...
function.
(ZAP_HASH_IDX): Likewise.
(ZAP_LEAF_HASH_SHIFT): Likewise.
(ZAP_LEAF_HASH_NUMENTRIES): Likewise.
(LEAF_HASH): Likewise.
(ZAP_LEAF_NUMCHUNKS): Likewise.
(ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
alignment invariants. Return pointer. All users updated.
(ZAP_LEAF_ENTRY): Make into inline function.
(NBBY): Removed.
(xor): LIkewise.
(xor_out): Use grub_crypto_xor.
(dnode_get_path): Use grub_get_unaligned.
(nvlist_find_value): Likewise.
(grub_zfs_nvlist_lookup_uint64): Likewise.
(grub_zfs_nvlist_lookup_string): Likewise.
(get_nvlist_size): Likewise.
(grub_zfs_open): Likewise.
(fill_fs_info): Likewise.
(grub_zfs_dir): Likewise.
* include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
alignment invariants.
* include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
necessarily aligned.
2011-12-13 11:33:02 +01:00
Vladimir 'phcoder' Serbinenko
f138623a60
* grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
2011-12-13 02:15:09 +01:00
Vladimir 'phcoder' Serbinenko
564840dc3d
* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
...
arithmetic to conserve alignment invariants.
2011-12-13 02:13:44 +01:00
Vladimir 'phcoder' Serbinenko
9b40df20c4
* include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
...
redundant declaration.
(grub_efiemu_mm_obtain_request): Likewise.
(grub_efiemu_prepare): Likewise.
2011-12-13 02:12:23 +01:00
Vladimir 'phcoder' Serbinenko
d1c930f99b
* include/grub/list.h: Explicitly cast return of grub_bad_type_cast
...
to match types.
2011-12-13 02:08:14 +01:00
Vladimir 'phcoder' Serbinenko
4c5f3056c2
* grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
...
case of aunaligned recptr.
(grub_hfsplus_read_block): Declare extoverflow as key to ensure
alignment.
(grub_hfsplus_btree_search): Handle unaligned index.
2011-12-13 02:05:58 +01:00
Vladimir 'phcoder' Serbinenko
728cba91d2
* grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
...
to get freetag and skip.
2011-12-13 02:02:38 +01:00
Vladimir 'phcoder' Serbinenko
eb561f3123
* grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
...
array.
(grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
(grub_nilfs2_btree_lookup): Ensure buffer alignment.
2011-12-13 02:00:44 +01:00
Vladimir 'phcoder' Serbinenko
812e249302
* grub-core/fs/ext2.c (grub_ext4_find_leaf): MAke buf as pointer to
...
properly aligned memory.
(grub_ext2_read_block): Ensure buffer alignment.
2011-12-13 01:58:35 +01:00
Vladimir 'phcoder' Serbinenko
20993fbb9f
* grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
...
name for checksum and fix allocation algorithm.
2011-12-13 01:57:07 +01:00
Vladimir 'phcoder' Serbinenko
1f313b942b
* include/grub/types.h (grub_properly_aligned_t): New type.
...
(GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
(grub_get_unaligned16): Add explicit casts.
(grub_get_unaligned32): Likewise.
(grub_get_unaligned64): Likewise.
(grub_set_unaligned16): New function.
(grub_set_unaligned32): Likewise.
2011-12-13 01:54:59 +01:00
Vladimir 'phcoder' Serbinenko
47ae27ec75
* grub-core/normal/datetime.c (grub_weekday_names): Make const.
2011-12-13 01:45:38 +01:00
Vladimir 'phcoder' Serbinenko
78c2cd1c62
* grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
...
* grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
* grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
2011-12-13 01:41:16 +01:00
Vladimir 'phcoder' Serbinenko
53072f9b96
* grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
...
conditionals.
2011-12-13 01:36:09 +01:00
Vladimir 'phcoder' Serbinenko
055dc23978
* grub-core/kern/emu/main.c (main): Add missing const qualifier.
...
* grub-core/loader/efi/appleloader.c (devdata): Likewise.
2011-12-13 01:32:41 +01:00
Vladimir 'phcoder' Serbinenko
496bd07446
Unify and improve RAID and crypto xor.
...
* grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
changed to grub_crypto_xor
* grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
* include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
Use bigger types when possible.
2011-12-13 01:26:53 +01:00
Vladimir 'phcoder' Serbinenko
ef6e433586
* grub-core/disk/raid.c (scan_devices): Fix condition.
2011-12-13 01:19:47 +01:00
Vladimir 'phcoder' Serbinenko
5d048bf210
* grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
...
Make name a const ptr.
2011-12-13 01:07:06 +01:00
Vladimir 'phcoder' Serbinenko
ee533335f5
* grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
...
first argument a const pointer.
* grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
proto.
(grub_children_iterate): Likewise.
(grub_machine_mmap_iterate): Remove redundant declaration.
2011-12-13 01:00:34 +01:00
Vladimir 'phcoder' Serbinenko
cc8f366887
* grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
...
(grub_cmd_acpi) [!x86]: Disable EBDA.
2011-12-13 00:55:00 +01:00
Vladimir 'phcoder' Serbinenko
c5fc563aff
Enable UTF8 in gnulib regexp.
...
* config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
* grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
(isupper): Use grub_isupper.
(isascii): New inline function.
* grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
* grub-core/lib/posix_wrap/wctype.h: Likewise.
* grub-core/normal/charset.c (grub_utf8_process): New function.
(grub_utf8_to_utf16): Use grub_utf8_process.
(grub_encode_utf8_character): New function.
(grub_ucs4_to_utf8): Use grub_encode_utf8_character.
* include/grub/charset.h (grub_utf8_process): New declaration.
(grub_encode_utf8_character): Likewise.
* include/grub/misc.h (grub_islower): New inline function.
(grub_isupper): Likewise.
(grub_strchrsub): Moved down to fix the definitions.
2011-12-13 00:50:49 +01:00
Vladimir 'phcoder' Serbinenko
0af2346fdb
* grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
...
specification.
2011-12-13 00:29:42 +01:00
Vladimir 'phcoder' Serbinenko
74dbd24466
* include/grub/loader.h (grub_loader_register_preboot_hook):
...
Use struct preboot * and not void * for handle. All users updated.
(grub_loader_unregister_preboot_hook): Likewise.
2011-12-13 00:28:14 +01:00
Vladimir 'phcoder' Serbinenko
1bc8f60db7
* include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
...
* grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
UTF-16-BE. All users updated.
(grub_hfsplus_cmp_catkey): Fix unicode handling.
(grub_hfsplus_iterate_dir): Likewise.
(grub_hfsplus_label): Likewise.
2011-12-12 22:40:43 +01:00
Vladimir 'phcoder' Serbinenko
48d6e45653
* grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
2011-12-12 22:20:14 +01:00
Vladimir 'phcoder' Serbinenko
bf3a385792
Add missing const qualifiers.
...
* grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
* grub-core/commands/lspci.c (grub_pci_classname): Likewise.
* grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
* grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
(grub_lvm_check_flag): Likewise.
* grub-core/efiemu/i386/coredetect.c
(grub_efiemu_get_default_core_name): Likewise
* grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
* grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
* grub-core/fs/ntfs.c (fixup): Likewise.
* grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
* grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
(fzap_lookup): Likewise.
(zap_lookup): Likewise.
* grub-core/gnulib/regcomp.c (init_dfa): Likewise.
* grub-core/lib/legacy_parse.c (check_option): Likewise.
* grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
* grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
(grub_freebsd_add_meta_module): Likewise.
(grub_cmd_freebsd_module): Likewise.
* grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
* grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
(grub_xnu_writetree_get_size): Likewise.
(grub_xnu_writetree_toheap_real): Likewise.
(grub_xnu_find_key): Likewise.
(grub_xnu_create_key): Likewise.
(grub_xnu_create_value): Likewise.
(grub_xnu_register_memory): Likewise.
(grub_xnu_check_os_bundle_required): Likewise.
(grub_xnu_scan_dir_for_kexts): Likewise.
(grub_xnu_load_kext_from_dir): Likewise.
* grub-core/normal/color.c (color_list): Likewise.
* grub-core/normal/completion.c (current_word): Likewise.
* grub-core/normal/menu_entry.c (insert_string): Likewise.
* grub-core/term/serial.c (grub_serial_find): Likewise.
* grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
* include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
Likewise.
* include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
(grub_freebsd_add_meta_module): Likewise.
* include/grub/lib/arg.h (grub_arg_option): Likewise.
* include/grub/net.h (grub_net_card_driver): Likewise.
(grub_net_card): Likewise.
(grub_net_app_protocol): Likewise.
* include/grub/parttool.h (grub_parttool_argdesc): Likewise.
* include/grub/serial.h (grub_serial_find): Likewise.
* include/grub/tparm.h (grub_terminfo_tparm): Likewise.
* include/grub/xnu.h (grub_xnu_create_key): Likewise.
(grub_xnu_create_value): Likewise.
(grub_xnu_find_key): Likewise.
(grub_xnu_scan_dir_for_kexts): Likewise.
(grub_xnu_load_kext_from_dir): Likewise.
* include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
* grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
* include/grub/zfs/zio_checksum.h (zio_checksum_info):
Moved from here ...
* grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
2011-11-30 16:20:13 +01:00
Colin Watson
112b483765
* util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
2011-11-28 01:10:00 +00:00
Vladimir 'phcoder' Serbinenko
49e891ac9c
* grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
...
(read_device): Fix size calculation.
2011-11-27 02:34:22 +01:00
Robert Millan
fd258e5cce
2011-11-25 Robert Millan <rmh@gnu.org>
...
* util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
(find_root_device_from_libzfs): Add zpool output parser to be used
as fallback when libzfs isn't available.
2011-11-25 23:07:33 +01:00
Seth Goldberg
78845dc270
* po/Makefile.in.in: Add missing escape-continuation.
2011-11-25 14:16:44 +01:00
Vladimir 'phcoder' Serbinenko
adac52113d
* grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
2011-11-25 14:12:05 +01:00
Vladimir 'phcoder' Serbinenko
10b64f1cf4
* grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
2011-11-16 21:40:50 +01:00
Vladimir 'phcoder' Serbinenko
bb41695449
* grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
2011-11-16 21:38:00 +01:00
Vladimir 'phcoder' Serbinenko
bdfe9eeb2c
* grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
2011-11-16 21:35:40 +01:00
Vladimir 'phcoder' Serbinenko
581ffa8a24
* grub-core/lib/adler32.c: Add missing license specification.
...
* grub-core/lib/crc64.c: Likewise.
* grub-core/loader/i386/pc/plan9.c: Likewise.
* grub-core/partmap/plan.c: Likewise.
2011-11-14 14:25:09 +01:00
Lubomir Kundrak
2536cf6463
Add facility to debug GRUB with gdb under qemu.
...
* grub-core/gdb_grub.in: New file.
* grub-core/gmodule.pl.in: Likewise.
* grub-core/Makefile.core.def (gmodule.pl): New script.
(gdb_grub): Likewise.
2011-11-13 22:59:46 +01:00
Vladimir 'phcoder' Serbinenko
bc108a4a8a
* util/grub-mount.c (argp_parser): Accept relative pathes.
...
* util/grub-fstest.c (argp_parser): Likewise.
2011-11-13 19:53:12 +01:00
Vladimir 'phcoder' Serbinenko
111c17782a
Plan9 support.
...
* Makefile.util.def (libgrubmods): Add
grub-core/partmap/plan.c.
* docs/grub.texi: Notice Plan9 support.
* grub-core/Makefile.core.def (plan9): New module.
(part_plan): Likewise.
* grub-core/loader/i386/pc/plan9.c: New file.
* grub-core/partmap/plan.c: Likewise.
* include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
define.
(GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
* include/grub/mm.h (grub_extend_alloc): New inline function.
2011-11-13 19:38:08 +01:00
Vladimir 'phcoder' Serbinenko
c30be3b694
Make Reed-Solomon faster by using power of generator representation of
...
GF(256)*.
* grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
(gf_double_t): Likewise.
(gf_invert): Removed.
(gf_powx): New array.
(gf_powx_inv): Likewise.
(scratch): Move higher.
(gf_reduce): Removed.
(gf_mul): Use powx.
(gf_invert): Likewise.
(init_inverts): Replaced with ...
(init_powx): ...this. All users updated.
(pol_evaluate): Replace multiplications with additions.
(rs_encode): Likewise.
(gauss_eliminate): Call gf_invert.
(grub_reed_solomon_add_redundancy): Call init_powx.
(grub_reed_solomon_recover): Call init_powx unconditionally.
2011-11-13 14:48:19 +01:00
Vladimir 'phcoder' Serbinenko
fa5aeffcc2
* grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
2011-11-13 00:07:08 +01:00
Vladimir 'phcoder' Serbinenko
a346b81c7d
* grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
...
disk->partiton for safety.
2011-11-13 00:01:06 +01:00
Vladimir 'phcoder' Serbinenko
d89ee4141a
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
...
Fix a memory leak.
(grub_util_biosdisk_get_grub_dev): Add a useful debug info.
2011-11-12 23:46:47 +01:00
Vladimir 'phcoder' Serbinenko
91ee7b6d73
* grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
2011-11-12 23:42:49 +01:00
Vladimir 'phcoder' Serbinenko
91e5a33da5
* include/grub/lvm.h (grub_lvm_pv): Correct start type.
2011-11-12 23:35:20 +01:00
Vladimir 'phcoder' Serbinenko
9edd7be26a
Fix spaces handling in proc/self/mountinfo.
...
* util/getroot.c (unescape): New function.
(grub_find_root_device_from_mountinfo): Use unescape.
2011-11-12 23:14:51 +01:00
Vladimir 'phcoder' Serbinenko
ba102053ce
Support ZFS embedding.
...
* grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
(grub_zfs_fs): Register grub_zfs_embed.
2011-11-12 21:46:52 +01:00
Vladimir 'phcoder' Serbinenko
aa94b87027
Fix MIPS compilation.
...
* grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
* include/grub/offsets.h: Rename decompressor fields from
GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
* util/grub-mkimage.c (image_targets): Use new names.
2011-11-12 21:38:04 +01:00
Vladimir 'phcoder' Serbinenko
5fbdac149b
Defer multiboot device parsing until we're in compressed part.
...
* grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
bsd_part. setdevice has fallen into disuse.
* grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
(bsd_part): Likewise.
(boot_dev): New variable.
(multiboot_trampoline): Don't parse multiboot device.
Pass multiboot device in %edx.
* grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
grub_boot_device.
* grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
Likewise.
* grub-core/kern/i386/pc/startup.S: Save edx.
(grub_boot_drive): Removed.
(grub_install_dos_part): Likewise.
(grub_install_bsd_part): Likewise.
(grub_boot_device): New variable.
* include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
(grub_install_bsd_part): Likewise.
(grub_boot_drive): Likewise.
(grub_boot_device): New variable.
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
Removed.
(GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
(GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
(GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
(GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
* util/grub-install.in: Remove redundant condition.
2011-11-12 21:12:52 +01:00
Vladimir 'phcoder' Serbinenko
691cbb5816
Fix bug introduced by previous commit.
...
* grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
2011-11-12 20:53:46 +01:00
Vladimir 'phcoder' Serbinenko
60240b8bc1
Use decompressors framework on i386-pc. It increases core size
...
by 46 bytes but improves compatibility and maintainability.
* grub-core/Makefile.core.def (lzma_decompress): New image.
(kernel): Add i386_pc_ldflags.
* grub-core/kern/i386/pc/startup.S: Move intial part to ..
* grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
to real_to_prot, prot_to_real and device info.
* include/grub/offsets.h: Renamed decompressor offsets.
* util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
(image_target_desc): Remove raw_size and rename decompressor fields.
(compress_kernel): Handle lzma.
(generate_image): Handle decompressors on i386-pc.
2011-11-12 19:53:25 +01:00
Vladimir 'phcoder' Serbinenko
e9d3421c05
* configure.ac: Add -fno-asynchronous-unwind-tables.
2011-11-12 19:18:42 +01:00
Vladimir 'phcoder' Serbinenko
2b23074a0c
Move assembly code to C by using intwrap. It increases core size
...
by 88 bytes but improves compatibility and maintainability.
* grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
* grub-core/term/i386/pc/console.c (grub_console_putchar_real):
... here. Translated to C.
* grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
* grub-core/term/i386/pc/console.c (grub_console_getkey):
... here. Translated to C.
* grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
* grub-core/term/i386/pc/console.c (grub_console_getxy):
... here. Translated to C.
* grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
* grub-core/term/i386/pc/console.c (grub_console_gotoxy):
... here. Translated to C.
* grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
* grub-core/term/i386/pc/console.c (grub_console_cls):
... here. Translated to C.
* grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
* grub-core/term/i386/pc/console.c (grub_console_setcursor):
... here. Translated to C.
* grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
* grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
Translated to C.
* grub-core/term/i386/pc/console.c (int10_9): New function.
(grub_console_putchar): Likewise.
* include/grub/i386/pc/console.h: Removed the not anymore shared
functions.
2011-11-12 16:29:04 +01:00
Vladimir 'phcoder' Serbinenko
678f4b6713
Move grub_chainloader_real_boot out of the kernel.
...
* grub-core/Makefile.am: Remove machine/loader.h.
* grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
Removed.
* grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
variable.
(grub_relocator16_keep_a20_enabled): Likewise.
(grub_relocator16_boot): Fill new variables.
* grub-core/lib/i386/relocator16.S: Add gate a20 handling.
* grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
relocator.
(grub_chainloader_unload): Likewise.
(grub_chainloader_cmd): Likewise.
* include/grub/i386/pc/loader.h: Removed.
* include/grub/i386/relocator.h (grub_relocator16_state): Add a20
and esi. All initialisers updated.
2011-11-12 15:46:50 +01:00
Vladimir 'phcoder' Serbinenko
4626edf6a0
* Makefile.util.def (grub-mount): New util.
...
* .bzrignore: Add grub-mount.
* configure.ac: Check for fuse and enable grub-mount if available.
* docs/man/grub-mount.h2m: New file.
* util/grub-mount.c: Likewise.
2011-11-12 01:23:48 +01:00
Vladimir 'phcoder' Serbinenko
10f0117bf9
* grub-core/commands/efi/fixvideo.c: Gettextize.
...
* grub-core/commands/hashsum.c: Likewise.
* grub-core/commands/i386/cmostest.c: Likewise.
* grub-core/commands/i386/pc/drivemap.c: Likewise.
* grub-core/commands/i386/pc/lsapm.c: Likewise.
* grub-core/commands/i386/pc/sendkey.c: Likewise.
* grub-core/commands/lsmmap.c: Likewise.
* grub-core/commands/menuentry.c: Likewise.
* grub-core/commands/mips/loongson/lsspd.c: Likewise.
* grub-core/commands/setpci.c: Likewise.
* grub-core/loader/i386/bsd.c: Likewise.
* grub-core/loader/i386/linux.c: Likewise.
* util/getroot.c: Likewise.
* util/grub-editenv.c: Likewise.
* util/grub-fstest.c: Likewise.
* util/grub-mkfont.c: Likewise.
* util/grub-mkimage.c: Likewise.
* util/grub-mkpasswd-pbkdf2.c: Likewise.
* util/grub-pe2elf.c: Likewise.
* util/grub-probe.c: Likewise.
* util/grub-setup.c: Likewise.
* util/ieee1275/ofpath.c: Likewise.
* util/misc.c: Likewise.
* util/raid.c: Likewise.
2011-11-12 00:34:14 +01:00
Vladimir 'phcoder' Serbinenko
b50787de09
* include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
...
forgotten define.
(GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
GRUB_IA64_DL_GOT_ALIGN.
(GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
GRUB_IA64_DL_TRAMP_ALIGN.
2011-11-12 00:26:04 +01:00
Robert Millan
566f779bd8
2011-11-11 Robert Millan <rmh@gnu.org>
...
* util/getroot.c (grub_util_get_geom_abstraction): Remove
__attribute__((unused)) from `os_dev', which *is* being used.
2011-11-11 22:58:18 +01:00
Vladimir 'phcoder' Serbinenko
119d11c885
Replace grub_fatal with normal errors in i386 linux loader.
...
* grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
(allocate_pages): Check find_efi_mmap_size return value.
(grub_e820_add_region): Return error.
(grub_linux_boot): Check mmap return value.
2011-11-11 22:35:09 +01:00
Vladimir 'phcoder' Serbinenko
6e0632e28c
* grub-core/commands/acpihalt.c: Gettextized.
...
* grub-core/commands/cacheinfo.c: Likewise.
* grub-core/commands/cmp.c: Likewise.
* grub-core/commands/efi/loadbios.c: Likewise.
* grub-core/commands/gptsync.c: Likewise.
* grub-core/commands/ieee1275/suspend.c: Likewise.
* grub-core/commands/legacycfg.c: Likewise.
* grub-core/commands/memrw.c: Likewise.
* grub-core/commands/minicmd.c: Likewise.
* grub-core/commands/parttool.c: Likewise.
* grub-core/commands/time.c: Likewise.
* grub-core/commands/videoinfo.c: Likewise.
* grub-core/disk/geli.c: Likewise.
* grub-core/disk/i386/pc/biosdisk.c: Likewise.
* grub-core/disk/luks.c: Likewise.
* grub-core/disk/lvm.c: Likewise.
* grub-core/font/font_cmd.c: Likewise.
* grub-core/fs/zfs/zfscrypt.c: Likewise.
* grub-core/fs/zfs/zfsinfo.c: Likewise.
* grub-core/gfxmenu/view.c: Likewise.
* grub-core/kern/emu/hostdisk.c: Likewise.
* grub-core/kern/emu/main.c: Likewise.
* grub-core/kern/emu/misc.c: Likewise.
* grub-core/kern/emu/mm.c: Likewise.
* grub-core/kern/mips/arc/init.c: Likewise.
* grub-core/kern/mips/loongson/init.c: Likewise.
* grub-core/kern/partition.c: Likewise.
* grub-core/lib/i386/halt.c: Likewise.
* grub-core/lib/mips/arc/reboot.c: Likewise.
* grub-core/lib/mips/loongson/reboot.c: Likewise.
* grub-core/loader/i386/pc/chainloader.c: Likewise.
* grub-core/loader/i386/xnu.c: Likewise.
* grub-core/loader/multiboot.c: Likewise.
* grub-core/net/bootp.c: Likewise.
* grub-core/net/net.c: Likewise.
* grub-core/normal/term.c: Likewise.
* grub-core/partmap/bsdlabel.c: Likewise.
* grub-core/parttool/msdospart.c: Likewise.
* grub-core/term/gfxterm.c: Likewise.
* grub-core/term/terminfo.c: Likewise.
* grub-core/video/i386/pc/vbe.c: Likewise.
* util/grub-menulst2cfg.c: Likewise.
* util/grub-mkdevicemap.c: Likewise.
* util/grub-mklayout.c: Likewise.
* util/grub-mkrelpath.c: Likewise.
* util/grub-script-check.c: Likewise.
* util/ieee1275/grub-ofpathname.c: Likewise.
* util/resolve.c: Likewise.
2011-11-11 21:44:56 +01:00
Vladimir 'phcoder' Serbinenko
073aa7a9bf
Forgotten ChangeLog entry
2011-11-11 21:22:02 +01:00
Vladimir 'phcoder' Serbinenko
c76b541762
* grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
...
fix.
2011-11-11 21:03:49 +01:00
Vladimir 'phcoder' Serbinenko
df067ad13a
* grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
...
dprintf.
* grub-core/font/font.c (grub_font_load): Likewise.
2011-11-11 20:59:25 +01:00
Vladimir 'phcoder' Serbinenko
5b289bc5f6
* util/grub-macho2img.c: Add comment concerning gettext.
...
* grub-core/lib/legacy_parse.c: Likewise.
2011-11-11 20:52:41 +01:00
Vladimir 'phcoder' Serbinenko
c1860f878b
* grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
...
(grub_xvasprintf): Likewise.
2011-11-11 20:45:31 +01:00
Vladimir 'phcoder' Serbinenko
d35d0d3753
Add const keyword to grub_env_get and gettextize week days.
...
* grub-core/hook/datehook.c (grub_datetime_names): Make const.
(grub_read_hook_datetime): Return const char *.
* grub-core/kern/env.c (grub_env_get): Return const char *. All users
updated.
* grub-core/normal/datetime.c (grub_weekday_names): Make const.
Mark for gettext.
(grub_get_weekday_name): Return const char *. Call gettext.
* grub-core/script/argv.c (grub_script_argv_append): Receive const
char * and len as the argument. All users updated.
(grub_script_argv_split_append): Receive const char *.
* include/grub/datetime.h (grub_get_weekday_name): Update proto.
* include/grub/env.h (grub_env_get): Likewise.
(grub_env_read_hook_t): Return const char *.
* include/grub/script_sh.h (grub_script_argv_append): Update proto.
(grub_script_argv_split_append): Likewise.
2011-11-11 20:34:37 +01:00
Vladimir 'phcoder' Serbinenko
9aed8a7178
* grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
2011-11-11 20:09:14 +01:00
Vladimir 'phcoder' Serbinenko
067fdf0055
* grub-core/kern/misc.c (grub_strstr): Moved from here ...
...
* include/grub/misc.h (grub_strstr): ... here. Make static and inline.
2011-11-11 20:02:51 +01:00
Vladimir 'phcoder' Serbinenko
a8bd9d39d6
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
...
Fix prototype.
2011-11-11 18:32:06 +01:00
Vladimir 'phcoder' Serbinenko
f7ce5bafb5
Fix mips compilation.
...
* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
normal decoder.
(hashes): Use in embed decoder as well (for sizes).
(dec_stream_header): Fix embed decompressor logic.
(dec_stream_footer): Likewise.
2011-11-11 18:30:34 +01:00
Vladimir 'phcoder' Serbinenko
9bb182f371
* grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
...
an error and not a fatal on unrecognised relocation types.
2011-11-11 18:05:16 +01:00
Vladimir 'phcoder' Serbinenko
63a9e6f6a0
* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
...
Issue error rather than printf on unknown arguments.
2011-11-11 17:44:47 +01:00
Vladimir 'phcoder' Serbinenko
4c458569a7
* grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
...
Make buf a const.
2011-11-11 17:34:38 +01:00
Vladimir 'phcoder' Serbinenko
e2d22baf41
* grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
...
Fix module name.
2011-11-11 17:21:33 +01:00
Vladimir 'phcoder' Serbinenko
53dc859065
* grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
...
leftover debug printf.
2011-11-11 17:18:34 +01:00
Vladimir 'phcoder' Serbinenko
6c1892942d
* grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
2011-11-11 17:13:23 +01:00
Vladimir 'phcoder' Serbinenko
f768836950
* grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
...
A stylistic fix.
2011-11-11 17:10:50 +01:00
Vladimir 'phcoder' Serbinenko
11a775a3ad
* grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
2011-11-11 17:08:29 +01:00
Shea Levy
33f784e881
Allow all modules to perform serial IO
...
* grub-core/term-serial.c (grub_serial_find): Remove static qualifier
* include/grub/serial.h (grub_serial_port_configure): New inline
function.
(grub_serial_port_fetch): Likewise.
(grub_serial_port_put): Likewise.
(grub_serial_port_fini): Likewise.
(grub_serial_find): New proto.
2011-11-10 09:41:07 +01:00
Vladimir 'phcoder' Serbinenko
f627652531
Put symlink at the end of the node and fix a potential
...
memory corruption.
* grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
Make symlink into an array.
(set_rockridge): Set have_symlink and alloc_dirents.
(grub_iso9660_read_symlink): Use new layout.
(grub_iso9660_iterate_dir): Fix memory corruption.
Use new layout.
(grub_iso9660_dir): Set have_symlink.
(grub_iso9660_open): Likewise.
2011-11-10 09:31:06 +01:00
Vladimir 'phcoder' Serbinenko
c3591189b8
Remove local keyword.
...
* util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
(version_test_gt): Likewise.
(version_find_latest): Likewise.
(gettext_printf): Likewise.
* util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
2011-11-10 08:46:09 +01:00
Vladimir 'phcoder' Serbinenko
cb544caa2e
* grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
2011-11-10 08:43:08 +01:00
Vladimir 'phcoder' Serbinenko
45bd824d2e
Fix ZFS memory and resource leaks.
...
* grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
All users updated.
Free type on exit.
(fill_vdev_info): New parameter inserted. All users updated.
(check_pool_label): Likewise.
(scan_disk): Likewise.
(scan_devices): Close non-inserted disks.
(fzap_iterate): Free l.
(unmount_device): Free children descripto memory.
2011-11-10 08:38:06 +01:00
Vladimir 'phcoder' Serbinenko
ad9a2f44b4
* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
...
argument (access out of bounds).
2011-11-10 08:16:27 +01:00
Vladimir 'phcoder' Serbinenko
6b68db81fc
* grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
...
>= 6 drives.
2011-11-10 08:09:33 +01:00
Vladimir 'phcoder' Serbinenko
28840fdaae
* include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
...
Fix declaration.
2011-11-10 08:07:51 +01:00
Vladimir 'phcoder' Serbinenko
8a5a3a5b5a
Fix several memory leaks.
...
* grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
* grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
(grub_cpio_dir): Likewise.
* grub-core/fs/fat.c (grub_fat_label): Likewise.
* grub-core/fs/jfs.c (grub_jfs_label): Likewise.
* grub-core/fs/romfs.c (grub_romfs_close): Likewise.
(grub_romfs_label): Likewise.
* grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
(squash_unmount): New function.
(grub_squash_dir): Fix memory leak.
(grub_squash_open): Likewise.
(grub_squash_read): Likewise.
(grub_squash_mtime): Likewise.
* grub-core/fs/xfs.c (grub_xfs_open): Likewise.
* grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
* util/grub-fstest.c (fstest): Likewise.
2011-11-09 15:01:58 +01:00
Vladimir 'phcoder' Serbinenko
57b0125004
* include/grub/misc.h (grub_strncat): Fix the order of conditionals to
...
avoid accessing beyond the array.
2011-11-09 14:47:45 +01:00
Vladimir 'phcoder' Serbinenko
19e81ba7a0
* configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
2011-11-09 14:44:21 +01:00
Vladimir 'phcoder' Serbinenko
52b656c037
Several AFFS fixes.
...
* grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
(GRUB_AFFS_FLAG_FFS): Removed.
(GRUB_AFFS_SYMLINK_SIZE): Likewise.
(GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
(GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
(grub_fshelp_node): Make block 32-bit.
Add block_cache and last_block_cache.
(grub_affs_read_block): Fill and use block cache.
(grub_affs_read_file): Removed.
(grub_affs_mount): Zero-fill node. Fix version check. Don't reread
boot block.
(grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
safety.
(grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
space.
(grub_affs_close): Free block cache.
(grub_affs_read): Use grub_fshelp_read_file directly.
2011-11-09 11:43:39 +01:00
Vladimir 'phcoder' Serbinenko
438a746a3f
* grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
...
with no error set.
2011-11-08 20:03:06 +01:00
Vladimir 'phcoder' Serbinenko
49a45021c1
* grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
...
used variable.
* grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
Likewise.
2011-11-08 19:46:41 +01:00
Vladimir 'phcoder' Serbinenko
3ae17eb83c
Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
...
* grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
byteswap when needed.
2011-11-08 19:44:18 +01:00
Vladimir 'phcoder' Serbinenko
27610c3836
Fix FreeBSD compilation.
...
* grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
to avoid circular dependency.
(GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
* util/getroot.c (grub_util_follow_gpart_up): Move from here...
* grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
2011-11-08 19:34:19 +01:00
Vladimir 'phcoder' Serbinenko
4a19b6017d
Fix ZFS crypto error types.
...
* grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
(grub_gcm_decrypt): Likewise.
(grub_zfs_load_key_real): Fix error code type. Handle possible error
from PBKDF2.
2011-11-08 16:07:27 +01:00
Vladimir 'phcoder' Serbinenko
958ee22168
Illumos support.
...
* Makefile.util.def (10_illumos): New script.
* configure.ac: Set COND_HOST_ILLUMOS.
* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
Support Illumos calls.
(find_partition_start) [__sun__]: Likewise.
(convert_system_partition_to_system_disk) [__sun__]: Likewise.
(device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
(grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
* util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
device.
* util/grub-probe.c (probe) [__sun__]: Do character check.
* util/grub.d/10_illumos.in: New file.
2011-11-08 12:38:30 +01:00
Vladimir 'phcoder' Serbinenko
cac14fb663
Support escaped commas in hostdisk.
...
* grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
(find_grub_drive): Use unescape_cmp.
(make_device_name): Escape commas.
2011-11-08 12:15:57 +01:00
Vladimir 'phcoder' Serbinenko
78e08dc3cb
* util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2011-11-08 12:06:27 +01:00
Vladimir 'phcoder' Serbinenko
9f421dd1f0
* grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
...
variable.
2011-11-08 11:32:19 +01:00
Vladimir 'phcoder' Serbinenko
ed64e9e279
Support trampoline jumps on powerpc.
...
* grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
__ia64__ path.
(grub_dl_load_segments): Set mod->sz.
(grub_dl_flush_cache): Flush whole space occupied by module, not just
segments.
* grub-core/kern/ia64/dl.c (nopm): Make const while on it.
(jump): Likewise.
* grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
function.
(trampoline): New struct.
(trampoline_template): New const.
(grub_arch_dl_relocate_symbols): Create trampolines on overflow.
* include/grub/dl.h (grub_dl): Add sz element.
[__powerpc__]: Follow __ia64__.
(GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
(GRUB_ARCH_DL_GOT_ALIGN): Likewise.
(GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
(grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2011-11-08 11:23:56 +01:00
Vladimir 'phcoder' Serbinenko
3084ede4c7
ZFS crypto support.
...
* Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
* grub-core/Makefile.core.def (zfscrypt): New module.
* grub-core/fs/zfs/zfs.c (subvolume): New structure.
(grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
it. All users updated.
(grub_zfs_decrypt): New var.
(grub_zfs_load_key): Likewise.
(zio_checksum_functions): Add SHA256+MAC.
(zio_checksum_verify): Handle incomplete comparison due to MAC.
(zio_read): Handle encrypted blocks.
(zap_verify): Remove incorrect check.
(fzap_iterate): Handle non-standard fzap.
(zap_iterate): Likewise.
(zap_iterate_u64): New function.
(dnode_get_fullpath): Load keys.
* grub-core/fs/zfs/zfscrypt.c: New file.
* grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
(grub_crypto_ecb_encrypt): Make input const.
* include/grub/crypto.h (grub_crypto_cipher_close): Inline.
(grub_crypto_ecb_encrypt): Make input const.
(GRUB_CIPHER_AES): New macro.
* include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
* include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
* include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
* include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
prefix. All users updated.
(grub_zfs_add_key): New proto.
(grub_zfs_decrypt): Likewise.
(grub_zfs_load_key): Likewise.
* include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
* util/grub-fstest.c (options): Add -K option.
(argp_parser): Likewise.
2011-11-06 21:44:48 +01:00
Vladimir 'phcoder' Serbinenko
b632b404e0
Support zle compression on ZFS.
...
* grub-core/fs/zfs/zfs.c (zle_decompress): New function.
(decomp_table): Add zle.
* include/grub/zfs/zio.h (zio_compress): Add zle.
2011-11-05 14:50:53 +01:00
Vladimir 'phcoder' Serbinenko
c7ba4f6984
Support BtrFS embedding.
...
* grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
(grub_btrfs_fs) [GRUB_UTIL]: Set embed.
* include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
* util/grub-setup.c (setup): Use fs embedding if available.
Add additional sanity check.
2011-11-05 14:47:25 +01:00
Vladimir 'phcoder' Serbinenko
455377d93d
* util/grub-install.in: Fix condition for config_opt.
2011-11-05 12:15:07 +01:00
Vladimir 'phcoder' Serbinenko
c2fd16cacb
Support third redundancy strip on raidz3.
...
* grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
Return error on singularity. All users updated.
(read_device): Don't stop on 3rd failure on raidz3.
2011-11-04 15:19:23 +01:00
Vladimir 'phcoder' Serbinenko
8622923b66
Support case-insensitive ZFS subvolumes.
...
* grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
All users updated.
(zap_hash): Likewise.
(name_cmp): New function.
(zap_leaf_array_equal): New parameter case_insensitive.
All users updated.
(zap_leaf_lookup): Likewise.
(fzap_lookup): Likewise.
(zap_lookup): Likewise.
(dnode_get_path): New parameter case_insensitive. Retrieve case
sensitiviness of a volume. All users updated.
(dnode_get_fullpath): New parameter case_insensitive.
All users updated.
(grub_zfs_dir): Set info.case_insensitiveness.
2011-11-04 13:44:56 +01:00
Vladimir 'phcoder' Serbinenko
95f2e86095
Support second redundancy strip on raidz(2,3).
...
* grub-core/fs/zfs/zfs.c (powx): New array.
(powx_inv): Likewise.
(poly): New const.
(xor_out): New function.
(gf_mul): Likewise.
(recovery): Likewise.
(read_device): Use second redundancy strip.
2011-11-04 13:36:08 +01:00
Vladimir 'phcoder' Serbinenko
11ee4389e2
Use a power of generator representation of GF(256) multiplication group
...
to save space time and complexity.
* grub-core/disk/raid6_recover.c (raid6_table1): Removed.
(raid6_table2): Likewise.
(powx): New array.
(powx_inv): Likewise.
(poly): New const.
(grub_raid_block_mul): Replace with ...
(grub_raid_block_mulx): ...this.
(grub_raid6_init_table): Rewritten.
(grub_raid6_recover): Use power of generator representation.
2011-11-04 13:27:50 +01:00
Vladimir 'phcoder' Serbinenko
09e2763fb1
* grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
...
for the right device.
2011-11-04 13:22:38 +01:00
Vladimir 'phcoder' Serbinenko
8bec9a284b
* include/grub/kernel.h (grub_module_header): Make type into uint32 as
...
expected by grub-mkimage and it's more clear since there is no implicit
padding.
2011-11-04 13:18:30 +01:00
Vladimir 'phcoder' Serbinenko
dbd3a32e43
* grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
...
disk.
* grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2011-11-04 13:15:29 +01:00
Philipp Matthias Hahn
182c872a7b
* util/grub-mkrescue.in: Fix handling xorriso option.
2011-11-03 16:49:02 +01:00
Vladimir 'phcoder' Serbinenko
1e51cabd7b
* grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
...
NULL.
2011-11-03 16:04:26 +01:00
crocket
9cc3581d7d
* util/grub.d/10_linux.in: Add Slackware initrd naming.
2011-11-03 15:21:47 +01:00
Vladimir 'phcoder' Serbinenko
158dc1ea26
XZ CRC64 and SHA256 support.
...
* Makefile.util.def (libgrubmods): Add crc64.c.
* grub-core/Makefile.core.def (crc64): New module.
* grub-core/lib/crc64.c: New file.
* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
[!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
Fix the type.
(MAX_HASH_SIZE): New define.
(xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
(dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
(index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
(dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
(crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
(hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
Handle non-crc32 hashes.
(hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
(dec_stream_header): Handle non-crc32 hashes.
(dec_stream_footer): Likewise.
(dec_block_header): Likewise.
(dec_main): Likewise.
(xz_dec_init): Likewise.
(xz_dec_reset): Likewise.
(xz_dec_end): Likewise.
* util/import_gcry.py: Add CRC64 line.
2011-11-03 15:13:30 +01:00
Vladimir 'phcoder' Serbinenko
9d9b3d2f02
* grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
...
as well.
2011-11-03 15:00:45 +01:00
Vladimir 'phcoder' Serbinenko
7d0ac93163
Make reiserfs label retrieval similar to other *_label functions.
...
* grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
(REISERFS_MAX_LABEL_LENGTH): Removed.
(REISERFS_LABEL_OFFSET): Likewise.
(grub_reiserfs_label): Rewritten.
2011-11-03 14:57:34 +01:00
Vladimir 'phcoder' Serbinenko
cf5ba824ea
* grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2011-11-03 07:29:35 +01:00
Vladimir 'phcoder' Serbinenko
177440046d
* grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
...
drive failure on both raidz and raidz2.
2011-11-02 23:28:25 +01:00
Vladimir 'phcoder' Serbinenko
aca5aefc7c
Fix RAIDZ(2) for >= 5 devices.
...
* grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
asize argument. All users updated.
2011-11-02 20:48:04 +01:00
Vladimir 'phcoder' Serbinenko
ce8ca56ed9
Fix RAIDZ(2).
...
* grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
(fill_vdev_info_real): Set ashift.
(read_device): Rewrite RAIDZ part based on reverse engineering.
2011-11-01 20:05:28 +01:00
Vladimir 'phcoder' Serbinenko
7c01e783dc
* grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
...
don't report potentially unavialiable fields in debug output.
(find_path): Fix double-free and memory leak.
2011-10-31 13:56:52 +01:00
Vladimir 'phcoder' Serbinenko
ce109e843c
Read label on UFS1.
...
* grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
(grub_ufs_fs): Always set .label.
2011-10-31 10:52:39 +01:00
Vladimir 'phcoder' Serbinenko
87661123b2
Use shifts in UFS.
...
* grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
(grub_ufs_data): New field log2_blksz.
(grub_ufs_read_file): Use shifts.
(grub_ufs_mount): Check block size and logarithm it.
2011-10-31 10:50:43 +01:00
Vladimir 'phcoder' Serbinenko
46bc1dc244
* grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
...
long symlinks.
2011-10-31 10:40:30 +01:00
Vladimir 'phcoder' Serbinenko
19ee298767
Handle symlinks and long names on tar and cpio.
...
* grub-core/fs/cpio.c (ATTR_TYPE): New definition.
(ATTR_FILE): Likewise.
(ATTR_DIR): Likewise.
(ATTR_LNK): Likewise.
(grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
(grub_cpio_find_file): Fill mode, handle linkname field as well as
L and K entries.
(grub_cpio_mount): Zero-fill data.
(handle_symlink): New function.
2011-10-30 23:06:25 +01:00
Vladimir 'phcoder' Serbinenko
c83a08d84a
Fix iso9660 filename limitations and fix memory leaks.
...
* grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
(grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2011-10-30 20:23:05 +01:00
Vladimir 'phcoder' Serbinenko
45cdd3ea37
Fix JFS file name length limitations.
...
* grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
(grub_jfs_diropen): Fix maximum filename length.
(grub_jfs_getent): Fix filename length.
(grub_jfs_lookup_symlink): Fix size checks.
2011-10-30 20:14:57 +01:00
Vladimir 'phcoder' Serbinenko
94ef05c265
* grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
...
string.
2011-10-30 19:30:04 +01:00
Vladimir 'phcoder' Serbinenko
eb0b6b45f3
Leverage BFS implementation to read AFS.
...
* Makefile.util.def (libgrubmods): Add afs.c.
* grub-core/Makefile.core.def (afs): New module
* grub-core/fs/afs.c: New file.
* grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2011-10-30 16:10:18 +01:00
Vladimir 'phcoder' Serbinenko
785ab8c760
* grub-core/fs/bfs.c: MAcroify and add some necessary sanity checks.
2011-10-30 14:17:44 +01:00
Vladimir 'phcoder' Serbinenko
c4a1628f67
* grub-core/fs/bfs.c: Run indent.
2011-10-30 13:27:53 +01:00
Vladimir 'phcoder' Serbinenko
5825b3794b
BFS implementation based on the specification.
...
* grub-core/fs/bfs.c: New file.
* Makefile.util.def (libgrubmods): Add bfs.c.
* grub-core/Makefile.core.def (bfs): New module.
2011-10-30 13:25:51 +01:00
Vladimir 'phcoder' Serbinenko
42b2a706bf
* util/grub-fstest.c (cmd_cp): Clarify error message.
...
(cmd_cmp): Likewise.
2011-10-30 13:18:22 +01:00
Yves Blusseau
61b99bfc2a
* po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
...
and befs_be.
2011-10-30 11:16:23 +01:00
Vladimir 'phcoder' Serbinenko
faba3d163a
Remove afs and befs because of copyright problem.
...
* grub-core/fs/afs.c: Removed.
* grub-core/fs/afs_be.c: Removed.
* grub-core/fs/befs.c: Removed.
* grub-core/fs/befs_be.c: Removed.
* Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
* grub-core/Makefile.core.def (afs): Removed.
(afs_be): Likewise.
(befs): Likewise.
(befs_be): Likewise.
2011-10-29 11:29:34 +02:00
Vladimir 'phcoder' Serbinenko
c39224b052
Prefer rockridge over Joliet.
...
* grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
to ...
(set_rockridge): ... here.
(grub_iso9660_mount): Check rockridge on the primary label when
discovering. Ignore Joliet if Rockridge is present.
2011-10-28 16:26:17 +02:00
Vladimir 'phcoder' Serbinenko
e551115a26
Use shifts in nilfs2.
...
* grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
(LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
(grub_nilfs2_palloc_entries_per_group): Replace with ...
(grub_nilfs2_log_palloc_entries_per_group): ... this.
(grub_nilfs2_palloc_group): Use shifts and bitmasks.
(grub_nilfs2_entries_per_block): Replaced with ...
(grub_nilfs2_log_entries_per_block_log): ... this.
(grub_nilfs2_blocks_per_group): Replaced with ...
(grub_nilfs2_blocks_per_group_log): ... this.
(grub_nilfs2_blocks_per_desc_block): Replaced with ...
(grub_nilfs2_blocks_per_desc_block_log): ... this.
(grub_nilfs2_palloc_desc_block_offset): Replaced with ...
(grub_nilfs2_palloc_desc_block_offset_log): ... this.
(grub_nilfs2_palloc_entry_offset): Replaced ...
(grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
(grub_nilfs2_dat_translate): Use shifts.
(grub_nilfs2_read_inode): Likewise.
(GRUB_MOD_INIT): Ensure that logs are correct.
2011-10-28 16:21:18 +02:00
Vladimir 'phcoder' Serbinenko
564dd58c2a
Use shifts in minix filesystem.
...
* grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
(GRUB_MINIX_ZONE2SECT): Likewise.
(grub_minix_data): Replace block_size with log_block_size.
(grub_minix_read_file): Use shifts.
(grub_minix_mount): Check block size and take a logarithm.
2011-10-28 16:09:20 +02:00
Vladimir 'phcoder' Serbinenko
ed9ba06dd0
Use shifts in squash4.
...
* grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
(squash_mount): Check block size and take logarithm.
(direct_read): Use shifts.
2011-10-28 16:05:16 +02:00
Vladimir 'phcoder' Serbinenko
ad03fe768e
Correct befs block counting logic.
...
* grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
(GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
(GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
(grub_afs_read_inode): Use block_shift.
(RANGE_SHIFT): New definition.
(grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
unexpected conditions, use shifts and appropriate types.
(GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2011-10-28 15:59:47 +02:00
Vladimir 'phcoder' Serbinenko
6563f63dfd
* grub-core/disk/raid.c (scan_devices): Check partition.
...
* grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2011-10-28 15:52:15 +02:00
Vladimir 'phcoder' Serbinenko
5b1ae25f06
Support BFS (befs) UUID.
...
* grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
(grub_afs_small_data_element_header): New struct.
(grub_afs_read_inode): Read complete inode. Fix ino type while on it.
(grub_afs_read_attribute) [MODE_BFS]: New function.
(grub_afs_iterate_dir): Allocate for complete inode.
(grub_afs_mount): Likewise.
(grub_afs_uuid) [MODE_BFS]: New function.
(grub_afs_fs) [MODE_BFS]: Add .uuid.
2011-10-27 20:58:52 +02:00
Vladimir 'phcoder' Serbinenko
f8d82408d9
* grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
...
(zfs_unmount): Fix memory leak.
2011-10-27 20:55:09 +02:00
Vladimir 'phcoder' Serbinenko
5773fb6410
Support NTFS reparse points.
...
* grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
(symlink_descriptor): New struct.
(grub_ntfs_read_symlink): New function.
(grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
(grub_ntfs_open): Likewise.
2011-10-27 03:04:27 +02:00
Vladimir 'phcoder' Serbinenko
91c3fdde0d
* include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2011-10-27 02:59:45 +02:00
Vladimir 'phcoder' Serbinenko
3be82e10a9
fstest xnu_uuid subcommand.
...
* grub-core/commands/xnu_uuid.c (libgrubkrn): Add
grub-core/commands/xnu_uuid.c.
* util/grub-fstest.c (CMD_XNU_UUID): New enum value.
(fstest): Handle xnu_uuid.
(options): Document xnu_uuid.
(argp_parser): Parse xnu_uuid.
2011-10-27 02:58:32 +02:00
Vladimir 'phcoder' Serbinenko
8e32442e80
* grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
...
-l argument. Add newline at the end if printing.
(GRUB_MOD_INIT): Document -l.
2011-10-27 02:55:07 +02:00
Vladimir 'phcoder' Serbinenko
52a050751b
* grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2011-10-27 02:52:54 +02:00
Vladimir 'phcoder' Serbinenko
1869edb5bc
ZFS multi-device and version 33 support.
...
* Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
* grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
(grub_zfs_data): Add multidev-ice-related fields.
(zio_checksum_verify): Zero-pad printed values. Print checksum name.
(dva_get_offset): Make dva const.
(zfs_fetch_nvlist): New function.
(fill_vdev_info_real): Likewise.
(fill_vdev_info): Likewise.
(check_pool_label): Likewise.
(scan_disk): Likewise.
(scan_devices): Likewise.
(read_device): Likewise.
(read_dva): Likewise.
(zio_read_gang): Use read_dva.
(zio_read_data): Likewise.
(zap_leaf_lookup): Add missing endian conversion.
(zap_verify): Add missing endian conversion. All users updated.
(fzap_lookup): Likewise.
(fzap_iterate): Likewise.
(dnode_get_path): Handle SA bonus.
(nvlist_find_value): Make input const. All users updated.
(unmount_device): New function.
(zfs_unmount): Use unmount_device.
(zfs_mount): Use scan_disk.
(zfs_mtime): New function.
(grub_zfs_open): Handle system attributes.
(fill_fs_info): Likewise.
(grub_zfs_dir): Likewise.
(grub_zfs_fs): Add mtime.
* grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
* include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
(SA_MTIME_OFFSET): Likewise.
(SA_SYMLINK_OFFSET): Likewise.
* include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
* util/grub-fstest.c (CMD_ZFSINFO): New enum value.
(fstest): Support zfsinfo.
(argp_parser): Likewise.
2011-10-27 02:49:50 +02:00
Vladimir 'phcoder' Serbinenko
186b402804
* include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
...
error.
2011-10-26 19:27:36 +02:00
Vladimir 'phcoder' Serbinenko
5587329c91
ZFS fixes.
...
* grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
sharing the same block. Iterate over correct number of indices.
(dnode_get_path): Handle symlinks correctly.
2011-10-26 17:32:21 +02:00
Vladimir 'phcoder' Serbinenko
c0584900ee
* grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2011-10-26 00:35:41 +02:00
Vladimir 'phcoder' Serbinenko
67e2bd718e
Read label on HFS+.
...
* grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
(grub_hfsplus_btree_search): Fix types.
(grub_hfsplus_label): Implement.
2011-10-26 00:32:17 +02:00
Vladimir 'phcoder' Serbinenko
e9cc6b7b0e
* grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2011-10-26 00:29:46 +02:00
Vladimir 'phcoder' Serbinenko
19832ddb37
* grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2011-10-25 21:53:57 +02:00
Vladimir 'phcoder' Serbinenko
66b4085033
Fix symlink handling on iso9660.
...
* grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
All users updated.
(grub_iso9660_susp_iterate): Accept zero-size iterate.
(grub_iso9660_read_symlink): Moved most of code ...
(grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2011-10-25 21:52:48 +02:00
Vladimir 'phcoder' Serbinenko
db82136381
* grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
...
Use union to avoid breaking strict-aliasing rules.
2011-10-25 18:20:39 +02:00
Vladimir 'phcoder' Serbinenko
e12119495d
Support multi-extent iso files.
...
* grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
Add node.
(grub_fshelp_node): Revamp. All users updated.
(FLAG_*): New enum.
(read_node): New function.
(grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
All users updated.
(grub_iso9660_mount): Don't attempt to read sua when there is none.
(get_node_size): New function.
(grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
entries.
Fix memory leak on . and ..
(grub_iso9660_read): Use read_node.
(grub_iso9660_close): Free node.
2011-10-25 18:18:58 +02:00
Vladimir 'phcoder' Serbinenko
d4888031f2
Fix tar 4G limit and handle paths containing dot.
...
* grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
(canonicalize): New function.
(grub_cpio_find_file): Use canonicalize. Store offs in
grub_disk_addr_t.
(grub_cpio_dir): Use grub_disk_addr_t.
(grub_cpio_open): Likewise.
2011-10-25 18:12:36 +02:00
Vladimir 'phcoder' Serbinenko
9f12e664cc
Fix handling of uncompressed blocks on squashfs and break 4G limit.
...
* grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
unused flags.
(grub_squash_inode): Add long_file and block_size.
(grub_squash_cache_inode): New struct.
(grub_squash_dirent): Make types into enum.
(SQUASH_TYPE_LONG_REGULAR): New type.
(grub_squash_frag_desc): Add field size.
(SQUASH_BLOCK_FLAGS): New enum.
(grub_squash_data): Use grub_squash_cache_inode.
(grub_fshelp_node): Make ino_chunk 64-bit.
(read_chunk): Minor argument change. All users updated.
(squash_mount): Use correct le_to_cpu.
(grub_squash_open): Handle LONG_REGULAR.
(direct_read): New function.
(grub_squash_read_data): Handle blocks correctly.
2011-10-25 18:09:00 +02:00
Vladimir 'phcoder' Serbinenko
9f326fba96
* grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2011-10-25 18:01:57 +02:00
Vladimir 'phcoder' Serbinenko
f4d9b64bba
* grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2011-10-25 17:38:22 +02:00
Vladimir 'phcoder' Serbinenko
5bbd28b8ce
Fix 2G limit on ZFS.
...
* grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
types.
(uberblock_verify): Likewise.
(dmu_read): Likewise.
(grub_zfs_read): Likewise. Remove invalid cast.
2011-10-24 21:33:35 +02:00
Vladimir 'phcoder' Serbinenko
68c72069d9
* grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
...
(grub_jfs_blkno): Fix incorrect shift.
(grub_jfs_read_file): Use more appropriate types.
2011-10-24 17:02:02 +02:00
Vladimir 'phcoder' Serbinenko
6e536dc8ad
Support triple indirect on minix2 and minix3.
...
* grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
Declare triple_indir_zone.
(grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
indirect.
2011-10-24 16:16:28 +02:00
Vladimir 'phcoder' Serbinenko
e0864e7ab7
Minix FS fixes.
...
* grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
(grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
Rename ctime to mtime. All users updated.
(grub_minix_get_file_block): Fix types and double indirect computations.
2011-10-24 10:45:47 +02:00
Vladimir 'phcoder' Serbinenko
89481cabbd
* grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
...
if no label is found.
(grub_fat_iterate_dir): Fix file size type.
(grub_fat_iterate_dir): Likewise.
2011-10-24 01:31:06 +02:00
Vladimir 'phcoder' Serbinenko
f646e14309
* grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
...
save some space.
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2011-10-23 23:55:38 +02:00
Vladimir 'phcoder' Serbinenko
534d769e57
* util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2011-10-23 23:40:53 +02:00
Vladimir 'phcoder' Serbinenko
e084ba1895
* util/import_gcry.py: Accept space between # and include.
2011-10-23 23:39:00 +02:00
Vladimir 'phcoder' Serbinenko
3471ecdfd9
* grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2011-10-23 23:34:30 +02:00
Vladimir 'phcoder' Serbinenko
124df5f6ca
Fine grainely disable warnings on lexer. Remove Wno-error on it.
...
* grub-core/Makefile.core.def (normal): Remove -Wno-error.
* grub-core/script/lexer.c: Declare yytext_ptr to avoid having
yylex_strncpy.
* grub-core/script/yylex.l: Add fine-grained #pragma.
2011-10-23 23:32:06 +02:00
Vladimir 'phcoder' Serbinenko
4defb8d59b
* grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
...
New inline function.
* grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
Likewise.
(memset) [GRUB_UTIL]: Likewise.
(memcmp) [GRUB_UTIL]: Likewise.
2011-10-23 23:28:23 +02:00
Vladimir 'phcoder' Serbinenko
4e94ae6575
* include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
...
inline function rather than a define.
2011-10-23 23:25:06 +02:00
Vladimir 'phcoder' Serbinenko
18c575e5c5
* util/grub-setup.c: Add missing include.
2011-10-23 23:22:38 +02:00
Vladimir 'phcoder' Serbinenko
f8bc22a832
* util/ieee1275/grub-ofpathname.c: Add missing include.
2011-10-23 23:20:11 +02:00
Vladimir 'phcoder' Serbinenko
3ce69fc90f
* grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
...
* grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
Likewise.
2011-10-23 23:04:57 +02:00
Vladimir 'phcoder' Serbinenko
d1e293bbfa
* grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
...
grub_memcmp usage.
2011-10-23 22:55:32 +02:00
Vladimir 'phcoder' Serbinenko
7a5c54a437
* util/grub-install.in: Add datarootdir as per automake manual
...
suggestion.
* util/grub-mknetdir.in: Likewise.
2011-10-23 22:53:21 +02:00
Vladimir 'phcoder' Serbinenko
7bec1053db
* util/grub.d/10_hurd.in: Add datarootdir as per automake manual
...
suggestion.
* util/grub.d/10_kfreebsd.in: Likewise.
* util/grub.d/10_linux.in: Likewise.
* util/grub.d/10_netbsd.in: Likewise.
* util/grub.d/10_windows.in: Likewise.
* util/grub.d/20_linux_xen.in: Likewise.
2011-10-23 22:40:26 +02:00
Vladimir 'phcoder' Serbinenko
766f7d0809
Remove redundant grub_kernel_image_size.
...
* grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
_edata and _start.
* grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
the small code. It moves it only by few bytes but simplifies the code.
* grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
_start.
* grub-core/kern/i386/pc/startup.S: Use _edata and _start.
(grub_kernel_image_size): Removed.
* grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
(grub_kernel_image_size): Removed.
[APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
compiled with Apple toolchain.
* grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
* include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
* include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
(grub_total_module_size): Likewise.
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
Removed.
(GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
(GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
(GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
(GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
(GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
(GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
(GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
* include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
Removed.
(grub_total_module_size): Removed.
* util/grub-mkimage.c (image_target_desc): Remove image_size.
(image_targets): Likewise.
Set .compressed_size to no field on sparc.
(generate_image): Remove kernel_image_size handling.
2011-10-20 08:13:00 +02:00
Szymon Janc
fcf1d67219
* grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
...
NULL pointer dereference.
2011-10-19 23:11:48 +02:00
Vladimir 'phcoder' Serbinenko
de9c615e5c
Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
...
done with a dedicated section.
* grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
Ensure the correct position of boot_path.
* grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
* grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
other fields.
* grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
* include/grub/boot.h: Removed. All references removed.
* include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
Removed.
(GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2011-10-19 23:01:44 +02:00
Vladimir 'phcoder' Serbinenko
e55599dcbf
* util/grub-install.in: Declare IEEE1275 as able to find out the disk
...
name.
2011-10-19 20:35:41 +02:00
Vladimir 'phcoder' Serbinenko
36dd20ad0b
* grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2011-10-19 20:30:06 +02:00
Vladimir 'phcoder' Serbinenko
f8f72eb890
* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
...
Don't add the bogus brackets.
2011-10-19 20:28:09 +02:00
Vladimir 'phcoder' Serbinenko
a374751b16
ExFAT support.
...
* Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
* grub-core/Makefile.core.def (exfat): New module.
* grub-core/fs/exfat.c: New file.
* grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
(GRUB_FAT_ATTR_*): Make into an enum.
(GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
(GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
(GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
(GRUB_FAT_MAXFILE): Removed.
(grub_exfat_bpb) [MODE_EXFAT]: New struct.
(grub_current_fat_bpb_t): New type.
(grub_fat_dir_entry) [MODE_EXFAT]: New struct.
(grub_fat_dir_node) [MODE_EXFAT]: New struct.
(grub_fat_dir_node_t): New type.
(grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
(fat_log2) [MODE_EXFAT]: Removed.
(grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
(grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
(grub_fat_iterate_dir) [MODE_EXFAT]: New function.
(grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
(grub_fat_label) [MODE_EXFAT]: New function.
(grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
reserved_first_sector to 0.
2011-10-19 20:19:25 +02:00
Vladimir 'phcoder' Serbinenko
544c24876e
Move grub_reboot out of the kernel.
...
* grub-core/Makefile.core.def (reboot): Add platform-specific files.
* grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
* grub-core/lib/efi/reboot.c: ... here.
* grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
* grub-core/kern/i386/ieee1275/startup.S: Likewise.
* grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
* grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
* grub-core/lib/i386/reboot_trampoline.S: ... here.
* grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
* grub-core/lib/ieee1275/reboot.c: ... here.
* grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
* grub-core/lib/mips/arc/reboot.c: ... here.
* grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
* grub-core/lib/mips/loongson/reboot.c: ...here.
* grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
* grub-core/lib/mips/qemu_mips/reboot.c: ... here.
* include/grub/emu/misc.h (grub_reboot): New function declaration.
* include/grub/i386/reboot.h: New file.
* include/grub/mips/loongson/ec.h: Fix includes.
* include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
* include/grub/misc.h (grub_reboot): Don't mark as kernel function.
* grub-core/lib/i386/reboot.c: New file.
2011-10-19 16:53:18 +02:00
Vladimir 'phcoder' Serbinenko
a97501d238
Make grub_prefix into module to fix the arbitrary limit and save
...
some space.
* grub-core/kern/emu/main.c (grub_prefix): Removed.
* grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
* grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
* grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
* grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
* grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
* grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
* grub-core/kern/mips/startup.S (grub_prefix): Likewise.
* grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
* grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
* grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
* include/grub/ia64/efi/kernel.h: Removed.
* include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
(grub_prefix): Removed.
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
(GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
(GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
(GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
(GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
(GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
(GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
(GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
(GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
(GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
(GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
(GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
(GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
(GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
(GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
(GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
(GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
(GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
(GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
(GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
(GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
(GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
(GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
(GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
(GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
(GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
(GRUB_KERNEL_MACHINE_PREFIX): Likewise.
(GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
* grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
from module.
* util/grub-mkimage.c (image_target_desc): Removed prefix and
prefix_end.
(image_targets): Likewise.
(generate_image): Put prefix as a module.
2011-10-18 15:21:51 +02:00
Vladimir 'phcoder' Serbinenko
39705fadd7
Replace grub_module_iterate with FOR_MODULES.
...
* grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
* grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
(grub_efi_modules_addr): ...this.
* grub-core/kern/efi/init.c (grub_modbase): New variable.
(grub_efi_init): Set grub_modbase.
* grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
(grub_modbase): New variable.
* grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
(grub_modbase): New variable.
(grub_machine_init): Set grub_modbase.
* grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
(grub_modbase): New variable.
(grub_machine_init): Set grub_modbase.
* grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
(grub_modbase): New variable.
(grub_machine_init): Set grub_modbase.
* grub-core/kern/main.c (grub_module_iterate): Remove.
(grub_modules_get_end): Use grub_modbase.
(grub_load_modules): Use FOR_MODULES.
(grub_load_config): Likewise.
* grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
(grub_modbase): New variable.
(grub_machine_init): Set grub_modbase.
* grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
(grub_modbase): New variable.
(grub_machine_init): Set grub_modbase.
* grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
Removed.
(grub_modbase): New variable.
(grub_machine_init): Set grub_modbase.
* include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
* include/grub/kernel.h (grub_arch_modules_addr): Removed.
(grub_module_iterate): Likewise.
(grub_modbase): New variable declaration.
(FOR_MODULES): New macro.
2011-10-16 15:23:29 +02:00
Vladimir 'phcoder' Serbinenko
2afb7f6cbf
* configure.ac: Check for __ctzdi2 and __ctzsi2.
...
* include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
2011-10-16 15:15:35 +02:00
Vladimir 'phcoder' Serbinenko
366e34fa5a
Fix few obvious type discrepancies.
...
* grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
* grub-core/fs/afs.c (grub_afs_read_file): Likewise.
* grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
variable.
* grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
and connected types.
* grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
offset.
(grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
* grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
* grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
and connected types.
2011-10-16 11:57:48 +02:00
Vladimir 'phcoder' Serbinenko
177b960ea4
Fix python 3.x incompatibilities.
...
* gentpl.py: Put brackets around print strings.
* util/import_gcry.py: Open explicitly as utf-8.
Use in instead of has_key.
2011-10-16 11:53:27 +02:00
Vladimir 'phcoder' Serbinenko
3b619ae116
* grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
...
(GRUB_XFS_INO_AGBITS): Make into inline function.
(GRUB_XFS_INO_INOINAG): Likewise.
(GRUB_XFS_INO_AG): Likewise.
(GRUB_XFS_FSB_TO_BLOCK): Likewise.
(GRUB_XFS_EXTENT_OFFSET): Likewise.
(GRUB_XFS_EXTENT_BLOCK): Likewise.
(GRUB_XFS_EXTENT_SIZE): Likewise.
(GRUB_XFS_ROUND_TO_DIRENT): Likewise.
(GRUB_XFS_NEXT_DIRENT): Likewise.
(grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
(grub_xfs_read_file): Fix offset type.
2011-10-16 11:48:54 +02:00
Robert Millan
8bcebcb8e4
2011-10-15 Robert Millan <rmh@gnu.org>
...
* util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
2011-10-15 18:37:55 +02:00
Robert Millan
0017e5ef84
2011-10-15 Robert Millan <rmh@gnu.org>
...
Fix build problem on FreeBSD and GNU/kFreeBSD.
* util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
2011-10-15 13:33:41 +02:00
Vladimir 'phcoder' Serbinenko
d891955241
Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
...
* grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
types.
(grub_hfsplus_btree_recoffset): Likewise.
(grub_hfsplus_btree_recptr): Likewise.
(grub_hfsplus_find_block): Likewise.
(grub_hfsplus_btree_search): Likewise.
(grub_hfsplus_read_block): Likewise.
(grub_hfsplus_read_file): Likewise.
(grub_hfsplus_mount): Likewise.
(grub_hfsplus_btree_iterate_node): Likewise.
(grub_hfsplus_btree_search): Likewise.
(grub_hfsplus_iterate_dir): Likewise.
(grub_hfsplus_read): A small code simplification.
2011-10-14 22:41:21 +02:00
Vladimir 'phcoder' Serbinenko
c81296b65f
* grub-core/kern/emu/hostdisk.c
...
(convert_system_partition_to_system_disk): Don't assume that children
of mapper nodes are mapper nodes.
2011-10-14 19:20:44 +02:00
Vladimir 'phcoder' Serbinenko
0eb8ffb1f5
* grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
...
* include/grub/misc.h (grub_isxdigit): New function.
* grub-core/video/colors.c (my_isxdigit): Removed. All users
switched to grub_isxdigit.
* grub-core/term/serial.c (grub_serial_find): Fix in case of port
number starting with a letter.
2011-10-14 19:16:37 +02:00
Robert Millan
a98f4a0808
2011-10-09 Robert Millan <rmh@gnu.org>
...
LVM support for FreeBSD and GNU/kFreeBSD.
* util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
GNU/kFreeBSD.
(LVM_DEV_MAPPER_STRING): Move from here ...
* include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
* util/getroot.c: Include `<grub/util/lvm.h>'.
(grub_util_get_dev_abstraction): Enable
grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
(grub_util_get_grub_dev): Replace "/dev/mapper/" with
`LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
support it.
* util/grub-setup.c (main): Check for LVM also on FreeBSD and
GNU/kFreeBSD.
* util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
when LVM abstraction is required for ${GRUB_DEVICE}.
2011-10-09 21:13:00 +02:00
Szymon Janc
050e8e9080
Add support for LZO compression in GRUB:
...
- import of minilzo library,
- LZO decompression for btrfs,
- lzop files decompression.
* grub-core/io/lzopio.c: New file.
* grub-core/lib/adler32.c: Likewise.
* grub-core/lib/minilzo/lzoconf.h: Likewise.
* grub-core/lib/minilzo/lzodefs.h: Likewise.
* grub-core/lib/minilzo/minilzo.c: Likewise.
* grub-core/lib/minilzo/minilzo.h: Likewise.
* Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
grub-core/lib/adler32.c, grub-core/io/lzopio.c,
grub-core/lib/minilzo/minilzo.c to common.
* Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
cflags in cppflags.
* grub-core/Makefile.core.def (btrfs): Likewise.
* grub-core/Makefile.core.def (lzopio): New module.
(adler32): Likewise.
* grub-core/fs/btrfs.c: Include minilzo.h.
(GRUB_BTRFS_COMPRESSION_LZO): New define.
(GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
(GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
(grub_btrfs_lzo_decompress): New function.
(grub_btrfs_extent_read): Add support for LZO compression type.
* include/grub/types.h (GRUB_UCHAR_MAX): New define.
(GRUB_USHRT_MAX): Likewise.
(GRUB_UINT_MAX): Likewise.
* grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
(UINT_MAX): Likewise.
(CHAR_BIT): Likewise.
* grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
grub-core/lib/posix_wrap/limits.h
(UCHAR_MAX): Likewise.
* include/grub/file.h (grub_file_filter_id): New compression filter
GRUB_FILE_FILTER_LZOPIO.
* include/grub/file.h (grub_file_filter_id): Set
GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
* include/grub/types.h (grub_get_unaligned16): New function.
(grub_get_unaligned32): Likewise.
(grub_get_unaligned64): Likewise.
* util/import_gcry.py (cryptolist): Add adler32.
2011-10-06 20:45:14 +02:00
starous
ce79cc99d5
@Rock changes - fixed coreboot problem
2011-10-01 21:27:29 +02:00
BVK Chaitanya
8667a314ba
* gentpl.py: Use Autogen macros so that the output template file
...
(Makefile.tpl) size is reduced.
2011-09-30 18:49:37 -07:00
Mads Kiilerich
fc5efcc083
* grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
...
extra_dist.
2011-09-29 10:50:25 +02:00
Mario Limonciello
d1ab689de8
* util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
...
slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
2011-09-29 10:39:44 +02:00
Mario Limonciello
c05de0329b
* grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
...
_fullpath.
2011-09-29 10:36:55 +02:00
Mario Limonciello
cca7ccd8ff
Remove extra declaration of sleep for mingw32.
...
* util/misc.c (sleep) [__MINGW32__]: Removed.
* include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
2011-09-29 10:32:24 +02:00
Grégoire Sutre
e0b0dc837b
Make knetbsd pass bootinfo bootdisk and bootwedge.
2011-09-28 23:45:57 +02:00
Thomas Haller
91a1a164d6
* grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
...
loader.
2011-09-28 16:43:00 +02:00
Andreas Born
2ded951ef7
Fix incorrect identifiers in bash-completion.
...
* util/bash-completion.d/grub-completion.bash.in
(_grub_mkpasswd-pbkdf2): Rename to ...
(_grub_mkpasswd_pbkdf2): ... this. All users updated.
(_grub_script-check): Rename to ...
(_grub_script_check): ... this. All users updated.
2011-09-28 14:19:21 +02:00
Vladimir 'phcoder' Serbinenko
6991503094
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
...
Return 0 if disk isn't biosdisk.
2011-09-28 14:07:53 +02:00
Grégoire Sutre
20fd15f9db
Add LIBUTIL for grub-mkrelpath and grub-fstest. Fixes build on NetBSD.
2011-09-17 23:40:10 +02:00
Grégoire Sutre
1a7d7db97f
Get sector size from disk label for NetBSD.
2011-09-17 23:01:48 +02:00
Colin Watson
2221ab6c62
* util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
...
*/README* as well as README*.
Reported by: Axel Beckert.
2011-09-05 13:58:33 +01:00
Vladimir 'phcoder' Serbinenko
ca51c4a04f
* grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
...
case of less than 256 MiB of RAM.
2011-08-23 11:20:56 +02:00
Vladimir 'phcoder' Serbinenko
ab80f326f4
* grub-core/commands/wildcard.c (make_regex): Handle @.
2011-08-23 11:19:26 +02:00
Vladimir 'phcoder' Serbinenko
4155e6974a
* util/grub-install.in: Move cryptodisk logic to appropriate place.
2011-08-23 11:18:00 +02:00
Szymon Janc
ab178c084a
* acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
...
AC_LANG_CONFTEST macros.
2011-08-20 21:10:00 +02:00
Szymon Janc
7dc3c6863e
Add grub-fstest option to uncompress data for commands.
...
* util/grub-fstest.c (uncompress): New var.
(options): New option -u.
2011-08-20 13:04:38 +02:00
Szymon Janc
fe8d4a7bc2
* grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
...
GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
2011-08-20 11:58:41 +02:00
Szymon Janc
a5219af189
* grub-core/io/gzio.c (grub_gzio_open): Always return original io if
...
file type was not recognized correctly (not gzip or corrupted).
2011-08-20 11:48:46 +02:00
Vladimir 'phcoder' Serbinenko
f87abff538
* grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
...
* include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
2011-08-19 23:11:09 +02:00
Vladimir 'phcoder' Serbinenko
d94497eaca
* grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
...
loongson.
* grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
video_radeon_fuloong2e.
* grub-core/video/radeon_fuloong2e.c: New file.
* include/grub/video.h (grub_video_id_t): Add new ID
GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
2011-08-19 23:08:36 +02:00
Vladimir 'phcoder' Serbinenko
0d1fd0113b
* include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
...
define.
* grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
that PRID matches the detected subplatform and reset the subplatform
if it doesn't.
2011-08-19 23:04:18 +02:00
Vladimir 'phcoder' Serbinenko
84beb0eeb9
* grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
2011-08-19 22:59:24 +02:00
Vladimir 'phcoder' Serbinenko
1227c13390
Fix PCI iterating on functions >= 4.
...
* grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
* include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
Removed.
(GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
(grub_pci_read): Fix bitmask.
(grub_pci_read_word): Likewise.
(grub_pci_read_byte): Likewise.
(grub_pci_write): Likewise.
(grub_pci_write_word): Likewise.
(grub_pci_write_byte): Likewise.
2011-08-19 22:56:49 +02:00
Vladimir 'phcoder' Serbinenko
9594c6897e
* configure.ac: Don't impose march=loongson2f on loongson platform. (It
...
can still be specified in TARGET_CFLAGS)
2011-08-19 22:49:48 +02:00
Vladimir 'phcoder' Serbinenko
14a2562cf7
Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
...
* grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
* grub-core/boot/mips/loongson/fuloong.S: Rename to ...
* grub-core/boot/mips/loongson/fuloong2f.S: ... this.
(FULOONG): Rename to ...
(FULOONG2F): ... this. All users updated.
* grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
(machtype_fuloong2f_str): ... this.
(machtype_fuloong2e_str): New string.
Check for machtype_fuloong2e_str.
* grub-core/loader/mips/linux.c (loongson_machtypes)
[GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
* grub-core/term/serial.c (loongson_defserial)
[GRUB_MACHINE_MIPS_LOONGSON]: New array.
(grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
loongson_defserial.
* include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
Rename to ...
(GRUB_ARCH_MACHINE_FULOONG2F): ... this.
(GRUB_ARCH_MACHINE_FULOONG2E): New const.
* util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
to IMAGE_FULOONG2F_FLASH. All users updated.
(image_targets): Rename images.
* util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
2011-08-19 22:46:11 +02:00
Szymon Janc
b526cbb6fa
Make enable of disk cache statistics code configurable.
...
* configure.ac: --enable-cache-stats added.
* config.h.in (DISK_CACHE_STATS): New define.
* grub-core/Makefile.core.def (cacheinfo): New command.
* include/grub/disk.h(grub_disk_cache_get_performance): New function.
* grub-core/commands/cacheinfo.c: New file.
* grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
moved to cacheinfo.c.
* grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
debug code.
* include/grub/disk.h: Likewise.
2011-08-19 21:28:09 +02:00
Szymon Janc
fb739ccd79
* Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
...
* grub-core/Makefile.am: Likewise.
2011-08-19 20:06:42 +02:00
Vladimir 'phcoder' Serbinenko
2bba8cfd55
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
...
non-zero pull.
2011-08-16 23:12:20 +02:00
Vladimir 'phcoder' Serbinenko
43526629e5
* grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
...
All users updated.
(grub_jfs_lookup_symlink): Use correct starting inode.
2011-08-16 23:10:38 +02:00
Vladimir 'phcoder' Serbinenko
5c144cc8b2
* util/grub-setup.c (main): Add missing gcry initialisation.
2011-08-16 16:19:06 +02:00
Vladimir 'phcoder' Serbinenko
b1257f6533
Don't accept text modes on EFI when booting Linux.
...
* grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
(grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
2011-08-16 16:11:10 +02:00
Mario Limonciello
828bc390d8
* util/grub-probe.c (probe): Canonicalise the path argument, fixing
...
use of "/path/.." as in grub-install for EFI as well as handling
symlinks correctly.
Fixes Debian bug #637768 .
2011-08-15 23:30:11 +01:00
Colin Watson
5f60ccac6f
* util/grub-probe.c: Remove duplicate #include.
2011-08-15 23:21:29 +01:00
Robert Millan
6dc212f953
2011-08-10 Robert Millan <rmh@gnu.org>
...
Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
* util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
function.
[__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
(/dev/mfid[0-9]+) devices using get_mfi_disk_name().
2011-08-10 22:24:02 +02:00
Robert Millan
66816d8556
2011-08-03 Robert Millan <rmh@gnu.org>
...
* include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
la_array as packed.
Reported by: Zachary Bedell
2011-08-03 13:30:46 +02:00
Colin Watson
20168fcafe
* configure.ac: The Loongson port requires grub-mkfont due to its
...
use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
be built.
2011-07-26 16:19:47 +01:00
Colin Watson
303b6246a3
* util/grub-install.in: Don't source grub-mkconfig_lib until after
...
processing arguments (otherwise help2man fails when GRUB has not yet
been installed).
2011-07-26 11:59:47 +01:00
Vladimir 'phcoder' Serbinenko
41aa28ea2a
New script grub-mkstandalone.
...
* Makefile.util.def (grub-mkstandalone): New script.
* docs/man/grub-mkstandalone.h2m: New file.
* util/grub-mkstandalone.in: Likewise.
2011-07-25 08:19:30 +02:00
Vladimir 'phcoder' Serbinenko
6795300e7f
Support ATA disks with 4K sectors.
...
* include/grub/ata.h (grub_ata): New member log_sector_size.
* grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
(grub_ata_identify): Read sector size.
(grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
2011-07-25 08:14:34 +02:00
Vladimir 'phcoder' Serbinenko
9222759765
* util/grub-install.in: Don't use uhci outside of x86.
2011-07-25 08:06:20 +02:00
Vladimir 'phcoder' Serbinenko
c77069f5ae
* util/grub-mkrescue.in: Add missing quotes.
2011-07-25 07:57:29 +02:00
Vladimir 'phcoder' Serbinenko
b70e4cb08d
* grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
...
dereference.
2011-07-25 07:48:19 +02:00
Vladimir 'phcoder' Serbinenko
583168a216
* grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
2011-07-23 18:18:14 +02:00
Vladimir 'phcoder' Serbinenko
6be1c01fd7
* include/grub/video.h: add missing EXPORT_FUND on
...
grub_video_edid_checksum and grub_video_edid_preferred_mode.
2011-07-23 17:18:31 +02:00
Vladimir 'phcoder' Serbinenko
a116743910
* include/grub/mips/kernel.h: Fix define conflict.
2011-07-23 17:14:38 +02:00
Vladimir 'phcoder' Serbinenko
bf66054fb3
* grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
...
all four ways.
2011-07-23 16:44:40 +02:00
Colin Watson
8fc4fa45c5
Preferred resolution detection for VBE.
...
* grub-core/video/video.c (grub_video_edid_checksum): New function.
(grub_video_edid_preferred_mode): Likewise. Try EDID followed by
the Flat Panel extension, in line with the X.org VESA driver.
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
New function.
(grub_vbe_bios_get_ddc_capabilities): Likewise.
(grub_vbe_bios_read_edid): Likewise.
(grub_vbe_get_preferred_mode): Likewise.
(grub_video_vbe_setup): When the mode is "auto", try to get the
preferred mode from VBE, and use the largest mode that is no larger
than the preferred mode (some BIOSes expose a preferred mode that is
not in their mode list!). If this fails, fall back to 640x480 as a
safe conservative choice.
(grub_video_vbe_get_edid): New function.
(grub_video_vbe_adapter): Add get_edid.
* include/grub/video.h (struct grub_vbe_edid_info): New structure.
(struct grub_video_adapter): Add get_edid.
(grub_video_edid_checksum): Add prototype.
(grub_video_edid_preferred_mode): Likewise.
* include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
structure.
* grub-core/commands/videoinfo.c (print_edid): New function.
(grub_cmd_videoinfo): Print EDID if available.
* util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
is more appropriate on a wider range of platforms than 640x480.
* docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
documentation.
2011-07-21 19:46:44 +01:00
Vladimir 'phcoder' Serbinenko
ca5572a9ad
* util/grub-install.in: Recognize ESP mounted at /boot/EFI.
2011-07-10 16:06:31 +02:00
Vladimir 'phcoder' Serbinenko
e4bcf6258c
* po/POTFILES.in: Regenerate.
2011-07-10 15:56:56 +02:00
Vladimir 'phcoder' Serbinenko
c4edd54832
* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
...
incorrect memory usage.
2011-07-10 15:33:57 +02:00
Vladimir 'phcoder' Serbinenko
16a2bab03c
* util/grub-install.in: Source grub-mkconfig_lib.
2011-07-10 15:32:43 +02:00
Vladimir 'phcoder' Serbinenko
2e418de646
Remove getroot.c from core on emu platform.
...
* grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
kern/emu/raid.c.
* grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
useless.
* grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
* util/getroot.c (get_win32_path): ... here.
* grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
* util/getroot.c (fini_libzfs): ... here.
* grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
* util/getroot.c (grub_get_libzfs_handle): ... here.
* grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
Moved from here...
* util/getroot.c (grub_find_zpool_from_dir): ... here.
* grub-core/kern/emu/misc.c
(grub_make_system_path_relative_to_its_root): Moved from here...
* util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
* grub-core/kern/emu/getroot.c: Moved from here ...
* util/getroot.c: ... here. All users updated.
* grub-core/kern/emu/raid.c: Moved from here ...
* util/raid.c: ... here. All users updated.
2011-07-08 13:33:12 +02:00
Vladimir 'phcoder' Serbinenko
def9832af6
* po/POTFILES.in: Regenerate.
2011-07-08 04:06:02 +02:00
Vladimir 'phcoder' Serbinenko
cd8fe79a59
Fix compilation on GNU/Linux.
...
* grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
Disable geli.
(grub_util_get_grub_dev) [!FreeBSD]: Likewise.
(grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
* grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
2011-07-08 03:59:05 +02:00
Vladimir Serbinenko
a251b71915
LUKS and GELI support.
...
* Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
grub-core/disk/luks.c, grub-core/disk/geli.c,
grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
grub-core/lib/arg.c.
(libgrubmods.a): Remove gcrypts cflags and cppflags.
Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
(grub-bin2h): Add libgcry.a.
(grub-mkimage): Likewise.
(grub-mkrelpath): Likewise.
(grub-script-check): Likewise.
(grub-editenv): Likewise.
(grub-mkpasswd-pbkdf2): Likewise.
(grub-pe2elf): Likewise.
(grub-fstest): Likewise.
(grub-mkfont): Likewise.
(grub-mkdevicemap): Likewise.
(grub-probe): Likewise.
(grub-ofpath): Likewise.
(grub-mklayout): Likewise.
(example_unit_test): Likewise.
(grub-menulst2cfg): Likewise.
* autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
* grub-core/Makefile.core.def (cryptodisk): New module.
(luks): Likewise.
(geli): Likewise.
* grub-core/disk/AFSplitter.c: New file.
* grub-core/disk/cryptodisk.c: Likewise.
* grub-core/disk/geli.c: Likewise.
* grub-core/disk/luks.c: Likewise.
* grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
grub_util_is_lvm.
(grub_util_get_dm_abstraction): New function.
(grub_util_follow_gpart_up): Likewise.
(grub_util_get_geom_abstraction): Likewise.
(grub_util_get_dev_abstraction): Use new functions.
(grub_util_pull_device): Pull GELI and LUKS.
(grub_util_get_grub_dev): Handle LUKS and GELI.
* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
(grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
(follow_geom_up): Removed.
(grub_util_fd_seek): New function.
(open_device): Use grub_util_fd_seek.
(nread): Rename to ..
(grub_util_fd_read): ... this. All users updated.
* grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
(grub_crypto_cbc_decrypt): Likewise.
(grub_crypto_hmac_write): Likewise.
(grub_crypto_hmac_buffer): Likewise.
(grub_password_get): Extend to util.
* include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
New member modname.
(gcry_md_spec) [GRUB_UTIL]: Likewise.
* include/grub/cryptodisk.h: New file.
* include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
* include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
LUKS and GELI.
(grub_util_follow_gpart_up): New proto.
* include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
(grub_util_fd_read): Likewise.
(grub_cryptodisk_cheat_mount): Likewise.
(grub_util_cryptodisk_print_uuid): Likewise.
(grub_util_get_fd_sectors): Likewise.
* util/grub-fstest.c (mount_crypt): New var.
(fstest): Mount crypto if requested.
(options): New option -C.
(argp_parser): Parse -C.
(main): Init and fini gcry.
* util/grub-install.in: Support cryptodisk install.
* util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
cryptodisk.
(prepare_grub_to_access_device): Likewise.
* util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
* util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
(probe_cryptodisk_uuid): New function.
(probe_abstraction): Likewise.
(probe): Use new functions.
* util/import_gcry.py: Create Makefile.utilgcry.def.
Add modname member.
Also-By: Michael Gorven <michael@gorven.za.net>
Also-By: Clemens Fruhwirth <clemens@endorphin.org>
2011-07-07 23:52:58 +02:00
Vladimir 'phcoder' Serbinenko
9bfdcbbc7d
Lazy device scanning.
...
* Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
(grub-setup): Remove util/raid.c.
* grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
* grub-core/disk/lvm.c (scan_depth): New variable.
(grub_lvm_iterate): Rescan if necessary.
(find_lv): New function based on grub_lvm_open.
(grub_lvm_open): Use find_lv. Rescan on error.
(is_node_readable): New function.
(is_lv_readable): Likewise.
(grub_lvm_scan_device): Skip already found disks.
(do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
Stop if searched device is found and readable.
* grub-core/disk/raid.c (inscnt): New variable.
(scan_depth): Likewise.
(scan_devices): New function based on grub_raid_register. Abort if
looked for device is found.
(grub_raid_iterate): Rescan if needed.
(find_array): NEw function based on -grub_raid_open.
(grub_raid_open): Use find_array and rescan.
(insert_array): Set became_readable_at.
* grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
* grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
New function.
(grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
(grub_util_pull_device): New function.
(grub_util_get_grub_dev): Call grub_util_pull_device.
* util/raid.c: Moved to ..
* grub-core/kern/emu/raid.c: ... here.
(grub_util_raid_getmembers): New parameter "bootable".
All users updated. Support 1.x.
* include/grub/ata.h (grub_ata_dev): Change iterate prototype.
All users updated.
* include/grub/disk.h (grub_disk_pull_t): New enum.
(grub_disk_dev): Change iterate prototype.
All users updated.
* include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
New proto.
* include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
* include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
* include/grub/raid.h (grub_raid_array): New member became_readable_at.
* include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
All users updated.
* include/grub/util/raid.h: Removed.
2011-07-07 23:21:59 +02:00
Vladimir 'phcoder' Serbinenko
1c358e5948
* po/POTFILES.in: Regenerate.
2011-07-06 22:15:58 +02:00
Vladimir 'phcoder' Serbinenko
abee94edf9
Unify sparc init with other ieee1275.
...
* grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
instead of kern/sparc64/ieee1275/init.c.
* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
[__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
* grub-core/kern/ieee1275/init.c [__sparc__]: Include
grub/machine/kernel.h.
(grub_ieee1275_original_stack) [__sparc__]: New variable.
(grub_claim_heap) [__sparc__]: Use sparc version.
(grub_machine_init): Moved args parsing to
(grub_parse_cmdline): ...this.
* grub-core/kern/sparc64/ieee1275/init.c: Removed.
* include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
New definition.
(GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
Move BOOTP to separate file.
* grub-core/Makefile.core.def (net): Add net/bootp.c.
* grub-core/net/net.c: Move all BOOTP functions to
* grub-core/net/bootp.c: ... here.
Use frame interface on PXE.
* grub-core/Makefile.core.def (pxecmd): Removed.
(pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
* grub-core/commands/i386/pc/pxecmd.c: Removed.
* grub-core/i386/pc/pxe.c: Moved from here ...
* grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
* grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
* include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
EFI network support.
* grub-core/Makefile.core.def (efinet): New module.
* grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
here...
* grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
All users updated.
* grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
(grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
* grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
* grub-core/net/drivers/efi/efinet.c: New file.
* include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
(grub_efi_net_config): New extern var.
Various cleanups and bugfixes.
* grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
error.
(grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
disk declared as partition.
* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
leak on failure.
* grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
* grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
(grub_debug_zalloc): Likewise.
(grub_debug_realloc): Likewise.
(grub_debug_memalign): Likewise.
* grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
Check that target is IPv4.
* grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
local-mac-address as fallback.
* grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
memory leak.
* grub-core/net/ip.c (ipchksum): Rename to ...
(grub_net_ip_chksum): ... this. All users updated.
(grub_net_recv_ip_packets): Special handling for DHCP.
* util/grub-mkimage.c (generate_image): Zero-out aout header.
Unify prefix handling
* grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
(grub_machine_get_bootlocation): ... this.
* grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
(grub_machine_get_bootlocation): ... this.
(grub_prefix): New variable.
(prefix): Removed.
(root_dev): New variable.
(dir): Likewise.
(main): Use new variables.
* grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
Revamped into ...
(grub_machine_get_bootlocation): ... this.
* grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
* grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
(grub_machine_get_bootlocation): ... this.
(grub_machine_set_prefix): Removed.
* grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
* grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
Revamped into ...
(grub_machine_get_bootlocation): ... this.
* grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
(grub_set_prefix_and_root): ... this. All users updated.
* grub-core/kern/mips/init.c (grub_machine_set_prefix):
Revamped into ...
(grub_machine_get_bootlocation): ... this.
* include/grub/kernel.h (grub_machine_set_prefix): Removed.
(grub_machine_get_bootlocation): New proto.
* include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
Less intrusive and more reliable seek on network implementation.
* grub-core/kern/file.c (grub_file_net_seek): Removed.
(grub_file_seek): Don't call grub_file_net_seek.
* grub-core/net/net.c (grub_net_fs_read): Renamed to ...
(grub_net_fs_read_real): .. this.
(grub_net_seek_real): Use net->offset.
(grub_net_fs_read): Seek if necessary.
Unify IEEE1275 netwotk config with the other platforms.
* grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
New variable.
(grub_machine_get_bootlocation): Support network.
* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
Support type and device parsing.
(grub_ieee1275_get_device_type): New function.
* grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
into ...
(grub_ieee1275_net_config_real): ... this.
(grub_ofnet_probecards): Removed.
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
* include/grub/ieee1275/ofnet.h: Removed.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
extern var.
(grub_ieee1275_get_device_type): New function.
Unify network device closing across platforms and make more robust.
* grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
grub_grubnet_fini.
* grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
already.
* grub-core/net/net.c (grub_net_network_level_interface_register):
Update num_ifaces.
(grub_net_card_unregister): Close all interfaces.
(receive_packets): Don't poll if no iterfaces are registered.
Open if necessary.
(grub_net_fini_hw): New function.
(grub_net_restore_hw): Likewise.
(fini_hnd): New variable.
(GRUB_MOD_INIT): Register preboot hook.
(GRUB_MOD_FINI): Run and unregister preboot hook.
Poll network cards when idle.
* grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
(grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
* grub-core/net/net.c (receive_packets): Save last poll time.
(grub_net_poll_cards_idle_real): New function.
(GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
(GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
* include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
Rename ofnet interfaces.
* grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
(grub_ofnet_findcards): Use ofnet_%s names.
* util/grub-mknetdir.in: Support for EFI and IEEE1275.
Cleanup socket opening.
* grub-core/net/net.c (grub_net_fs_open): Rewritten.
(grub_net_fs_close): Likewise.
(grub_net_fs_read_real): Use eof member.
* include/grub/net/udp.h (+grub_net_udp_open): New proto.
(+grub_net_udp_close): New inline function.
* include/grub/net/tftp.h: Moved to the top of ...
* grub-core/net/tftp.c: ... here.
* include/grub/net/ip.h: Moved mostly to the top of ...
* grub-core/net/ip.c: ... here.
* include/grub/net/ethernet.h: Moved mostly to the top of ...
* grub-core/net/ethernet.c: ... here.
* grub-core/kern/device.c (grub_device_close): Free device->net->server.
* grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
FS name.
* include/grub/net/ip.h (ipv4_ini): Removed.
(ipv4_fini): Likewise.
* include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
(grub_net_send_ip_packets): Likewise.
2011-07-06 20:05:26 +02:00
Vladimir 'phcoder' Serbinenko
cf1337aa02
* grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
...
grub_read_cmos prototype.
2011-07-06 02:50:35 +02:00
Vladimir 'phcoder' Serbinenko
93c06ff9c6
VGA text support in qemu-mips
...
* grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
* grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
text.
* grub-core/kern/i386/qemu/init.c: Renamed to ...
* grub-core/kern/vga_init.c: ... this.
* grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
(grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
* grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
Adjust.
* include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
GRUB_MACHINE_PCI_IO_BASE.
2011-07-05 23:46:15 +02:00
Vladimir 'phcoder' Serbinenko
748ccabea1
MIPS qemu flash support.
...
* grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
magic.
* grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
(grub_machine_init): Probe memory if its size isn't known.
* util/grub-mkimage.c (image_targets): Add flash targets.
(generate_image): Handle flash targets.
2011-07-05 21:42:36 +02:00
Vladimir 'phcoder' Serbinenko
d734599439
MIPS qemu at_keyboard support.
...
* gentpl.py (videoinkernel): Add qemu-mips.
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
* grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
* grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
modules.
* grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
[GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
* grub-core/term/serial.c (grub_serial_register)
[GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
2011-07-05 21:00:01 +02:00
Vladimir 'phcoder' Serbinenko
a07a81b335
CMOS support on sparc.
...
* gentpl.py (cmos): Add powerpc and sparc.
* grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
powerpc and sparc.
* grub-core/lib/cmos_datetime.c (grub_get_datetime)
[__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
(grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
grub_set_datetime_cmos.
* grub-core/lib/ieee1275/cmos.c: New file.
* grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
(find_rtc): Set no_ieee1275_rtc on error.
(grub_get_datetime): Call grub_get_datetime_cmos on error.
(grub_set_datetime): Call grub_set_datetime_cmos on error.
* include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
fail. Move value to argument. All users updated
(grub_cmos_write): Likewise.
(grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
(grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
* include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
grub_get_datetime_cmos and grub_set_datetime_cmos.
2011-07-05 20:24:20 +02:00
Grégoire Sutre
77546584e1
Use @PACKAGE@ instead of hardcoded name when sourcing grub-mkconfig_lib.
2011-07-02 21:22:19 +02:00
Colin Watson
548947916b
* grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
...
default_bg_color rather than black.
(grub_gfxterm_fullscreen): Likewise.
(grub_gfxterm_background_color_cmd): Save new background color in
default_bg_color.
2011-06-28 17:05:41 +01:00
Vladimir 'phcoder' Serbinenko
8d5d8444bd
* grub-core/Makefile.core.def (chain): Fix coreboot filename.
2011-06-27 19:30:16 +02:00
Vladimir 'phcoder' Serbinenko
5afeb5bdd6
* grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
...
mismerge.
2011-06-27 19:26:52 +02:00
Vladimir 'phcoder' Serbinenko
ba7df45ee6
Chainloading on coreboot support.
...
* grub-core/Makefile.core.def (chain): Add coreboot.
* grub-core/loader/i386/coreboot/chainloader.c: New file.
2011-06-27 14:14:11 +02:00
Vladimir 'phcoder' Serbinenko
d0b526b277
* grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
...
if it happens.
2011-06-27 13:57:03 +02:00
Vladimir 'phcoder' Serbinenko
5ff1d945ed
Implement time command.
...
* grub-core/Makefile.core.def (time): New module.
* grub-core/commands/time.c: New file.
* grub-core/script/parser.y: Remove "time" keyword.
* grub-core/script/yylex.l: Likewise.
2011-06-27 12:31:37 +02:00
Vladimir 'phcoder' Serbinenko
5ebaad7eec
* include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
2011-06-27 12:28:47 +02:00
Vladimir 'phcoder' Serbinenko
bdea379833
* grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
...
when handling leftovers.
2011-06-27 12:18:44 +02:00
Vladimir 'phcoder' Serbinenko
b28c56559b
* util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
...
so that help2man doesn't fail.
2011-06-27 12:16:00 +02:00
Vladimir 'phcoder' Serbinenko
b6f945dccb
* grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
...
type in pointers on sparc64.
(get_card_packet): Likewise.
2011-06-27 12:13:21 +02:00
Colin Watson
f9b75e8a67
* grub-core/commands/videoinfo.c (hook): Indicate current video mode
...
with `*'.
(grub_cmd_videoinfo): Fetch current video mode.
2011-06-27 10:47:02 +01:00
Vladimir 'phcoder' Serbinenko
1e3d9b8612
* grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
...
because of underlying system restrictions.
2011-06-27 10:12:35 +02:00
Vladimir 'phcoder' Serbinenko
efff4b1cc3
* util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
...
necessary.
2011-06-27 09:06:15 +02:00
Vladimir 'phcoder' Serbinenko
9fc9ce3795
Coreboot video support.
...
* grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
(vbe): Likewise.
* grub-core/kern/i386/coreboot/startup.S: Include int.S.
* grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
here ...
* grub-core/kern/i386/int.S: ... here.
* grub-core/video/i386/pc/vbe.c: Updated includes.
* grub-core/video/i386/pc/vga.c: Likewise.
* include/grub/i386/coreboot/memory.h
(GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
(GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
(GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
* include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
Disable interrupts.
* include/grub/i386/pc/vga.h: Removed. All users updated.
2011-06-27 08:54:55 +02:00
Vladimir 'phcoder' Serbinenko
41bec7fec9
* grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
...
definitions for dprintf.
* grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
2011-06-27 08:43:13 +02:00
Vladimir 'phcoder' Serbinenko
ca80309d32
* grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
...
prototype.
(get_card_packet): Likewise.
2011-06-27 08:40:17 +02:00
Yves Blusseau
9e322ce8de
Display the path of the file when file is not found
...
* grub-core/fs/fat.c: Display the filename when file is not found.
* grub-core/fs/fshelp.c: Likewise.
* grub-core/fs/hfs.c: Likewise.
* grub-core/fs/jfs.c: Likewise.
* grub-core/fs/minix.c: Likewise.
* grub-core/fs/ufs.c: Likewise.
* grub-core/fs/btrfs.c: Likewise.
* grub-core/commands/i386/pc/play.c: Likewise.
2011-06-26 21:48:52 +02:00
Szymon Janc
cbf597afb1
* grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
...
pointer checks before calling grub_free().
* grub-core/commands/wildcard.c (match_devices): Likewise.
* grub-core/commands/wildcard.c (match_files): Likewise.
* grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
* grub-core/fs/cpio.c (grub_cpio_open): Likewise.
* grub-core/fs/udf.c (grub_udf_read_block): Likewise.
* grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
* grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
* grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
* grub-core/script/yylex.l (grub_lexer_unput): Likewise.
* grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
* grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2011-06-26 17:17:41 +02:00
Patrick
6295b32f79
* grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
2011-06-25 01:09:32 +02:00
Vladimir 'phcoder' Serbinenko
77c0840ba6
* grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
...
(grub_pxe_send): Likewise.
(GRUB_MOD_INIT): Fix types.
2011-06-25 00:18:36 +02:00
Szymon Janc
40ea05dee4
* grub-core/io/xzio.c: Fix code style issues
2011-06-24 22:37:17 +02:00
Manoel Rebelo Abranches
90162423e9
Network infrastructure.
...
The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
* include/grub/net/arp.h: New file.
* include/grub/net/device.h: Likewise.
* include/grub/net/ethernet.h: Likewise.
* include/grub/net/ip.h: Likewise.
* include/grub/net/netbuff.h: Likewise.
* include/grub/net/tftp.h: Likewise.
* include/grub/net/udp.h: Likewise.
* include/grub/ieee1275/ofnet.h: Likewise.
* include/grub/emu/export.h: Likewise.
* include/grub/net.h: Likewise.
* grub-core/net/arp.c: Likewise.
* grub-core/net/ethernet.c: Likewise.
* grub-core/net/ip.c: Likewise.
* grub-core/net/udp.c: Likewise.
* grub-core/net/tftp.c: Likewise.
* grub-core/net/netbuff.c: Likewise.
* grub-core/net/net.c: Likewise.
* grub-core/net/drivers/emu/emunet.c: Likewise.
* grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
export.h.
* grub-core/Makefile.core.def (net): New module.
(tftp): Likewise.
(ofnet): Likewise.
(emunet): Likewise.
* grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
network protocols.
* grub-core/kern/device.c (grub_net_open) : New variable.
(grub_device_open): Handle network device.
(grub_device_close): Likewise.
* grub-core/kern/file.c (grub_file_net_seek) : New variable.
(grub_grubnet_fini): Likewise.
(grub_file_seek): Seek in network device.
* grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
* grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
network root.
(grub_machine_fini): Call grub_grubnet_fini.
* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
network.
(grub_ieee1275_get_aliasdevname): New function.
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
Add unofficial Solaris network info.
(grub_multiboot_make_mbi): Likewise.
* grub-core/fs/i386/pc/pxe.c: Moved from here ...
* grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
* include/grub/device.h (grub_fs): Removed.
* include/grub/err.h (grub_err_t): Add network-related values.
* include/grub/i386/pc/pxe.h: Removed bootp parts.
* include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
(grub_ieee1275_get_aliasdevname): New proto.
* include/grub/net.h: Rewritten.
Also-By: Paulo Pinatti <ppinatti@br.ibm.com>
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2011-06-24 22:16:05 +02:00
Vladimir 'phcoder' Serbinenko
031f22a01f
* grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
...
names.
2011-06-24 18:26:20 +02:00
Vladimir 'phcoder' Serbinenko
4388ca7224
* grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
...
(wildcard_expand): Don't stop on nonregexp parts after regexp ones since
it truncates the output.
Reported by: Ximin Luo.
2011-06-24 13:43:10 +02:00
Vladimir 'phcoder' Serbinenko
98e2f50661
* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
2011-06-24 13:02:49 +02:00
Vladimir 'phcoder' Serbinenko
2a5e94d84a
* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
...
partmap before abstraction.
2011-06-24 12:41:05 +02:00
Alexander Kurtz
535c191059
* util/grub-mkconfig_lib.in: Add missing quotes.
2011-06-24 12:38:24 +02:00
Vladimir 'phcoder' Serbinenko
bc09e1a238
* grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
...
old method if mountinfo would return /dev/root and /dev/root doesn't
exist.
2011-06-24 04:32:54 +02:00
Vladimir 'phcoder' Serbinenko
290766fb77
ZFS zlib support
...
* grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
(decomp_table): Add zlib entries.
(zio_read): USe 8 bits for compression function rather than 3.
* include/grub/zfs/zio.h (zio_compress): Add zlib values.
2011-06-24 00:31:29 +02:00
Vladimir 'phcoder' Serbinenko
5ab3f48a92
AHCI support.
...
* grub-core/Makefile.core.def (ata_pthru): Removed.
(ahci): New module.
(pata): Likewise.
* grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
on unload.
* grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
readwrite.
(grub_hdparm_do_check_powermode_cmd): Likewise.
(grub_hdparm_do_smart_cmd): Likewise.
(grub_hdparm_set_val_cmd): Likewise.
(grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
* grub-core/disk/ahci.c: New file.
* grub-core/disk/ata.c: Factor out the low-level part into ...
* grub-core/disk/pata.c: ... here.
* grub-core/disk/ata_pthru.c: Contents moved to ...
* grub-core/disk/pata.c: ... here.
* grub-core/disk/scsi.c (grub_scsi_names): New array.
(grub_scsi_iterate): Use grub_scsi_names.
(grub_scsi_open): Likewise.
* grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
* include/grub/ata.h (grub_ata_commands): Add DMA commands.
(grub_ata_regs_t): New struct.
(grub_disk_ata_pass_through_parms): Likewise.
(grub_ata_device): Renamed to ...
(grub_ata): ... this.
(grub_ata_dev): New struct.
Removed all low-level inline functions.
* include/grub/scsi.h: Add PATA and AHCI subsystems.
(grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
iterate hooks and open. All users updated.
* util/grub-install.in: Handle AHCI disk module.
2011-06-24 00:07:55 +02:00
Szymon Janc
c31dc5f5e4
Add support for DRI and RSTn markers in JPEG files.
...
* grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
(JPEG_MARKER_RST0): Likewise.
(JPEG_MARKER_RST1): Likewise.
(JPEG_MARKER_RST2): Likewise.
(JPEG_MARKER_RST3): Likewise.
(JPEG_MARKER_RST4): Likewise.
(JPEG_MARKER_RST5): Likewise.
(JPEG_MARKER_RST6): Likewise.
(JPEG_MARKER_RST7): Likewise.
(grub_jpeg_data): New fields dri, r1, bitmap_ptr.
(grub_jpeg_decode_dri): New function.
(grub_jpeg_decode_sos): Move image data related part into
grub_jpeg_decode_data function.
(grub_jpeg_decode_data): New function.
(grub_jpeg_reset): New function.
(grub_jpeg_decode_jpeg): Handle new markers.
2011-06-23 23:13:20 +02:00
Vladimir 'phcoder' Serbinenko
fe12fd5b43
* util/ieee1275/ofpath.c (check_sas): Close fd.
...
(main): Free of_path.
Reported by: David Volgyes <dvolgyes>.
2011-06-23 22:18:31 +02:00
Vladimir 'phcoder' Serbinenko
03147f4667
* util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
...
Reported by: David Volgyes <dvolgyes>.
2011-06-23 22:11:42 +02:00
Vladimir 'phcoder' Serbinenko
cad3237fb5
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
...
file after stat.
Reported by: David Volgyes <dvolgyes>.
2011-06-23 22:02:05 +02:00
Vladimir 'phcoder' Serbinenko
13548d26e9
* util/raid.c (grub_util_raid_getmembers): Close fd before returning.
...
Reported by: David Volgyes <dvolgyes>.
2011-06-23 21:06:50 +02:00
Vladimir 'phcoder' Serbinenko
e061a1b537
* grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
...
Prevent memory leak.
2011-06-23 20:58:35 +02:00
Vladimir 'phcoder' Serbinenko
1abe47dc99
* grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
...
(main): Close file.
2011-06-23 20:55:36 +02:00
Vladimir 'phcoder' Serbinenko
fbc626665f
* grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
...
to continue if allocation is failed.
Reported by: David Volgyes <dvolgyes>.
2011-06-23 20:38:19 +02:00
David Volgyes
e98c83e910
* grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
...
dereference.
2011-06-23 20:28:04 +02:00
Vladimir 'phcoder' Serbinenko
a199a8cd1a
Fix spurious warning.
...
* grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
(acorn_partition_map_find): Use .bin member.
2011-06-23 20:05:39 +02:00
Vladimir 'phcoder' Serbinenko
e2d1dba0ae
* grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
...
/dev/root as a valid device.
2011-06-23 19:50:41 +02:00
Jim Meyering
8a5d6919e1
Avoid NULL deref in grub_device_open.
...
* grub-core/kern/device.c (grub_device_open): Don't dereference
a NULL pointer upon failed grub_env_get.
2011-06-23 18:08:53 +02:00
Vladimir 'phcoder' Serbinenko
f7db6f4a55
Support non-512B sectors and agglomerate reads.
...
* Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
* grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
(disk_io_guid): Removed.
(make_devices): Locate solely by BlockIO.
(grub_efidisk_open): Fill log_sector_size and total_sectors.
(grub_efidisk_read): Use read_blocks.
(grub_efidisk_write): Use write_blocks.
* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
log_sector_size.
(get_safe_sectors): Handle non-512B sectors.
(grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
sectors.
(grub_biosdisk_write): Handle non-512B sectors.
* grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
(grub_scsi_read): Remove special non-512B block handling (now handled
one level up).
* grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
and do sanity checks.
(grub_disk_adjust_range): Handle non-512B sectors.
(transform_sector): New function.
(grub_disk_read_small): Likewise.
(grub_disk_read): Rewritten.
(grub_disk_write): Handle non-512B sectors.
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
log_sector_size.
(open_device): Use log_sector_size.
(grub_util_biosdisk_read): Likewise.
(grub_util_biosdisk_write): Likewise.
* grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
non-512B sectors.
(pc_partition_map_embed): Likewise.
* include/grub/disk.h (grub_disk): New field log_sector_size.
(GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
(GRUB_DISK_CACHE_BITS): Increased to 6.
* util/grub-fstest.c (fstest): New command testload.
(argp_parser): Likewise.
2011-06-23 16:45:52 +02:00
Robert Millan
881ac815d0
2011-06-16 Robert Millan <rmh@gnu.org>
...
Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
`ata' driver on kernel of FreeBSD 9.
* util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
(get_ataraid_disk_name): New functions.
[__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
(/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
get_ataraid_disk_name() and get_ada_disk_name().
2011-06-16 14:33:11 +02:00
Colin Watson
1e9aef7d96
* docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
...
input format.
2011-06-13 17:35:50 +01:00
Manoel Rebelo Abranches
423a1849ef
Write ChangeLog.
2011-06-07 11:47:31 -03:00
Colin Watson
351c7c8a15
* docs/grub.texi (Obtaining and Building GRUB): Substitute
...
`ftp.gnu.org' for `alpha.gnu.org'.
2011-05-29 22:15:08 +01:00
Colin Watson
6b4e643081
* grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
...
partitions under /dev/disk/by-id/.
2011-05-27 13:57:22 +01:00
Colin Watson
c64db050f7
* grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
...
after ten consecutive open failures. Scanning all the way up to
10000 is excessive and can cause serious performance problems in
some configurations.
Fixes Ubuntu bug #787461 .
2011-05-27 13:52:21 +01:00
Vladimir 'phcoder' Serbinenko
245f4aba48
* grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
...
opening new one.
2011-05-21 07:05:46 +02:00
Vladimir Serbinenko
f767c929f2
Don't stat devices unless we have to.
...
* grub-core/kern/emu/getroot.c (grub_find_device): Recognize
dir == /dev/mapper.
(grub_guess_root_device): Use already known os_dev if possible.
* grub-core/kern/emu/hostdisk.c
(convert_system_partition_to_system_disk): Scan only in /dev/mapper
if device is known to be a dm one.
Also-By: Colin Watson <cjwatson@ubuntu.com>
2011-05-21 07:03:55 +02:00
Colin Watson
f35fa3a664
* util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
...
GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
Reported by: Pawel Tecza.
2011-05-20 11:21:36 +01:00
Vladimir 'phcoder' Serbinenko
9a79fcf2c9
* grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
...
(lsefisystab): Likewise.
(lssal): Likewise.
(lsefimmap): Likewise.
(hdparm): Enable on qemu-mips.
(setjmp): Add ia64 nodist.
(serial): Simplify tags.
2011-05-19 12:13:18 +02:00
Colin Watson
63e3eea967
* Makefile.util.def (grub-ofpathname): Install manual page.
2011-05-18 17:31:50 +01:00
Colin Watson
09728256a8
* grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
2011-05-18 17:16:59 +02:00
Colin Watson
8b63a14297
* .bzrignore: Add grub-core/modinfo.sh and a number of test files.
2011-05-18 16:10:52 +01:00
Vladimir 'phcoder' Serbinenko
e775d8edfe
* grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
...
into dprintf.
2011-05-18 15:37:18 +02:00
Vladimir 'phcoder' Serbinenko
bf947d36e3
Use full 64-bit division.
...
* grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
(grub_divmod64): ... this.
* include/grub/misc.h (grub_divmod64): Removed. All users switch to full
version.
2011-05-18 15:35:19 +02:00
Colin Watson
b84f26c549
* util/grub-mkrescue.in: Use portable `.' rather than non-portable
...
`source'.
2011-05-18 12:57:59 +01:00
Colin Watson
5626056ffb
* grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
...
to avoid accidents when debugging with 'sh -x'.
* grub-core/gensyminfo.sh.in: Likewise.
* tests/example_scripted_test.in: Likewise.
* tests/grub_cmd_regexp.in: Likewise.
* tests/grub_script_blanklines.in: Likewise.
* tests/grub_script_dollar.in: Likewise.
* tests/grub_script_expansion.in: Likewise.
* tests/grub_script_final_semicolon.in: Likewise.
* tests/partmap_test.in: Likewise.
* tests/util/grub-shell-tester.in: Likewise.
* tests/util/grub-shell.in: Likewise.
2011-05-18 12:53:07 +01:00
Colin Watson
e2965f4a32
Move gfxmenu color handling to video, so that gfxterm can use it
...
too.
* grub-core/gfxmenu/named_colors.c: Move to ...
* grub-core/video/colors.c: ... here. Rename
grub_gui_get_named_color to grub_video_get_named_color.
* grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
* grub-core/video/colors.c (my_isxdigit): ... here.
* grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
Move to ...
* grub-core/video/colors.c (parse_hex_color_component): ... here.
* grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
to ...
* grub-core/video/colors.c (grub_video_parse_color): ... here.
* include/grub/gui.h (grub_gui_color_t): Move to ...
* include/grub/video.h (grub_video_rgba_color_t): ... here.
* include/grub/gui.h (grub_gui_color_rgb): Move to ...
* include/grub/video.h (grub_video_rgba_color_rgb): ... here.
* include/grub/gui.h (grub_gui_map_color): Move to ...
* include/grub/video.h (grub_video_map_rgba_color): ... here.
* include/grub/gui_string_util.h (grub_gui_get_named_color): Move
to ...
* include/grub/video.h (grub_video_get_named_color): ... here.
* include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
* include/grub/video.h (grub_video_parse_color): ... here.
* grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
video/colors.c.
(gfxmenu): Remove gfxmenu/named_colors.c.
(video) [videomodules]: Add video/colors.c.
Add a background_color command.
* grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
function.
(GRUB_MOD_INIT): Register background_color command.
(GRUB_MOD_FINI): Unregister background_color command.
(redraw_screen_rect): Allow blend/replace of text layer to be
controlled independently from whether there is a background bitmap.
(grub_gfxterm_background_image_cmd): Change blend_text_bg when
changing bitmap.
2011-05-18 12:44:24 +01:00
Vladimir 'phcoder' Serbinenko
26618ff0db
Patch BPB in ntldr and chainloader --bpb.
...
* grub-core/fs/fat.c: Include grub/fat.h.
(grub_fat_bpb): Moved to ...
* include/grub/fat.h (grub_fat_bpb): ... here. New file.
* grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
grub/ntfs.h.
* include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
Moved from here...
* grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
here.
* grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
New function.
(grub_chainloader_cmd): Patch BPB if --bpb is given.
(GRUB_MOD_INIT): Show --bpb.
* grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
* grub-core/normal/main.c (features): New variable.
(GRUB_MOD_INIT): Set feature_* variables.
* include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
proto.
* include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
2011-05-18 12:51:05 +02:00
Vladimir 'phcoder' Serbinenko
1e4b43901a
* grub-core/fs/fat.c: Include grub/fat.h.
...
(grub_fat_bpb): Moved to ...
* include/grub/fat.h (grub_fat_bpb): ... here. New file.
* grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
grub/ntfs.h.
* include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
Moved from here...
* grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
here.
* grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
New function.
(grub_chainloader_cmd): Patch BPB if --bpb is given.
(GRUB_MOD_INIT): Show --bpb.
* grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
* grub-core/normal/main.c (features): New variable.
(GRUB_MOD_INIT): Set feature_* variables.
* include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
proto.
* include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
2011-05-18 12:48:14 +02:00
Vladimir 'phcoder' Serbinenko
cf02731e48
* grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
...
for cleanness.
2011-05-18 12:39:22 +02:00
Vladimir 'phcoder' Serbinenko
e3a1073fd2
FreeDOS direct loading support.
...
* docs/grub.texi (Supported OS): Add FreeDOS.
* grub-core/Makefile.core.def (freedos): New module.
* grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
variable.
(grub_relocator16_boot): Handle %ebx.
* grub-core/lib/i386/relocator16.S: Likewise.
* grub-core/loader/i386/pc/freedos.c: New file.
2011-05-18 12:15:16 +02:00
Vladimir 'phcoder' Serbinenko
05caa461e8
Long Linux command line support.
...
* grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
(maximal_cmdline_size): New variable.
(allocate_pages): Use maximal_cmdline_size.
(grub_cmd_linux): Set and use maximal_cmdline_size.
* grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
(allocate_pages): Use maximal_cmdline_size.
(grub_cmd_linux): Set and use maximal_cmdline_size.
* include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
(linux_kernel_header): Add fields kernel_alignment, relocatable, pad
and cmdline_size.
2011-05-18 09:56:33 +02:00
Vladimir Serbinenko
a2491e235c
Improve devmapper support
...
* grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
(grub_util_is_lvm): New function.
(grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
than lvm if not dmraid.
Handle mapped md nodes.
* grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
(grub_util_device_is_mapped): ... this. Make always available. All users
updated.
(grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
(convert_system_partition_to_system_disk): Handle lvm, mpath and
dmraid nodes.
* include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
Also-By: Colin Watson <cjwatson@ubuntu.com>
2011-05-18 09:35:47 +02:00
Vladimir 'phcoder' Serbinenko
6ad6223e92
Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
...
* grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
* grub-core/modinfo.sh.in: New file.
* grub-core/Makefile.core.def (modinfo.sh): New script.
* util/grub-mknetdir.in: Use modinfo.sh.
* util/grub-mkrescue.in: Likewise.
2011-05-18 01:38:01 +02:00
Vladimir 'phcoder' Serbinenko
543a8f6ef9
* grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
...
Fix potential usage of Elf32 instead of Elf64 when compiling on
32-bit architecture. Add endianness macros while on it.
2011-05-18 00:21:49 +02:00
Vladimir 'phcoder' Serbinenko
4959e11109
Use mipsel- rather than mips- in directories involving mipsel ports to
...
allow both endiannesses coexist.
* configure.ac: proparate target_cpu=mipsel rather than resetting to
mips. All conditions adjusted.
* tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
variable.
* util/grub-install.in: Adjust conditions to take renaming into account.
* util/grub-mkimage.c (image_targets): Likewise. New target
mips-qemu_mips-elf for bigendian mips.
2011-05-17 22:48:20 +02:00
Vladimir 'phcoder' Serbinenko
35341bbc96
Avoid unnecessary copying on MIPS.
...
* grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
early if src == dest.
* util/grub-mkimage.c (generate_image): Arange for src == dest if
compression is none.
2011-05-17 21:40:35 +02:00
Vladimir 'phcoder' Serbinenko
b772baedcd
Reduce memory footprint on SGI by putting modules before the kernel
...
as opposed to after.
* grub-core/Makefile.core.def (kernel): Increase linking address.
(none_decompress): Likewise.
(xz_decompress): Likewise.
* grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
address.
* grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
layout change.
(grub_arch_modules_addr): New function.
* grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
* grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
* grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
here.
* grub-core/kern/mips/startup.S (total_size): Rename to ...
(grub_total_modules_size): ... this. Make global.
[GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
* include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
New definition.
(GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
(GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
(GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
(GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
* util/grub-mkimage.c (image_target_desc): New flag
PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
(image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
(generate_image): Handle images with modules before kernel.
2011-05-17 21:15:54 +02:00
Vladimir 'phcoder' Serbinenko
566a191715
Prevent potential loss of memory map by overwrite on qemu-mips.
...
* grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
Save ram size in $s4.
* grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
All users changed to grub_arch_memsize.
* grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
Loongson.
[GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
* grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
* include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
external variable.
2011-05-17 19:32:51 +02:00
Colin Watson
5d420cd983
* .bzrignore: Remove grub-dumpbios.
2011-05-17 18:13:12 +01:00
Colin Watson
d064b83056
* util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
...
and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
existing options which append).
* docs/grub.texi (Simple configuration): Document new options.
Reported by: Ian Jackson. Fixes Debian bug #617538 .
2011-05-17 18:10:29 +01:00
Colin Watson
3ca2b46645
* util/grub-fstest.c (cmd_cat): New function.
...
(fstest): Handle CMD_CAT.
(options): Add cat.
(argp_parser): Handle cat.
2011-05-17 18:03:59 +01:00