Commit graph

4894 commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko
c7564b8e13 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open. 2012-06-22 22:02:47 +02:00
Vladimir 'phcoder' Serbinenko
a370616293 * tests/util/grub-shell.in: Fix a typo. 2012-06-22 21:59:10 +02:00
Vladimir 'phcoder' Serbinenko
b27069e06d Implement flow control for tftp.
* grub-core/net/net.c (receive_packets): Decrease the stop to 10
	packets but stop only if stop condition is satisfied.
	(grub_net_fs_read_real): Call packets_pulled after real read. Use
	`stall' instead of `eof' as stop condition.
	* grub-core/net/http.c (parse_line): Set `stall' on EOF.
	(http_err): Likewise.
	* grub-core/net/tftp.c (ack): Replace the first argument with data
	instead of socket.
	(tftp_receive): Stall if too many packets are in wait queue.
	(tftp_packets_pulled): New function.
	(grub_tftp_protocol): Set packets_pulled.
	* include/grub/net.h (grub_net_packets): New field count.
	(grub_net_put_packet): Increment count.
	(grub_net_remove_packet): Likewise.
	(grub_net_app_protocol): New field `packets_pulled'.
	(grub_net): New field `stall'.
2012-06-22 14:17:46 +02:00
Vladimir 'phcoder' Serbinenko
6b9cfac683 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
sync part to handle them.
2012-06-22 12:42:31 +02:00
Vladimir 'phcoder' Serbinenko
f35abd8190 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
* grub-core/net/drivers/ieee1275/ofnet.c
	(grub_ieee1275_net_config_real): Likewise.
2012-06-22 11:51:48 +02:00
Vladimir 'phcoder' Serbinenko
0e7ec82034 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
the direct route for server/gateway.
2012-06-21 22:20:57 +02:00
Vladimir 'phcoder' Serbinenko
9d611a318d * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
IP address to server name since we may not hame the DNS.
2012-06-21 22:15:10 +02:00
Vladimir 'phcoder' Serbinenko
418f45abd1 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
freeing random buffer on failure.
	* grub-core/net/net.c (grub_net_resolve_address): Likewise.
2012-06-21 22:11:47 +02:00
Vladimir 'phcoder' Serbinenko
44a0efc180 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size. 2012-06-21 22:08:33 +02:00
Vladimir 'phcoder' Serbinenko
531e2241a6 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
reserved bytes.
	* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
	* grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
	Handle malloc error correctly.
2012-06-21 22:05:41 +02:00
Vladimir 'phcoder' Serbinenko
cde393c9a3 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
blocks.
2012-06-21 22:02:09 +02:00
Vladimir 'phcoder' Serbinenko
538478d082 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
increment.
2012-06-21 21:59:52 +02:00
Vladimir 'phcoder' Serbinenko
9b55efe09a * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
none is explicitly specified.
2012-06-21 00:14:51 +02:00
Vladimir 'phcoder' Serbinenko
9eb832c365 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
while reallocating.
2012-06-20 23:51:56 +02:00
Vladimir 'phcoder' Serbinenko
d6b7c7c986 Respect netmask from bootp/dhcp.
* grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
	(grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
	* grub-core/net/net.c (grub_net_add_addr): Split creating local route
	into ...
	(grub_net_add_ipv4_local): ... this.
	(grub_cmd_addaddr): Use grub_net_add_ipv4_local.
	* include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
	(grub_net_add_ipv4_local): New proto.
2012-06-20 23:46:50 +02:00
Vladimir 'phcoder' Serbinenko
67caf9eb06 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
determining EFI memory map size.
2012-06-20 23:39:33 +02:00
Vladimir 'phcoder' Serbinenko
436575581e * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas. 2012-06-20 23:37:24 +02:00
Vladimir 'phcoder' Serbinenko
eb6d0dd3a1 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
when looking for partition separator.
2012-06-20 23:33:34 +02:00
Vladimir 'phcoder' Serbinenko
3123054474 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
Escape commas.
2012-06-20 23:31:59 +02:00
Vladimir 'phcoder' Serbinenko
918a25179c Restructure FAT driver to avoid hook in label reading as it hits a
GCC bug.

	* include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
	* grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
	(grub_fat_iterate_dir): Split into ...
	(grub_fat_iterate_init): ... this, ...
	(grub_fat_iterate_fini): ... this, ...
	(grub_fat_iterate_dir_next): ... and this. All users updated.
2012-06-20 23:29:28 +02:00
Vladimir 'phcoder' Serbinenko
9f1d654e67 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
	GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
	* include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
	New fields last_key and last_key_time.
	* grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
	extended key-esc into extended key-extended key.
2012-06-20 22:19:26 +02:00
Vladimir 'phcoder' Serbinenko
52f0f64384 Avoid unnecessary memcpy of whole video buffer.
* grub-core/video/fb/video_fb.c (dirty): New struct.
	(framebuffer): Add members current_dirty and previous_dirty.
	(dirty): New function.
	(grub_video_fb_fill_rect): Update dirty.
	(common_blitter): Likewise.
	(grub_video_fb_scroll): Likewise.
	(doublebuf_blit_update_screen): Copy only dirty part.
	(doublebuf_pageflipping_update_screen): Likewise.
	(grub_video_fb_doublebuf_blit_init): Init dirty.
	(doublebuf_pageflipping_init): Likewise.
	(grub_video_fb_setup): Likewise.
2012-06-19 19:34:51 +02:00
Vladimir 'phcoder' Serbinenko
e169a1805f * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
poll rate.
2012-06-19 15:44:51 +02:00
Vladimir 'phcoder' Serbinenko
485568790c Fix wildcard regexp dot and other special characters handling.
Reported by: Robert Mabee.

	* grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
	(make_regex): Escape "|+{}[]". Transform '?' to '.?'.
	(split_path): Trigger expansion on '?'.
	(unescape): New function.
	(wildcard_expand): Unescape parts copied without globbing.
	* grub-core/script/execute.c (wildcard_escape): Escape '?'.
	(grub_script_arglist_to_argv): Don't unescape expansions.
2012-06-19 14:13:19 +02:00
Vladimir 'phcoder' Serbinenko
0494408e7e * include/grub/net.h (grub_net_card): New member txbufsize.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
	GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
	GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
	* grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
	txbufsize.
	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
	compatible property to check for macs. Set
	GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
	GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
	* grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
	if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
	(send_card_buffer): Use txbuf.
	(grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
	nested function out of the parent while on it.
2012-06-19 11:34:52 +02:00
Vladimir 'phcoder' Serbinenko
cc35fe8f31 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
presence check.
	(grub_ieee1275_net_config_real): Fix config pointer.
2012-06-19 11:25:37 +02:00
Vladimir 'phcoder' Serbinenko
970a0a09dd * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
filename parsing to non-block devices.
2012-06-19 11:23:13 +02:00
Vladimir 'phcoder' Serbinenko
3e19bf879f * grub-core/kern/device.c (grub_device_open): Remove dead code. 2012-06-19 11:20:34 +02:00
Vladimir 'phcoder' Serbinenko
c62d1a0c64 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
All users updated.
2012-06-18 21:09:57 +02:00
Vladimir 'phcoder' Serbinenko
ef76bec332 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
UUID search command even if hints probing failed.
2012-06-18 21:07:26 +02:00
Vladimir 'phcoder' Serbinenko
555c786d62 * po/POTFILES.in: Regenerated. 2012-06-18 21:05:08 +02:00
Vladimir 'phcoder' Serbinenko
70aaf3053a Speed-up video on fuloong.
* grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
	New function.
	(grub_pci_device_unmap_range): Handle non-cached address.
	* grub-core/video/sis315pro.c (framebuffer): Remove render_target and
	add direct_ptr.
	(grub_video_sis315pro_video_fini): Unmap direct_ptr.
	(grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
	(grub_video_sis315pro_set_active_render_target): Removed.
	(grub_video_sis315pro_get_info_and_fini): Use uncached address.
	(grub_video_adapter): Use grub_video_fb_set_active_render_target.
	(grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
	sync caches.
	* include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
	New proto.
2012-06-17 01:09:32 +02:00
Vladimir 'phcoder' Serbinenko
10400f0b61 * docs/grub.texi (Multi-boot manual config): New section. 2012-06-16 00:32:59 +02:00
Vladimir 'phcoder' Serbinenko
ba67e2c635 Avoid slow read-back from VRAM.
* include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
	Move from here ...
	* grub-core/video/fb/video_fb.c
	(grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
	* grub-core/video/fb/video_fb.c (framebuf_t): New type.
	(front_target): Remove front_target. Add pages.
	(grub_video_fb_init): Skip setting front_pages.
	(grub_video_fb_fini): Likewise.
	(doublebuf_blit_update_screen): Use pages.
	(grub_video_fb_doublebuf_blit_init): Likewise.
	(doublebuf_pageflipping_init): Allocate offscreen buffer.
	(doublebuf_pageflipping_update_screen): Use offscreen buffer.
	(grub_video_fb_setup): Prefer doublebuffing.
2012-06-15 23:57:20 +02:00
Vladimir 'phcoder' Serbinenko
377c98cba2 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
gzio.
2012-06-15 23:42:34 +02:00
Vladimir 'phcoder' Serbinenko
eac49cffc8 Add loongson tests.
* tests/util/grub-shell.in: Handle loongson.
	* tests/partmap_test.in: Add loongson to the list of platform using ATA
	drivers.
	* grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
	Reboot instead of shutdown if REBOOT is defined.
2012-06-15 19:42:25 +02:00
Vladimir 'phcoder' Serbinenko
0321415e86 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
sized ports since unlike on real hardware qemu supports only 32-bit
	regs.
2012-06-15 19:36:10 +02:00
Vladimir 'phcoder' Serbinenko
3f2bdd8f55 * Makefile.util.def (grub-mkrescue): Enable on loongson.
* util/grub-mkrescue.in: Handle loongson.
2012-06-15 18:35:11 +02:00
Vladimir 'phcoder' Serbinenko
29a049c98a * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
Set is_part appropriately.
	(grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
	names. Canonicalize partition without full disk.
2012-06-14 19:16:30 +02:00
Vladimir 'phcoder' Serbinenko
4abde34671 Revert usb-quiesce since it's wrong.
* grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
	(grub_ofdisk_init): Don't do quiesce.
2012-06-13 22:44:45 +02:00
Vladimir 'phcoder' Serbinenko
61f1d93b09 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
PowerMac workaround to Xserves as well.
	Information supplied by: Benjamin Herrenschmidt.
2012-06-13 01:38:40 +02:00
Vladimir 'phcoder' Serbinenko
a09eb54103 Don't assume that beginning address is also the entry point on ppc.
* grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
	(grub_linux_boot): Use linux_entry.
	(grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
	(grub_linux_load64): Likewise.
2012-06-13 01:15:15 +02:00
Vladimir 'phcoder' Serbinenko
505b3c9b74 * util/grub-install.in: Fix cross-disk check on non-PreP machines. 2012-06-13 01:09:36 +02:00
Vladimir 'phcoder' Serbinenko
cbe0b4efdb * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
needlessly lose the console.
2012-06-13 01:06:35 +02:00
Vladimir 'phcoder' Serbinenko
3006e9810f * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
space.
2012-06-13 01:04:14 +02:00
Vladimir 'phcoder' Serbinenko
7da036bbcb Remove non-functional EFI grub_get_rtc. Put a better fatal message
than current grub_get_rtc() not implemented when booted with
	coreboot without TSC.

	* grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
	Add machine/time.h to kernel headers on loongson.
	* grub-core/Makefile.core.def (kernel): Remove
	kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
	* grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
	(grub_get_rtc): Likewise.
	* grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
	* grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
	* grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
	* grub-core/kern/i386/tsc.c (grub_tsc_init)
	[!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
	rather than installing known non-working time source.
	* grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
	* grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
	* include/grub/time.h: Don't include machine/time.h.
	* include/grub/efi/time.h: Removed.
	* include/grub/i386/efi/time.h: Likewise.
	* include/grub/i386/ieee1275/time.h: Likewise.
	* include/grub/powerpc/ieee1275/time.h: Likewise.
	* include/grub/sparc64/ieee1275/time.h: Likewise.
	* include/grub/x86_64/efi/time.h: Likewise.
2012-06-11 20:44:38 +02:00
Vladimir 'phcoder' Serbinenko
4e5a96b02e Remove dor on i and j when combining with above diacritics.
* include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
	value.
	(GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
	* grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
	with dotless variants when any combining above is present.
2012-06-11 00:20:55 +02:00
Vladimir 'phcoder' Serbinenko
5561c22d59 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
text and not binary.
2012-06-09 19:58:38 +02:00
Vladimir 'phcoder' Serbinenko
96f7e60eae Stop polling as soon as we have the packet we were waiting for.
* include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
	All users updated.
	* grub-core/net/arp.c (have_pending): New var.
	(pending_req): Likewise.
	(grub_net_arp_send_request): Fill pending_req and use have_pending as
	stop indicator.
	(grub_net_arp_receive): Set have_pending.
	* grub-core/net/dns.c (recv_data): New field stop.
	(recv_hook): Set stop.
	(grub_net_dns_lookup): Init stop and use as stop condition.
	* grub-core/net/http.c (http_establish): Use headers_recv as stop
	condition.
	* grub-core/net/net.c (grub_net_poll_cards): New argument
	stop_condition. Stop when it goes true.
	* grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
	indicator.
	* grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
2012-06-09 11:06:55 +02:00
Vladimir 'phcoder' Serbinenko
3e74723951 Keep TX and RX buffers on EFI rather than always allocate new ones.
* include/grub/net.h (grub_net_card_driver): Allow driver to modify
	card. All users updated.
	(grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
	* grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
	(get_card_packet): Likewise.
	(grub_efinet_findcards): Init new fields.
2012-06-09 11:00:18 +02:00
Vladimir 'phcoder' Serbinenko
f695e99a75 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
compilation error on sparc64.
2012-06-09 10:55:02 +02:00
Vladimir 'phcoder' Serbinenko
9e5e66d15e Use ITC on IA64 rather than broken routine based on daytime.
* grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
	ia64.
	(grub_get_rtc) [__ia64__]: Likewise.
	* grub-core/kern/ia64/efi/init.c (divisor): New variable.
	(get_itc): New function.
	(grub_rtc_get_time_ms): Likewise.
	(grub_machine_init): Calibrate ITC.
	* include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
	Keep only on non-ia64. Don't export since it's broken and used only
	if TSC is unavailable.
2012-06-09 10:52:39 +02:00
Vladimir 'phcoder' Serbinenko
a176740446 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
even if it's used.
	(name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
	Skip if parent is unused.
2012-06-09 10:43:24 +02:00
Vladimir 'phcoder' Serbinenko
34b2bced3f * tests/partmap_test.in: Skip on ppc due to serious firmware bug. 2012-06-08 23:02:37 +02:00
Vladimir 'phcoder' Serbinenko
5e619f408d Fix wildcard escaping.
* grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
	* grub-core/script/execute.c (wildcard_escape): .. to here.
	Don't escape dot.
	* grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
	* grub-core/script/execute.c (wildcard_unescape): .. to here.
	Don't escape dot.
	* grub-core/script/execute.c (gettext_append): Always escape.
	(grub_script_arglist_to_argv): Always handle escaping/unescaping.
	* grub-core/script/yylex.l: Don't cut away the escaping.
	* tests/grub_script_echo1.in: Add tests with wildcard.
2012-06-08 22:54:21 +02:00
Vladimir 'phcoder' Serbinenko
c8ca585593 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
(ftdi_hw_configure): Likewise.
	* grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
	define.
	(real_config): Handle 1.5 stop bits.
	(pl2303_hw_configure): Likewise.
2012-06-08 20:40:40 +02:00
Vladimir 'phcoder' Serbinenko
7183452c00 * Makefile.am: Add ppc linux bootcheck.
* grub-core/tests/boot/linux-ppc.cfg: New file.
	* grub-core/tests/boot/linux.init-ppc.S: Likewise.
2012-06-08 20:35:54 +02:00
Vladimir 'phcoder' Serbinenko
f57c84cd60 * tests/grub_script_expansion.in: Skip network protocols. 2012-06-08 20:31:05 +02:00
Vladimir 'phcoder' Serbinenko
ecfc6207d6 * tests/util/grub-shell.in: Use escc-ch-a port on ppc. 2012-06-08 20:29:15 +02:00
Vladimir 'phcoder' Serbinenko
8d03d28424 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
--rom-directory.
	Add -graft-points.
2012-06-08 20:23:39 +02:00
Vladimir 'phcoder' Serbinenko
61c42af084 ESCC serial driver for conducting sautomated tests in qemu.
Not tested on real hardware.

	* include/grub/serial.h (grub_serial_port): New field escc_desc.
	* grub-core/term/ieee1275/escc.c: New file.
	* grub-core/Makefile.core.def (escc): New module.
2012-06-08 19:42:59 +02:00
Vladimir 'phcoder' Serbinenko
08fd129137 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
invalid on error.
	(serial_hw_fetch): Don't read invalid handle.
	(serial_hw_put): Don't write into invalid handle.
2012-06-08 19:34:57 +02:00
Vladimir 'phcoder' Serbinenko
08dafeeaae Add a 1.5 stop bits value.
* grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
	* include/grub/serial.h (grub_serial_stop_bits_t): Add
	GRUB_SERIAL_STOP_BITS_1_5.
2012-06-08 19:32:57 +02:00
Vladimir 'phcoder' Serbinenko
9068fdcf0b * grub-core/commands/wildcard.c (wildcard_expand): Set default return
value rather than let it uninited.
2012-06-08 19:29:43 +02:00
Vladimir 'phcoder' Serbinenko
f4d5820f28 * grub-core/commands/wildcard.c (+check_file): New function.
(wildcard_expand): Don't expand to non-existing files, expand with
	suffix and not attempt to expand if not needed.
2012-06-07 23:18:04 +02:00
Vladimir 'phcoder' Serbinenko
3d2de9a7ba * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
out of partitions containing other partitions.
2012-06-07 21:55:55 +02:00
Vladimir 'phcoder' Serbinenko
c5c81ff978 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
on some qemu versions with GRUB.

	* include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
	define.
	(grub_openbsd_bootarg_pcibios): New struct.
	* grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
	Add PCIINFO.
2012-06-07 16:41:52 +02:00
Vladimir 'phcoder' Serbinenko
08a14e0b71 * tests/util/grub-shell.in: Trim firmware output on EFI. 2012-06-07 16:33:17 +02:00
Vladimir 'phcoder' Serbinenko
cede3ca325 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
and coreboot since it's already in kernel.
2012-06-07 15:18:21 +02:00
Vladimir 'phcoder' Serbinenko
558d3a6023 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
* grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
	to here. New return value start. All users updated.
	Recursively scan linear mappings.
	* include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
	proto.
	* grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
	Use grub_util_get_dm_node_linear_info.
	* util/getroot.c (convert_system_partition_to_system_disk): Use
	grub_util_info rather than grub_dprintf.
	(grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
2012-06-07 14:24:48 +02:00
Vladimir 'phcoder' Serbinenko
60fde14d3e Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
* Makefile.am: Remove GRUB_QEMU_OPTS handling.
	* tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
2012-06-07 14:14:02 +02:00
Vladimir 'phcoder' Serbinenko
24bd8838f1 * include/grub/types.h (grub_set_unaligned64): New function.
* util/grub-setup.c (write_rootdev): Use unaligned access functions.
	(setup): Likewise.
2012-06-07 14:07:02 +02:00
Vladimir 'phcoder' Serbinenko
7bc06a4995 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
(grub_ofdisk_fini): Quiesce USB devices.
2012-06-06 19:00:04 +02:00
Vladimir 'phcoder' Serbinenko
49cea015c0 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
caches.
2012-06-06 18:58:19 +02:00
Vladimir 'phcoder' Serbinenko
8dcbe03b82 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety. 2012-06-06 12:42:11 +02:00
Vladimir 'phcoder' Serbinenko
5b25873518 * grub-core/disk/pata.c (grub_pata_pio_read)
[GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
	(grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2012-06-06 12:38:49 +02:00
Vladimir 'phcoder' Serbinenko
37ba07ebaf Extend automated tests to qemu-mips.
* Makefile.am: reorganise tests and enable qemu-mips.
	* configure.ac (COND_mipseb), (COND_mipsel): New conditions.
	* grub-core/tests/boot/linux.init-mips.S: New file.
	* tests/partmap_test.in: Handle ata0 disks.
	* tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
	non-pc i386.
2012-06-06 12:36:33 +02:00
Vladimir 'phcoder' Serbinenko
070038f843 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
ia64.
	* util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
	quotes while on it.
2012-06-06 12:31:24 +02:00
Vladimir 'phcoder' Serbinenko
004be2cd95 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
(grub_halt): Likewise.
	* grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
2012-06-06 12:28:25 +02:00
Vladimir 'phcoder' Serbinenko
b1622487a8 * grub-core/term/serial.c (grub_serial_register)
[GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
	the behaviour in line with x86 platforms.
2012-06-06 12:25:13 +02:00
Vladimir 'phcoder' Serbinenko
b7b4ab33ae * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
(grub_ata_strncpy): Likewise.
	(grub_ata_identify): Add missing byteswaps.
2012-06-06 12:22:32 +02:00
Vladimir 'phcoder' Serbinenko
5e3535aee7 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
byte-swap.
	(screen_read_char): Likewise.
	(grub_vga_text_cls): Likewise.
2012-06-06 12:20:08 +02:00
Vladimir 'phcoder' Serbinenko
c21b17e6e0 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
filenames.
	(make_file_path): Likewise.
2012-06-06 02:34:32 +02:00
Vladimir 'phcoder' Serbinenko
bf293dece0 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
machines.
	Tested by: Paulo Flabiano Smorigo.
	Crucial information about API supplied by: Coleen <Last name unknown>.
	Reviewed by: Coleen <Last name unknown>.
2012-06-06 02:31:27 +02:00
Vladimir 'phcoder' Serbinenko
81f6ef0e2d * util/grub-mkimage.c: Disable -Wcast-align. 2012-06-05 17:22:29 +02:00
Vladimir 'phcoder' Serbinenko
7284143a54 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
as they are fatal.
2012-06-05 17:20:39 +02:00
Vladimir 'phcoder' Serbinenko
b99f3e00a1 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding. 2012-06-05 17:18:04 +02:00
Vladimir 'phcoder' Serbinenko
944f752dbb * util/grub-probe.c (escape_of_path): Fix double free. 2012-06-05 17:16:14 +02:00
Vladimir 'phcoder' Serbinenko
6cce6f3864 * grub-core/commands/videoinfo.c (hook): Show pitch. 2012-06-05 12:03:36 +02:00
Vladimir 'phcoder' Serbinenko
1e1eb50e5e * util/grub.d/20_linux_xen.in: Skip xen-syms. 2012-06-05 11:55:48 +02:00
Vladimir 'phcoder' Serbinenko
1c715b5afd * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
(probe): Add ieee1275 to OFW devices.
2012-06-05 11:31:10 +02:00
Vladimir 'phcoder' Serbinenko
007ae52dac * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier. 2012-06-04 23:15:54 +02:00
Vladimir 'phcoder' Serbinenko
4557a36d2c Handle IBM OFW path.
* util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
	available.
	(of_path_of_scsi): Handle vdevice.
2012-06-04 22:37:39 +02:00
Vladimir 'phcoder' Serbinenko
efbeefe90f * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
Allocate in multiples of 16 to avoid adding a few bytes free region the
	windows bugs upon.
2012-06-03 18:00:37 +02:00
Vladimir 'phcoder' Serbinenko
15a940bbd8 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
Allocate in multiples of 16 to avoid adding a few bytes free region the
	windows bugs upon.
	* grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
2012-06-03 17:47:20 +02:00
Vladimir 'phcoder' Serbinenko
6e5efd60a1 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
resolutions.
	* grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
	* grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
2012-06-02 20:15:11 +02:00
Isao Shimizu
0d3d137e79 * util/ieee1275/ofpath.c (check_sas): Fix sas path. 2012-06-02 14:53:23 +02:00
Vladimir 'phcoder' Serbinenko
45dbe3000b * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
resulted in \\ at the end of the line.
2012-06-02 14:46:22 +02:00
Vladimir 'phcoder' Serbinenko
6d8db94786 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
(grub_parser_cmdline_state): Likewise.
	(grub_parser_split_cmdline): Likewise.
2012-06-02 14:39:35 +02:00
Vladimir 'phcoder' Serbinenko
de89d33847 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
/dev/root and /dev/dm-*.
2012-06-02 14:36:27 +02:00
Vladimir 'phcoder' Serbinenko
00d41dee71 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
fix partially stale display.
2012-06-02 14:30:52 +02:00
Vladimir 'phcoder' Serbinenko
f95d1f117a * grub-core/normal/menu_entry.c (backward_char): Use right line for
substraction.
2012-06-02 14:28:12 +02:00
Vladimir 'phcoder' Serbinenko
6297e19736 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
Fix MBR remapping workaround.
	(grub_util_biosdisk_read) [__linux__]: Likewise.
2012-06-02 13:48:44 +02:00
Vladimir 'phcoder' Serbinenko
8a7ecad3ab * util/grub-install.in: Check for ieee1275 and not ieee1276. 2012-06-01 22:43:10 +02:00
Vladimir 'phcoder' Serbinenko
2b34f94455 * configure.ac: Bump to beta6. 2012-05-31 15:44:37 +02:00
Christer Weinigel
684aef11c5 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error. 2012-05-31 14:34:12 +02:00
Vladimir 'phcoder' Serbinenko
05b0bb9100 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
(grub_cmd_linux): Likewise.
2012-05-31 14:06:11 +02:00
Christer Weinigel
bda36bfa77 Fix EHCI low-speed.
* grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
	(GRUB_EHCI_MULT_TWO): Likewise.
	(GRUB_EHCI_MULT_THREE): Likewise.
	(GRUB_EHCI_CMASK_MASK): New enum value.
	(GRUB_EHCI_SMASK_MASK): Likewise.
	(GRUB_EHCI_CMASK_OFF): Likewise.
	(GRUB_EHCI_SMASK_OFF): Likewise.
	(grub_ehci_pci_iter): Enable periodic schedule.
	(grub_ehci_parse_notrun): Likewise.
	(grub_ehci_restore_hw): Likewise.
	(grub_ehci_setup_qh): Set flags for low speed transfers.
	(grub_ehci_find_qh): Use periodic list for low speed.
	(grub_ehci_setup_transfer): Check periodic queue as well.
	(grub_ehci_check_transfer): Likewise.
	(grub_ehci_cancel_transfer): Cancel periodic transfer.
2012-05-31 14:02:46 +02:00
Paulo Flabiano Smorigo
e12bcb1c61 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
parameter is used.
2012-05-31 13:38:21 +02:00
Peter Jones
bcc75fb3f7 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
* grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
	(grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
2012-05-31 13:23:30 +02:00
Vladimir 'phcoder' Serbinenko
f19cb95e1d * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
uninited variable. Allocate at least setup_sects.
2012-05-31 12:04:55 +02:00
Vladimir 'phcoder' Serbinenko
a4e5ca80d9 Fix handling of EFI with big memory maps.
* grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
	(real_mode_mem): Likewise.
	(real_mode_target): Likewise.
	(real_mode_pages): Likewise.
	(prot_mode_pages): Likewise.
	(linux_params): New var.
	(linux_cmdline): Likewise.
	(free_pages): Don't set real mode variables.
	(allocate_pages): Don't allocate real mode memory.
	(grub_e820_add_region): Remove the limit.
	(grub_linux_boot): Allocate and copy real mode memory.
	(grub_linux_unload): Free linux_cmdline.
	(grub_cmd_linux): Use temporary storage for parameters.
	(grub_cmd_initrd): Likewise.
	* include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
	(linux_kernel_params): Make it 1K big.
2012-05-30 14:56:53 +02:00
Vladimir 'phcoder' Serbinenko
ddb7355862 * Makefile.util.def: Remove -Wno-format.
* grub-core/Makefile.core.def: Likewise.
2012-05-30 13:56:50 +02:00
Vladimir 'phcoder' Serbinenko
1c4afb6095 * tests/cmp_unit_test.c: Add missing failure message.
* tests/example_unit_test.c: Likewise.
	* tests/printf_unit_test.c: Likewise.
2012-05-30 13:54:30 +02:00
Vladimir 'phcoder' Serbinenko
941e3a6d96 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
relaxation of protective MBR requirements.
2012-05-30 13:51:50 +02:00
Vladimir 'phcoder' Serbinenko
b105df76f4 * configure.ac: Add condition for COND_HOST_XNU.
* Makefile.util.def (10_xnu): New script.
	* util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
2012-05-29 13:56:21 +02:00
Vladimir 'phcoder' Serbinenko
84e1569ee4 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
objconv bug.
2012-05-29 13:54:33 +02:00
Vladimir 'phcoder' Serbinenko
130c0f77d4 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
Binary on other platforms stays identical.
2012-05-29 13:52:26 +02:00
Vladimir 'phcoder' Serbinenko
6fd0b14394 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
Apple.
2012-05-28 17:58:33 +02:00
Vladimir 'phcoder' Serbinenko
0af1751d77 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us. 2012-05-28 17:57:18 +02:00
Vladimir 'phcoder' Serbinenko
176d5f7d82 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
rather than defining size_t ourselves to avoid conflict.
2012-05-28 17:55:46 +02:00
Vladimir 'phcoder' Serbinenko
7de5e20af4 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
initialisation to avoid __bzero reference.
2012-05-28 17:54:18 +02:00
Vladimir 'phcoder' Serbinenko
f7143efe1b * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
version.
	* grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
	* grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
	* grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
	* grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
	* grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
2012-05-28 17:51:57 +02:00
Vladimir 'phcoder' Serbinenko
e6ad0555e4 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
* grub-core/kern/misc.c: Likewise.
	* grub-core/loader/i386/xnu.c: Likewise.
	* include/grub/i386/tsc.h: Likewise.
	* include/grub/symbol.h: Likewise.
2012-05-28 17:49:18 +02:00
Vladimir 'phcoder' Serbinenko
4a5a3c4abc * include/grub/list.h (grub_bad_type_cast_real): Remove return.
* include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
	on older compiler.
2012-05-28 17:45:53 +02:00
Vladimir 'phcoder' Serbinenko
037f6d9060 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
Implement Apple flavour.
	(convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
2012-05-28 17:43:12 +02:00
Vladimir 'phcoder' Serbinenko
f7194551c4 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
(memmove) [__APPLE__]: Likewise.
	(memcpy) [__APPLE__]: Likewise.
	(memset) [__APPLE__]: Likewise.
	* grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
	(memmove) [__APPLE__]: Likewise.
	(memcpy) [__APPLE__]: Likewise.
	(memset) [__APPLE__]: Likewise.
2012-05-28 17:37:18 +02:00
Vladimir 'phcoder' Serbinenko
85a730ca9f * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
dependency discard.
2012-05-28 17:32:24 +02:00
Vladimir 'phcoder' Serbinenko
40e80b9403 * grub-core/normal/main.c (read_config_file): Provide config_file and
config_directory.
	* util/grub.d/41_custom.in: Use config_directoy when available.
2012-05-27 15:34:41 +02:00
Vladimir 'phcoder' Serbinenko
9da59c3275 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
(grub_bfs_dir): Likewise.
2012-05-27 15:31:54 +02:00
Peter Jones
2787ae53d6 The old code gives arguments to a printf function which can't work
correctly, and the compiler complains.

	* grub-core/tests/example_functional_test.c (example_test): Add
	missing text.
	* grub-core/tests/lib/test.c (add_failure): Rewrite.
	* include/grub/test.h (grub_test_assert_helper): New declaration.
	(grub_test_assert): Use grub_test_assert_helper.
2012-05-27 14:26:18 +02:00
Vladimir 'phcoder' Serbinenko
526ef13d34 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
(exfctest): ... this to avoid overlong filenames.
	All users updated.
2012-05-27 14:12:48 +02:00
Vladimir 'phcoder' Serbinenko
20dd511c8c Handle "." and ".." on squashfs.
* grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
	Make inode numbers into stack.
	(grub_squash_read_symlink): Use stack.
	(grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
	(make_root_node): Fill stack.
	(grub_squash_open): Use stack.
2012-05-27 13:44:48 +02:00
Vladimir 'phcoder' Serbinenko
1d80c62a8f * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
freeing.
2012-05-27 13:19:09 +02:00
Vladimir 'phcoder' Serbinenko
d336f65225 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
stderr on test calls.
2012-05-27 13:14:42 +02:00
Vladimir 'phcoder' Serbinenko
8b43f587ae * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..". 2012-05-27 01:03:26 +02:00
Vladimir 'phcoder' Serbinenko
80a3dc3fb4 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value. 2012-05-27 01:00:46 +02:00
Vladimir 'phcoder' Serbinenko
47e297d4a4 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
"..".
2012-05-27 00:58:48 +02:00
Vladimir 'phcoder' Serbinenko
df042ccb21 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
(grub_hfsplus_iterate_dir): Add "." and "..".
2012-05-27 00:56:55 +02:00
Vladimir 'phcoder' Serbinenko
fc977f485f * grub-core/fs/cpio.c (canonicalize): Handle "..".
(grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
2012-05-27 00:54:41 +02:00
Vladimir 'phcoder' Serbinenko
f3250e5f1f * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
(find_path): Handle "." and "..".
2012-05-27 00:47:37 +02:00
Vladimir 'phcoder' Serbinenko
fd8ed4c5c5 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
(GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
	(grub_affs_iterate_dir): Handle hardlinks.
2012-05-27 00:45:41 +02:00
Matthew Garrett
4ce776d23e * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
(grub_efi_console_fini): Likewise.
	* grub-core/video/efi_gop.c (framebuffer): New field offscreen.
	(grub_video_gop_fill_mode_info): Rename to ...
	(grub_video_gop_fill_real_mode_info): ... this.
	(grub_video_gop_fill_mode_info): New function.
	(grub_video_gop_setup): Setup double framebuffer.
	(grub_video_gop_get_info_and_fini): Use original framebuffer.
	Free offscreen.
	(grub_video_gop_swap_buffers): Copy framebuffer.
	(grub_video_gop_fini): Free offscreen buffer.
	* include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
	New enum.
	(grub_efi_gop_blt_pixel): New struct.
2012-05-26 13:33:34 +02:00
Vladimir 'phcoder' Serbinenko
683031bac4 * gentpl.py: Remove error disabling for objconv. 2012-05-26 12:06:17 +02:00
Vladimir 'phcoder' Serbinenko
c2deb798a2 * configure.ac: Remove -Wunitialized as it's not available on older
compilers.
2012-05-26 12:03:47 +02:00
Vladimir 'phcoder' Serbinenko
77ceedb634 Fix extent overflow comparator.
* grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
	(grub_hfsplus_read_block): Set type.
	(grub_hfsplus_cmp_extkey): Compare type.
2012-05-26 11:54:20 +02:00
Vladimir 'phcoder' Serbinenko
d6b1fd3654 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file. 2012-05-25 17:57:25 +02:00
Vladimir 'phcoder' Serbinenko
0a9aa0f6e1 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
than 0.
2012-05-25 00:47:49 +02:00
Vladimir 'phcoder' Serbinenko
8360e15969 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
(dejavu_bold_14.pf2): New target.
2012-05-25 00:36:14 +02:00
Vladimir 'phcoder' Serbinenko
501b9e4bf4 * configure.ac: Fix djvu font detection. 2012-05-25 00:28:43 +02:00
Vladimir 'phcoder' Serbinenko
7026b0e278 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
ext* instead of ext2.
2012-05-23 09:10:56 +02:00
Vladimir 'phcoder' Serbinenko
c2a51adee8 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
name with \0.
2012-05-23 09:09:36 +02:00
Jordan Uggla
8f803a5d1f * docs/grub-dev.texi: Remove dot from .png. 2012-05-22 09:15:28 +02:00
Vladimir 'phcoder' Serbinenko
13c6353fc7 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
protective entry in any slot.
	* grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
	if protective entry is found in any slot.

	Protective entry in non-first slot make no sense but is a widespread
	brain damage.
2012-05-22 09:09:00 +02:00
Vladimir 'phcoder' Serbinenko
4cf6be1bd9 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap. 2012-05-22 08:38:17 +02:00
Vladimir 'phcoder' Serbinenko
937d1c44b1 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
with old reiserfs.
	(grub_reiserfs_open): Don't free root.
2012-05-22 08:30:57 +02:00
Vladimir 'phcoder' Serbinenko
021d90ecac * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
after freeing for safety.
2012-05-22 08:24:27 +02:00
Vladimir 'phcoder' Serbinenko
967b2b649a * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
Reported by: Jordan Uggla.
2012-05-22 00:02:21 +02:00
Jordan Uggla
34274d0257 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
actual implementation. Specifically, clarify that the grub menu will
       be displayed for GRUB_TIMOUT seconds after the hidden timeout has
       passed.
2012-05-21 23:04:11 +02:00
Benjamin Herrenschmidt
dcaaae9dbe * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
of r0.
2012-05-21 22:40:34 +02:00
Vladimir 'phcoder' Serbinenko
7086ad524f Remove unjustified hard dependency of normal.mod on gfxterm.
* include/grub/term.h (grub_term_output): New member fullscreen.
	* include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
	* grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
	(grub_gfxterm): Set .fullscreen.
	* grub-core/normal/menu.c (menu_init): Use fullscreen.
	* grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2012-05-21 22:17:11 +02:00
Vladimir 'phcoder' Serbinenko
37ed2c9b7e * docs/grub.texi (Internationalisation/Filesystems): Add precisions
mentioning possible problems with non-ASCII (non-compliant) ISOs.
	Mention case-insensitive AFFS, SFS and JFS.
2012-05-21 22:12:45 +02:00
Vladimir 'phcoder' Serbinenko
a4469c8806 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref. 2012-05-21 22:07:28 +02:00
Vladimir 'phcoder' Serbinenko
4e46148696 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
a bad FS.
2012-05-21 22:02:56 +02:00
Vladimir 'phcoder' Serbinenko
aa78f5c4e6 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
2012-05-18 12:51:02 +02:00
Vladimir 'phcoder' Serbinenko
197626b569 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
(grub_jfs_mount): Fill caseins.
	(grub_jfs_find_file): Respect caseins.
2012-05-17 13:50:33 +02:00
Vladimir 'phcoder' Serbinenko
8ad3f28cec * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
through UTF-16.
2012-05-17 13:47:23 +02:00
Vladimir 'phcoder' Serbinenko
0c6c324e90 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
New argument origpath. All users updated.
2012-05-17 13:45:00 +02:00
Vladimir 'phcoder' Serbinenko
c6666ba687 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
(read_attr): Ensure that we read start of possibly compressed block.
2012-05-15 17:17:06 +02:00
Vladimir 'phcoder' Serbinenko
e28e5fe519 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
(grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
	All users updated.
2012-05-15 17:09:14 +02:00
Vladimir 'phcoder' Serbinenko
5fc23ab2d8 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
	(dejavu.pf2): Replace with ...
	(dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
	this.
2012-05-15 16:32:43 +02:00
Vladimir 'phcoder' Serbinenko
79dbc21c54 * util/grub.d/20_linux_xen.in: Add missing line. 2012-05-14 11:47:22 +02:00
Vladimir 'phcoder' Serbinenko
d2fcfb0cef * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
(GRUB_UTF16_LOWER_SURROGATE): Likewise.
	(grub_utf16_to_utf8): Likewise.
2012-05-14 10:18:42 +02:00
Vladimir 'phcoder' Serbinenko
5560e9d6e1 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
	GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
	GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2012-05-13 20:29:23 +02:00
Vladimir 'phcoder' Serbinenko
bfb320c644 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
a bad FS.
2012-05-13 20:23:02 +02:00
Vladimir 'phcoder' Serbinenko
def3df7520 * grub-core/fs/udf.c (read_string): Bail out on size=0.
(grub_udf_read_symlink): Handle read_string failure.
2012-05-13 20:18:33 +02:00
Vladimir 'phcoder' Serbinenko
5eae317511 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
comment.
2012-05-12 14:15:45 +02:00
Vladimir 'phcoder' Serbinenko
c1ad82db74 Fix handling of UDF symlinks.
* grub-core/fs/udf.c (read_string): New argument outbuf.
	All users updated.
	(grub_ufs_read_symlink): Rename to ...
	(grub_udf_read_symlink): ... this. All users updated.
	Handle symlinks with more than one component.
2012-05-12 13:54:26 +02:00
Vladimir 'phcoder' Serbinenko
33eca6e005 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
symlinks. Replace leading colon with a slash.
2012-05-12 13:44:48 +02:00
Vladimir 'phcoder' Serbinenko
57f4a70b0d * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
filename.
2012-05-12 13:41:02 +02:00
Vladimir 'phcoder' Serbinenko
38c8ee20ca * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
match in inner node.
2012-05-12 13:35:58 +02:00
Vladimir 'phcoder' Serbinenko
2e57f28fc7 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
* grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
	* grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
	* grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
	* grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
	* grub-core/fs/minix.c (grub_minix_mount): Likewise.
	* grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
	* grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
	* grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2012-05-12 13:31:05 +02:00
Vladimir 'phcoder' Serbinenko
fe8c2f1117 Use grub-probe and not cmp to check that disk is empty.
* util/grub-install.in: Use grub-probe for zero-check.
	* util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
	(probe): Handle PRINT_ZERO_CHECK.
	(argp_parser): Handle -t zero_check.
2012-05-11 21:07:39 +02:00
Vladimir 'phcoder' Serbinenko
f1a6254cf1 Flush block cache on adding disk to device map.
* grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
	(grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
	adding.
	(read_device_map): Likewise.
	(open_device): Flush on opening.
2012-05-11 21:03:47 +02:00
Vladimir 'phcoder' Serbinenko
690434e81d * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
(handle_symlink): Fix off-by-one error.
	Canonicalize the target.
	(grub_cpio_dir): Canonicalize the name.
	Fix memory leak.
	Set directory.
	(grub_cpio_open): Canonicalize the name.
2012-05-10 23:38:01 +02:00
Vladimir 'phcoder' Serbinenko
742d2be63a * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
handling.
2012-05-10 23:35:03 +02:00
Vladimir 'phcoder' Serbinenko
3244fe96e7 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
* grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2012-05-10 23:33:44 +02:00
Vladimir 'phcoder' Serbinenko
8aeb18379b * util/grub-menulst2cfg.c (main): Check return value of fwrite.
* util/grub-mklayout.c (write_file): Likewise. New argument fname.
	All users updated.
2012-05-10 09:39:11 +02:00
Vladimir 'phcoder' Serbinenko
9133fd053f * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
counterpart.
2012-05-10 02:36:23 +02:00
Vladimir 'phcoder' Serbinenko
6d521c5b41 Fix UFS1 big file support.
* grub-core/fs/ufs.c (INODE): Removed.
	(INODE_SIZE): Always use 64-bit byte-swap since size field is always
	64-bit.
	(INODE_MODE): Simplify.
	(grub_ufs_inode): Use uint64_t for size and not int64_t.
	(grub_ufs_lookup_symlink): Don't use INODE.
2012-05-10 00:25:36 +02:00
Vladimir 'phcoder' Serbinenko
21b82e176e Fix minixfs with non-power-of-two blocks since it's supported by minix.
* grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
	(grub_minix_data): Replace log_block_size with block_size.
	(grub_minix_read_file): Use block_size but avoid 64-bit division.
	(grub_minix_mount): Fill block_size.
2012-05-10 00:12:02 +02:00
Vladimir 'phcoder' Serbinenko
319621d0a5 * configure.ac: Bump to beta5. 2012-05-09 14:36:17 +02:00
Vladimir 'phcoder' Serbinenko
f417ed0432 Fix wrapped HFS+ handling.
* grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
	blocks_start. All users updated.
	* grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
	wrapping offset.
	(grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2012-05-09 13:02:59 +02:00
Vladimir 'phcoder' Serbinenko
607d282b29 Fix long symlinks on reiserfs.
* grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
	(grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
	(grub_reiserfs_iterate_dir): Save size for non-directories.
	(grub_reiserfs_open): Don't reread stat block as we already know the
	size.
	(grub_reiserfs_read): Split into...
	(grub_reiserfs_read_real): ... and ...
	(grub_reiserfs_read): ...this.
2012-05-09 12:55:43 +02:00
Vladimir 'phcoder' Serbinenko
ae16024d92 Fix non-indexed JFS.
* grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
	(grub_jfs_data): New field namecomponentlen.
	(grub_jfs_mount): Fill namecomponentlen.
	(grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2012-05-09 02:12:16 +02:00
Vladimir 'phcoder' Serbinenko
eea1e26e52 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
* tests/grub_script_echo1.in: Add tests.
2012-05-08 23:20:02 +02:00
Vladimir 'phcoder' Serbinenko
df760f778a * util/grub-install.in: Ignore empty devicetree directory. 2012-05-08 23:11:47 +02:00
Bean
5efb817d64 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
All users updated.
	(free_rsm): Free header as well.
	(free_old_fragments): Fix memory leak.
	* grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
	* grub-core/net/tftp.c (tftp_receive): Fix memory leak.
	(destroy_pq): Likewise.
	* include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2012-05-08 16:03:02 +02:00
Vladimir 'phcoder' Serbinenko
668ea6d26d * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
resulting hash as a precaution.
2012-05-08 14:22:38 +02:00
Vladimir 'phcoder' Serbinenko
1739b1fef8 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
'_' in variable names.
	* grub-core/net/net.c (grub_net_network_level_interface_register):
	Likewise.
2012-05-08 14:07:49 +02:00
Vladimir 'phcoder' Serbinenko
6ae485aaef Fix AFFS with non-512B blocks.
* grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
	(AFFS_MAX_LOG_BLOCK_SIZE): New definition.
	(grub_affs_data): Replace blocksize with log_blocksize.
	(grub_affs_read_block): Fix non-512B blocks.
	(grub_affs_read_symlink): Likewise.
	(grub_affs_iterate_dir): Likewise. Fix freeing corruption.
	(grub_affs_read): Fix non-512B blocks.
	(grub_affs_label): Likewise.
	(grub_affs_mtime): Likewise.
	(grub_affs_mount): Fix block detection routine.
2012-05-08 04:38:19 +02:00
Vladimir 'phcoder' Serbinenko
d20fab8471 Add filesystem mtime to AFFS.
* grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
	(aftime2ctime): New function.
	(grub_affs_dir): Use aftime2ctime.
	(grub_affs_label): Fix return value.
	(grub_affs_mtime): New function.
	(grub_affs_fs): Add mtime.
2012-05-08 01:51:34 +02:00
Vladimir 'phcoder' Serbinenko
e87b10f5d6 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
UTF-8.
2012-05-07 22:00:19 +02:00
Vladimir 'phcoder' Serbinenko
7dceec9b69 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
UTF-8.
2012-05-07 21:57:51 +02:00
Vladimir 'phcoder' Serbinenko
2f48221f5c * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive. 2012-05-07 19:09:02 +02:00
Vladimir 'phcoder' Serbinenko
dacd85cfb0 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
flags.
	(FLAGS_CASE_SENSITIVE): New enum value.
	(cache_entry): New struct.
	(grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
	cache_size and cache.
	(grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
	Add log_blocksize and fshelp_flags.
	(grub_sfs_read_extent): Handle non-512 blocks.
	(grub_sfs_read_block): Add cаche and handle non-512 blocks.
	(grub_sfs_read_file): Handle non-512 blocks.
	(grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
	fshelp_flags.
	(grub_sfs_read_symlink): Handle non-512 blocks.
	(grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
	(grub_sfs_dir): Free cache.
	(grub_sfs_close): Likewise.
2012-05-07 19:07:16 +02:00
Vladimir 'phcoder' Serbinenko
24e9a854b8 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
filesystems.
2012-05-06 16:20:55 +02:00
Vladimir 'phcoder' Serbinenko
62ace64dd9 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow. 2012-05-06 16:18:00 +02:00
Vladimir 'phcoder' Serbinenko
83b2e89cf7 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow. 2012-05-06 16:10:29 +02:00
Vladimir 'phcoder' Serbinenko
75ccaea346 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
(grub_sfs_read_extent): Likewise.
	(grub_sfs_read_block): Likewise.
	(grub_sfs_mount): Likewise.
	(grub_sfs_iterate_dir): Likewise.
	(grub_sfs_read_symlink): Use strncpy instead of strcpy.
	(grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2012-05-06 04:42:28 +02:00
Vladimir 'phcoder' Serbinenko
1b8463f2c4 Fix errors on compressed NTFS with 512B clusters.
* include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
	types.
	* grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
	not 0.
	* grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
	Relax check for inline extents.
	(ntfscomp): Return correct -1 on error and not 0.
2012-05-04 17:37:17 +02:00
Vladimir 'phcoder' Serbinenko
4f8e368fc0 * util/grub-install.in: Fix handling of prefix containing spaces. 2012-05-04 17:18:35 +02:00
Vladimir 'phcoder' Serbinenko
6f5d5ee865 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
(grub_squash_read_data): Fix offset byte-swapping.
2012-05-04 17:13:24 +02:00
Vladimir 'phcoder' Serbinenko
ce41ab7aab * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
per common usage and preffered in several parts of code.
	(grub_memcmp): Likewise.
	(grub_strncmp): Likewise.
	* include/grub/misc.h (grub_strcasecmp): Likewise.
	(grub_strncasecmp): Likewise.
	* Makefile.util.def (cmp_test): New test.
	(grub_script_strcmp): Likewise.
	* tests/cmp_unit_test.c: New file.
	* tests/grub_script_strcmp.in: Likewise.
	* grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2012-05-04 12:08:22 +02:00
Vladimir 'phcoder' Serbinenko
49717bf429 * include/grub/pci.h: Move enums into no-asm part. 2012-05-04 10:54:38 +02:00
Vladimir 'phcoder' Serbinenko
0a308f64e9 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison. 2012-05-04 10:52:26 +02:00
Samuel Thibault
1796965f6c * util/getroot.c (find_hurd_root_device): Try to make error message
and comments to translators clearer.
2012-05-04 02:26:39 +02:00
Vladimir 'phcoder' Serbinenko
4e9b28192a * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments 2012-05-04 01:20:38 +02:00
Vladimir 'phcoder' Serbinenko
48d57ed779 Revert last commit based on lack of consensus and possible unsmooth migration path 2012-05-04 01:06:21 +02:00
Vladimir 'phcoder' Serbinenko
e0ca063a66 * util/grub.d/00_header.in: Make timeout apply to else
clause of hidden timout.
	Reported by: Mads Kiilerich.
2012-05-04 00:41:57 +02:00
Vladimir 'phcoder' Serbinenko
076aeb5022 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
btrfs.
2012-05-04 00:36:23 +02:00
Vladimir 'phcoder' Serbinenko
19424d942b * docs/grub.cfg: Update. 2012-05-04 00:30:15 +02:00
Vladimir 'phcoder' Serbinenko
ebb7307695 * docs/grub.texi (PXE): Remove not present variables. 2012-05-04 00:28:53 +02:00
Vladimir 'phcoder' Serbinenko
9a1b669c37 * grub-core/net/net.c (defserver_set_env): New function.
(defserver_get_env): Likewise.
	(GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2012-05-04 00:26:53 +02:00
Vladimir 'phcoder' Serbinenko
d38bf7d3dc Correct author of last commit 2012-05-04 00:03:40 +02:00
Vladimir 'phcoder' Serbinenko
11858300e9 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
* grub-core/kern/emu/hostdisk.c: Likewise.
2012-05-03 23:43:59 +02:00
Samuel Thibault
e5e4ca486c Handle hurd userspace partitions.
* util/getroot.c (find_hurd_root_device): New function.
	(grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2012-05-03 23:41:46 +02:00
Vladimir 'phcoder' Serbinenko
56bb5dd518 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
names.
	Reported by: Bastian Blank.
2012-05-03 22:59:16 +02:00
Vladimir 'phcoder' Serbinenko
9e8bc27a40 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
crossing page boundary.
2012-05-03 22:16:45 +02:00
Vladimir 'phcoder' Serbinenko
aa01499d05 Fix B-tree search in BFS, especially in presence of non-ASCII
characters.

	* grub-core/fs/bfs.c (bfs_strcmp): New function.
	(find_in_b_tree): Use standard bsearch + btree algorithm.
2012-05-03 20:29:10 +02:00
Vladimir 'phcoder' Serbinenko
5700603549 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
and so on.
2012-05-03 20:20:28 +02:00
Matthew Garrett
9d34bb85da Suspend broadcom cards in order to stop their DMA.
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
	* grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
	(pci): Don't build on x86 EFI.
	* grub-core/bus/pci.c (grub_pci_find_capability): New function.
	* grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
	New function.
	(grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
	stop_broadcom if running on EFI.
	* include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
	(GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
	(GRUB_PCI_VENDOR_BROADCOM): Likewise.
	(grub_pci_find_capability): New proto.

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2012-05-03 17:26:55 +02:00
Vladimir 'phcoder' Serbinenko
01aab9978f * docs/grub.texi: Remove dot from the extension as it apparently
doesn't work with some makeinfo versions.
2012-05-03 17:16:35 +02:00
Vladimir 'phcoder' Serbinenko
fbd8dca681 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
with GRUB expectance.
2012-05-03 17:02:37 +02:00
Vladimir 'phcoder' Serbinenko
dab797f476 * util/grub-fstest.c (cmd_cmp): Compare directories recursively. 2012-05-03 16:45:40 +02:00
Vladimir 'phcoder' Serbinenko
1516bfb43a * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
zero after directory block since last entry may be not 0-terminated if
	it ends on block boundary. Use continue instead of if spanning whole
	loop.
2012-05-03 16:43:05 +02:00
Vladimir 'phcoder' Serbinenko
a3a0eace51 Support 4K sectors UDF inline files.
* grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
	(grub_udf_extended_file_entry): Likewise.
	(grub_fshelp_node): Name the anonymous union. Put block at the end.
	All users updated.
	(get_fshelp_size): New function.
	(grub_udf_read_icb): Read whole block.
	(grub_udf_iterate_dir): Likewise.
	(grub_udf_dir): Likewise.
	(grub_udf_open): Likewise.
2012-05-03 09:29:20 +02:00
Vladimir 'phcoder' Serbinenko
c82f16c1be * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect. 2012-05-03 09:25:25 +02:00
Vladimir 'phcoder' Serbinenko
59fd2aacd0 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
inline symlinks in addition to workaround.
2012-05-03 09:21:09 +02:00
Vladimir 'phcoder' Serbinenko
3b4afb4de1 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors. 2012-05-03 09:15:29 +02:00
Vladimir 'phcoder' Serbinenko
f45c794ab5 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask. 2012-05-03 09:11:32 +02:00
Vladimir 'phcoder' Serbinenko
f25cecbdb3 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value. 2012-05-03 09:09:30 +02:00
Vladimir 'phcoder' Serbinenko
bb9a34e88d Fix reiserfs big seek times.
* grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
	exact. All users updated.
	(grub_reiserfs_read): Use nearest btree search for seeking.
	Fix return value on error.
2012-05-02 10:30:52 +02:00
Vladimir 'phcoder' Serbinenko
dc478aeae5 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
entries.
	* grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
	* docs/grub.texi: Update menuentry description.
2012-05-02 10:26:09 +02:00
Vladimir 'phcoder' Serbinenko
8db10f47fe * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
crash when embedding onto filesystem.
2012-05-02 10:09:01 +02:00
Vladimir 'phcoder' Serbinenko
bcb288ed17 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
name.
2012-05-02 09:56:56 +02:00
Vladimir 'phcoder' Serbinenko
a626fdd76a * grub-core/net/ip.c (handle_dgram): Fix undeclared variable. 2012-05-01 15:29:44 +02:00
Vladimir 'phcoder' Serbinenko
b2f6847735 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
commit.
2012-05-01 15:26:36 +02:00
Bean
ba15b2afa0 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2012-05-01 15:20:20 +02:00
Vladimir 'phcoder' Serbinenko
a188012e6c * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
Special behaviour for len = 0 to read whole file isn't used anywhere and
	can cause buffer ovewrflows in several places.
2012-05-01 15:08:29 +02:00
Vladimir 'phcoder' Serbinenko
f0a53ed2c2 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak. 2012-05-01 15:06:34 +02:00
Vladimir 'phcoder' Serbinenko
5ed554f014 Handle RAIDZ on non-512B sectors.
* grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
	max_children_ashift.
	(fill_vdev_info_real): Fill max_children_ashift.
	(read_device): Use max_children_ashift.
2012-05-01 15:05:26 +02:00
Vladimir 'phcoder' Serbinenko
ddc583571e * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak. 2012-05-01 15:03:27 +02:00
Vladimir 'phcoder' Serbinenko
e3282399ad * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
disk names.
	* docs/grub.texi: Update device.map parts.
2012-05-01 15:02:34 +02:00
Vladimir 'phcoder' Serbinenko
ee618bd491 Don't scan into non-diskfilter devices having diskfilter names.
* grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
	(scan_disk): New argument accept_diskfilter. Fix recursion depth
	handling.
	(scan_disk_hook): New function.
2012-05-01 14:59:30 +02:00
Bean
bdf8886428 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
allocation.
2012-04-29 18:43:22 +02:00
Mads Kiilerich
32745f5131 * configure.ac: Detect starfield theme font path
/usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2012-04-29 18:15:24 +02:00
Vladimir 'phcoder' Serbinenko
bc95c8c0e1 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
geometry on serial consoles.
2012-04-26 20:51:06 +02:00
Vladimir 'phcoder' Serbinenko
147fbcab72 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
because of network consoles.
2012-04-26 18:57:22 +02:00
Vladimir 'phcoder' Serbinenko
0f42c8898f * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
handling.
2012-04-26 18:55:39 +02:00
Vladimir 'phcoder' Serbinenko
4a3594c9b1 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
falls on Q syndrom.
2012-04-26 12:51:03 +02:00
Vladimir 'phcoder' Serbinenko
5cb5387977 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2012-04-26 12:49:35 +02:00
Vladimir 'phcoder' Serbinenko
b282dfe5ac * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
Allocate at lest 8192 for temporary buffer as required for lzo.
2012-04-26 01:16:25 +02:00
Vladimir 'phcoder' Serbinenko
daa59f47f6 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
to cluster_bits, since it's already added in.
	(grub_fat_read_data): Likewise.
2012-04-25 16:28:06 +02:00
Vladimir 'phcoder' Serbinenko
986748ce79 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
as long as cluster size is multiple of 512 bytes.
2012-04-25 11:56:24 +02:00
Vladimir 'phcoder' Serbinenko
a20f6ad048 * util/grub-mkrescue.in: Fix locale directory. 2012-04-23 17:17:50 +02:00
Vladimir 'phcoder' Serbinenko
385f9abbe3 * grub-core/kern/emu/hostdisk.c (map): Make static. 2012-04-23 17:14:48 +02:00
Bean
1c557d30ef * util/grub-fstest.c (fstest): Add missing break. 2012-04-23 17:11:49 +02:00
root
fe4824e998 Fix hurd build.
* util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
find_root_devices_from_poolname, find_root_devices_from_libzfs,
grub_find_device): Do not define.
2012-04-22 19:02:55 +00:00
Samuel Thibault
524b5d3a7c Fix hurd build.
* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
not define nr variable.
2012-04-22 18:44:19 +02:00
Vladimir 'phcoder' Serbinenko
9a06490c07 Fix kfreebsd compile and behaviour.
* grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
	format-security.
	* util/getroot.c: Fix wait.h include.
	(grub_guess_root_devices): Error if grub_find_device fails.
	(grub_util_get_geom_abstraction): Fix shadowing and format-security.
	(grub_util_get_dev_abstraction): Likewise.
	(grub_util_pull_device): Likewise.
	(grub_util_get_grub_dev): Likewise.
	* util/lvm.c (grub_util_lvm_isvolume): Likewise.
2012-04-21 16:49:56 +02:00
Vladimir 'phcoder' Serbinenko
48143d96a6 Fix and unify wholedisk detection.
* util/getroot.c (convert_system_partition_to_system_disk): New argument
	is_part. All users updated.
	(device_is_wholedisk): Removed.
	(grub_util_biosdisk_get_grub_dev): Use is_part.
2012-04-21 16:42:28 +02:00
Vladimir 'phcoder' Serbinenko
ebbd24f3eb * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
mode.
2012-04-19 20:35:06 +02:00
Vladimir 'phcoder' Serbinenko
56f7aa1e6f * configure.ac: Bump to beta4. 2012-04-19 11:34:43 +02:00
Vladimir 'phcoder' Serbinenko
9c815e0120 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
--fs-uuid --set UUID syntax.
2012-04-19 11:32:59 +02:00
Vladimir 'phcoder' Serbinenko
59e2651a06 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
disunification.
2012-04-18 23:48:52 +02:00
Vladimir 'phcoder' Serbinenko
54e03cfcf0 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl. 2012-04-18 23:37:25 +02:00
Mads Kiilerich
81092a75e5 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave. 2012-04-18 23:31:26 +02:00
Mike Gilbert
f8315e145d * util/grub.d/10_linux.in: Fix detection of genkernel initramfs. 2012-04-18 23:25:21 +02:00
Bean
1501ac21b0 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
place.
2012-04-18 23:21:38 +02:00
Vladimir 'phcoder' Serbinenko
cb7f944e44 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
users updated.
	(grub_util_biosdisk_read): Handle Linux partitions not exactly
	corresponding to GRUB partitions.
	(grub_util_biosdisk_write): Likewise.
2012-04-18 23:18:51 +02:00
Vladimir 'phcoder' Serbinenko
b72d44a11a Scan mdraid before LVM.
* include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
	(grub_diskfilter_register_front): ... this.
	(grub_diskfilter_register_back): New function.
	All users of grub_diskfilter_register updated.
2012-04-18 23:11:33 +02:00
Vladimir 'phcoder' Serbinenko
33d918b85f * util/grub-install.in: Fix an automatic target detection bug. 2012-04-18 23:01:51 +02:00
Vladimir 'phcoder' Serbinenko
c6ca973d4b * util/grub-install.in: New option --efi-directory. 2012-04-18 22:43:55 +02:00
Vladimir 'phcoder' Serbinenko
b41be5623a * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
boot services if we have no other choice.
2012-04-17 13:00:06 +02:00
Vladimir 'phcoder' Serbinenko
e0595a73b2 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing. 2012-04-13 19:26:36 +02:00
Vladimir 'phcoder' Serbinenko
4ed80652d2 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
(grub_minix_read_file): Likewise.
	(grub_minix_read_inode): Likewise.
	(grub_minix_find_file): Likewise.
	(grub_minix_dir): Likewise.
2012-04-13 17:08:38 +02:00
Vladimir 'phcoder' Serbinenko
5600807745 * util/grub-setup.c (setup): Fix partition handling and blocklist
check.
2012-04-13 16:58:02 +02:00
Vladimir 'phcoder' Serbinenko
ee5207750f * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
redundant buggy overlap check.
2012-04-13 16:55:20 +02:00
Vladimir 'phcoder' Serbinenko
16fc9293d6 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
and grub-mknetdir.
2012-04-11 22:43:15 +02:00
Vladimir 'phcoder' Serbinenko
9bab65c49d * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
kh.loadflags on pre-2.00 kernels.
2012-04-11 22:40:20 +02:00
Vladimir 'phcoder' Serbinenko
3c491b479c Terminate UNDI and PXE before launching the payload to avoid problems
with DMA.

	* grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
	(grub_loader_flags): ... this. All users updated.
	(grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
	* grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
	loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
	* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
	function.
	(grub_pxe_restore): Likewise.
	(fini_hnd): New var.
	(GRUB_MOD_INIT): Register shutdown hook.
	(GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
	* include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
	(GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
	(grub_loader_set): Rename second argument to flags.
2012-04-11 22:32:31 +02:00
Vladimir 'phcoder' Serbinenko
851ffadac2 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
written bytes.
	(grub_get_num_of_utf8_bytes): New function.
	(grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
	* grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
	executing it.
	* include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
	(grub_ucs4_to_utf8): Change return type.
2012-04-07 20:11:04 +02:00
Vladimir 'phcoder' Serbinenko
491c57a815 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
warning.
2012-04-07 20:03:38 +02:00
Vladimir 'phcoder' Serbinenko
756773df7c * grub-core/lib/adler32.c: Recode due to license unclearness. 2012-04-07 19:58:39 +02:00
Vladimir 'phcoder' Serbinenko
fd556a962e * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
(test_header): Likewise.
2012-04-07 19:54:51 +02:00
Vladimir 'phcoder' Serbinenko
9f9d3f69f4 Fix --help formatting.
* util/grub-mkconfig_lib.in (print_option_help): New function.
	(grub_fmt): Likewise.
	* util/grub-install.in: Use print_option_help and grub_fmt.
	* util/grub-kbdcomp.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2012-04-07 19:49:25 +02:00
Vladimir 'phcoder' Serbinenko
561ec77e2d * linguas.sh: Remove autogenerated *.po. 2012-04-07 19:44:50 +02:00
Vladimir 'phcoder' Serbinenko
7ec2b02171 * po/README: Move language fetcing to ...
* linguas.sh: ... here.
	* po/README: Point to linguas.sh.
2012-04-04 14:55:56 +02:00
Vladimir 'phcoder' Serbinenko
a88f327093 * po/README: Exclude ko.po due to disclaimer problems. 2012-04-04 14:43:27 +02:00
Vladimir 'phcoder' Serbinenko
d61357cec2 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
len = 0.
	(grub_gettext_translate_real): Handle 0th string.
	(grub_gettext_translate): Ensure that "" isn't translated.
2012-04-04 14:41:55 +02:00
Vladimir 'phcoder' Serbinenko
505e41dc36 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
TRANSLATORS comment.
	(grub_diskfilter_print_partmap): Propagate changing of error into
	warning.
2012-04-04 14:33:38 +02:00
Vladimir 'phcoder' Serbinenko
e44092dbb9 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
to uint64_t to prevent overflow.
	(grub_diskfilter_lv): Increase start_extent and extent_count
	to uint64_t to prevent overflow.
2012-04-04 14:31:22 +02:00
Vladimir 'phcoder' Serbinenko
9b83956ab9 * configure.ac: Increase version. 2012-04-01 21:54:45 +02:00
Vladimir 'phcoder' Serbinenko
da0d5b3f3b Introduce en@cyrillic en@hebrew en@arabic and en@greek.
* po/Rules-translit: New file.
	* po/arabic.sed: Likewise.
	* po/cyrillic.sed: Likewise.
	* po/greek.sed: Likewise.
	* po/hebrew.sed: Likewise.
	* po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
	* po/Makefile.in.in: Add extra_dist4.
2012-04-01 21:53:46 +02:00
Vladimir 'phcoder' Serbinenko
ac66b453df Handle big-endian minixfs (fixes minixfs tests on bigendian).
* grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
	modify names. Introduce MODE_BIGENDIAN.
	* grub-core/fs/minix_be.c: New file.
	* grub-core/fs/minix2_be.c: Likewise
	* grub-core/fs/minix3_be.c: Likewise.
	* Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
	minix3_be.
	* grub-core/Makefile.core.def (minix_be): New module.
	(minix2_be): Likewise.
	(minix3_be): Likewise.
2012-04-01 21:35:18 +02:00
Vladimir 'phcoder' Serbinenko
0a2d5a8275 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat. 2012-04-01 21:27:17 +02:00
Vladimir 'phcoder' Serbinenko
d162588970 * grub-core/normal/cmdline.c (print_completion): New field
prompt_len.
	(grub_cmdline_get): Handle width properly.
2012-04-01 21:25:17 +02:00
Vladimir 'phcoder' Serbinenko
6d36a236d2 * grub-core/commands/lsacpi.c (options): Add missing terminator. 2012-04-01 21:22:48 +02:00
Vladimir 'phcoder' Serbinenko
9576977eab * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
after 29th of February.
2012-03-31 21:04:56 +02:00
Vladimir 'phcoder' Serbinenko
d73ff15de4 Fix exfat endianness handling.
* grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
	(grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
	(grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
	Byte-swap utf16 when necessary.
	(grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2012-03-31 19:04:13 +02:00
Anton Blanchard
bbb39a458b Fix btrfs endianness handling.
* grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
	(lower_bound): Make root uint64_t. Use root in le.
	(grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
	(find_path): Fix template key init.
	(grub_btrfs_dir): Fix mtime byteswap.
	* include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2012-03-31 18:45:13 +02:00
Vladimir 'phcoder' Serbinenko
354e0af7d3 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
recursion_depth. Break infinite resursions. All users updated.
2012-03-31 18:38:29 +02:00
Vladimir 'phcoder' Serbinenko
4e75f21c33 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
after free.
	Reported by: Peter Jones.
2012-03-31 12:27:10 +02:00
Anton Blanchard
255818026e * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8 bit values.
2012-03-31 12:08:50 +02:00
Vladimir 'phcoder' Serbinenko
08fbf92ecb * util/grub-install.in: Fix nvram call for PreP. 2012-03-28 17:58:21 +02:00
Vladimir 'phcoder' Serbinenko
5d1182a66b * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
the error when some elements are missing into a warning.
2012-03-28 17:56:45 +02:00
Vladimir 'phcoder' Serbinenko
3f8cdd9052 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap. 2012-03-28 17:54:54 +02:00
Colin Watson
5100671655 * docs/grub.texi (Invoking grub-probe): New section.
Reported by: Filipus Klutiero.  Fixes Debian bug #666031.
2012-03-28 00:37:00 +01:00
Vladimir 'phcoder' Serbinenko
e1bd676b4e Fix tab and wide character handling in editor and menu.
* grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
	agglomerate control characters with combining marks.
	(bidi_line_wrap): Allow break on tab.
	(grub_unicode_get_comb_start): New function.
	* grub-core/normal/menu_entry.c: Restructure to handle wide characters
	and tab correctly.
	* grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
	with a space.
	* grub-core/normal/term.c (print_ucs4_terminal): New argument
	fixed_tab_size. All users updated.
	* include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
	(grub_term_getcharwidth): Handle \t.
	* include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
	and copy.
2012-03-27 17:07:26 +02:00
Vladimir 'phcoder' Serbinenko
22e6a774f9 Handle big-endian mdraid.
* Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
	* grub-core/Makefile.core.def (mdraid09_be): New module.
	* grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
	rather than grub_le_to_cpu* and grub_cpu_to_le*.
	* grub-core/disk/mdraid_linux_be.c: New file.
2012-03-26 16:10:40 +02:00
Vladimir 'phcoder' Serbinenko
3c0eae66fa * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors. 2012-03-26 16:07:42 +02:00
Vladimir 'phcoder' Serbinenko
b6cf74c901 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
missing quotes which caused confusion among translators.
2012-03-19 16:30:16 +01:00
Vladimir 'phcoder' Serbinenko
83c93b9cf5 * util/grub-mkconfig_lib.in: Fix typo. 2012-03-19 16:27:59 +01:00
Vladimir 'phcoder' Serbinenko
ac6fd21803 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
spaces.
	* tests/grub_script_leading_whitespace.in: New file.
	* Makefile.util.def (grub_script_leading_whitespace): New test.
2012-03-19 13:29:43 +01:00
Vladimir 'phcoder' Serbinenko
ba287dd8e0 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
to work.
2012-03-19 11:10:11 +01:00
Vladimir 'phcoder' Serbinenko
d2d58d0ab4 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
starts with control character.
2012-03-19 11:07:28 +01:00
Vladimir 'phcoder' Serbinenko
0382d9bb22 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
overflow.
	(grub_gdb_outbuf): Likewise.
2012-03-19 10:59:16 +01:00
Vladimir 'phcoder' Serbinenko
d83ff9f955 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
zero terminator. Fixes a crash.
2012-03-19 10:56:43 +01:00
Vladimir 'phcoder' Serbinenko
2282da4a93 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
beyond 4 GiB.
	(grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
	images independently of preffered adderss field.
2012-03-11 23:41:29 +01:00
Vladimir 'phcoder' Serbinenko
0ae4f0bddb * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
* grub-core/commands/regexp.c: Likewise.
	* grub-core/loader/i386/linux.c: Likewise.
	* grub-core/partmap/msdos.c: Likewise.
	* grub-core/script/execute.c: Likewise.
	* grub-core/term/gfxterm.c: Likewise.
2012-03-11 23:36:35 +01:00
Vladimir 'phcoder' Serbinenko
546fbe9b5a Add variable parsing in $"..." and fix several mismatches with bash.
* Makefile.util.def (grub_script_gettext): New test.
	* grub-core/script/execute.c (parse_string): New function.
	(gettext_append): Likewise.
	(grub_script_arglist_to_argv): Use gettext_append.
	* grub-core/script/yylex.l: Fix slash and newline handling in $"...".
	* tests/grub_script_gettext.in: New file.
2012-03-11 14:46:48 +01:00
Vladimir 'phcoder' Serbinenko
9fdb2d7b11 Fix handling of leading spaces in scripts.
* grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
	spaces.
	* grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
	other than skipping \r. All users updated.
	* tests/grub_script_echo1.in: Add space-related tests.
	* util/grub-menulst2cfg.c (main): Remove useless space skipping.
2012-03-11 14:43:18 +01:00
Vladimir 'phcoder' Serbinenko
1a1ac4f6cb * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check. 2012-03-11 14:36:02 +01:00
Vladimir 'phcoder' Serbinenko
b63d89b684 * configure.ac: Bump up the version to beta2. 2012-03-10 23:52:47 +01:00
Vladimir 'phcoder' Serbinenko
17f38c0f8c Fix gettext reload bugs (e.g. inability to disable gettext
once enabled).

	* grub-core/gettext/gettext.c: Encapsulate all static variables in
	main_context and secondary_context. All functions updated.
	(grub_gettext_translate): Rename to ...
	(grub_gettext_translate_real): ... this. Return NULL on failed
	translate.
	(grub_gettext_translate): Handle secondary context.
	(grub_gettext_delete_list): Close file and zero-out the context.
	(grub_mofile_open): Don't call grub_gettext_delete_list.
	Don't close file.
	(grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
	if locale="" to avoid pointless error message.
	(grub_gettext_env_write_lang): Update lang even if load fails.
	Handle secondary context.
	(grub_gettext_reread_prefix): New function.
	(read_main): Likewise.
	(read_secondary): Likewise.
	(GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
	(GRUB_MOD_FINI): Handle secondary context. Don't close file.
	* grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
	* include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2012-03-10 23:25:34 +01:00
Vladimir 'phcoder' Serbinenko
8e56f87007 * configure.ac: Decrease warning level to avoid spurious warnings and
to be able to compile with GCC 4.2.
	* Makefile.util.def: Remove -Wno-error=logical-op.
2012-03-10 21:30:37 +01:00
William Bittner
82f6d455bb * util/import_unicode.py: Add missing brackets around string for
python 3 support.
2012-03-10 20:47:12 +01:00
Vladimir 'phcoder' Serbinenko
1ecd61a47a Fix efi chainloader on network root.
* grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
	network devices.
	* grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
	New function.
2012-03-10 20:41:28 +01:00
Vladimir 'phcoder' Serbinenko
14361ee8aa * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
unused show_text member.
	* docs/grub.texi: Document "text" property.
2012-03-10 19:46:46 +01:00
Vladimir 'phcoder' Serbinenko
922aabf34b * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
in dprintf.
2012-03-10 18:02:53 +01:00
Vladimir 'phcoder' Serbinenko
ec31677170 Fix IMSM handling on Fedora.
* util/getroot.c (grub_util_is_imsm): New function.
	(grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2012-03-10 18:01:01 +01:00
Vladimir 'phcoder' Serbinenko
0f021838c4 * Makefile.am: Strip gold section.
* conf/Makefile.common: Likewise.
	* gentpl.py: Likewise.
	* grub-core/Makefile.core.def: Likewise.
	* grub-core/genmod.sh.in: Likewise.
2012-03-10 16:55:48 +01:00
Vladimir 'phcoder' Serbinenko
1039c8eba4 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
* util/grub.d/20_linux_xen.in: Likewise.
	Based on Debian patch.
2012-03-10 15:21:25 +01:00
Vladimir 'phcoder' Serbinenko
6dd412cdcc * util/grub.d/10_linux.in: Fix syntax error resulting in
Richard Laager's patch.
	* util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2012-03-10 14:42:26 +01:00
Vladimir 'phcoder' Serbinenko
3fd8bae5cf * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
dependencies.
2012-03-10 14:35:17 +01:00
Richard Laager
7eea167113 * util/grub.d/10_linux.in: Fix ZFS root passing. 2012-03-10 13:36:08 +01:00
Vladimir 'phcoder' Serbinenko
e8e0566b0c * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
* grub-core/commands/xnu_uuid.c: Likewise.
	* grub-core/loader/efi/appleloader.c: Likewise.
	* grub-core/script/execute.c: Likewise.
	* grub-core/script/main.c: Likewise.
	* util/grub-mkfont.c: Likewise.
2012-03-10 13:19:46 +01:00
Vladimir 'phcoder' Serbinenko
1acc5b1f3d * util/grub-mkfont.c (options): Use more appropriate "select" that
"set" for face index.
2012-03-10 13:16:41 +01:00
Vladimir 'phcoder' Serbinenko
35d7062040 * util/grub-editenv.c (options): Gettextize command summaries. 2012-03-10 13:12:45 +01:00
Vladimir 'phcoder' Serbinenko
c9eb96b508 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
"out of memory" error messagge.
2012-03-10 13:10:07 +01:00
Vladimir 'phcoder' Serbinenko
1f49313672 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
of diskfilter for diskfilter on diskfilter support.
2012-03-10 13:07:39 +01:00
Vladimir 'phcoder' Serbinenko
6d790129fa * util/getroot.c (exec_pipe): Ensure that the child is not localised. 2012-03-10 13:05:21 +01:00
Vladimir 'phcoder' Serbinenko
005f46c94a * util/grub-install.in: Check for themes/starfield/theme.txt and not
themes/starfield.
2012-03-10 12:33:52 +01:00
Vladimir 'phcoder' Serbinenko
c8f778a044 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup. 2012-03-10 12:31:42 +01:00
Vladimir 'phcoder' Serbinenko
de1e64eb43 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code. 2012-03-10 12:27:00 +01:00
Vladimir 'phcoder' Serbinenko
c6d542119d * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
of error message.
2012-03-10 12:23:47 +01:00
Vladimir 'phcoder' Serbinenko
dd3907779e * util/grub-install.in: Fix install non-PreP IEEE1275 install. 2012-03-09 00:58:55 +01:00
Vladimir 'phcoder' Serbinenko
5fd1c522d4 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
message.
	* util/grub-install.in: Fix anf gettextize error message.
2012-03-09 00:56:22 +01:00
Vladimir 'phcoder' Serbinenko
fae01f6cfb * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
Gettextize.
	* util/grub-mount.c (options): Likewise.
2012-03-08 19:09:05 +01:00
Vladimir 'phcoder' Serbinenko
292fdaff95 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
gettextize.
	* grub-core/commands/search_wrap.c (options): Likewise.
2012-03-08 19:07:23 +01:00
Vladimir 'phcoder' Serbinenko
ecdbae77ca * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning. 2012-03-08 19:05:43 +01:00
Vladimir 'phcoder' Serbinenko
52bfedfa39 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
size calculation.
	* grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
	none is known.
2012-03-08 18:54:25 +01:00
Vladimir 'phcoder' Serbinenko
55b20e588c * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
"temporary" since it's used in identifier and is limited in space.
2012-03-08 18:51:39 +01:00
Vladimir 'phcoder' Serbinenko
fda9d1012e * po/POTFILES.in: Regenerate. Include *.h since they contain
translatable strings as well.
2012-03-08 18:47:51 +01:00
Vladimir 'phcoder' Serbinenko
6a0295e205 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
byte-swap on big-endian.
	Reported by: Lennart Sorensen
2012-03-08 18:42:03 +01:00
Vladimir 'phcoder' Serbinenko
807fb77c16 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
(allocate_pages): Improve dprintf.
	(grub_cmd_linux): Fill prot_init_space. Fix improper usage of
	code32_start. Fill code32_start and kernel_alignment in params.
	(grub_cmd_initrd): Use prot_init_space.
2012-03-07 23:45:20 +01:00
Vladimir 'phcoder' Serbinenko
61ac50ba80 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change. 2012-03-06 15:53:02 +01:00
Vladimir 'phcoder' Serbinenko
abdd26dd20 * util/grub-install.in: Add missing dot at the end of sentence. 2012-03-06 15:45:30 +01:00
Vladimir 'phcoder' Serbinenko
6e69da9ccb * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
* grub-core/commands/videotest.c: Likewise.
	* grub-core/loader/i386/linux.c: Likewise.
2012-03-06 15:04:33 +01:00
Vladimir 'phcoder' Serbinenko
4a92934301 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
sentence.
	Reported by: Milo Casagrande.
2012-03-06 15:03:33 +01:00
Vladimir 'phcoder' Serbinenko
bb51c6c647 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
* grub-core/commands/gptsync.c: Likewise.
	* grub-core/commands/hashsum.c: Likewise.
	* grub-core/commands/i386/pc/sendkey.c: Likewise.
	* grub-core/commands/legacycfg.c: Likewise.
	* grub-core/io/gzio.c: Likewise.
	* grub-core/net/net.c: Likewise.
	* grub-core/term/gfxterm.c: Likewise.
	* grub-core/term/terminfo.c: Likewise.
	* grub-core/tests/test_blockarg.c: Likewise.
	* grub-core/video/video.c: Likewise.
	* util/grub-install.in: Likewise.
	* util/grub-mkfont.c: Likewise.
2012-03-06 14:11:10 +01:00
Vladimir 'phcoder' Serbinenko
b2b149cbbd * util/grub-mkimage.c (help_filter): Add missing capitalisation. 2012-03-06 14:08:48 +01:00
Vladimir 'phcoder' Serbinenko
c7c080ad02 * grub-core/commands/search_wrap.c (options): Fix a typo. 2012-03-06 14:07:00 +01:00
Vladimir 'phcoder' Serbinenko
f2e243c078 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
description.
2012-03-06 14:06:14 +01:00
Vladimir 'phcoder' Serbinenko
09963c760d * util/grub-script-check.c (main): Fix a syntax error message which was
unclear.
2012-03-06 12:02:38 +01:00
Vladimir 'phcoder' Serbinenko
a50514a887 * util/grub-mkrescue.in (usage): Fix ROM capitalisation. 2012-03-06 12:00:57 +01:00
Vladimir 'phcoder' Serbinenko
4650daec9c * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
messages.
2012-03-06 11:59:39 +01:00
Vladimir 'phcoder' Serbinenko
97ebda9bc6 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
without argument.
	* util/grub-mount.c (options): Likewise.
2012-03-06 11:38:50 +01:00
Vladimir 'phcoder' Serbinenko
bbc5a342eb * util/grub-mkimage.c (generate_image): Unify diskboot.img size message. 2012-03-06 11:36:39 +01:00
Vladimir 'phcoder' Serbinenko
ef292a8775 * grub-core/net/http.c: Add TRANSLATORS comments.
* grub-core/normal/cmdline.c: Likewise.
	* grub-core/normal/misc.c: Likewise.
	* grub-core/partmap/msdos.c: Likewise.
	* grub-core/parttool/msdospart.c: Likewise.
	* grub-core/script/execute.c: Likewise.
	* grub-core/script/main.c: Likewise.
	* grub-core/term/terminfo.c: Likewise.
	* grub-core/video/bitmap.c: Likewise.
	* util/grub-install.in: Likewise.
	* util/grub-mkimage.c: Likewise.
	* util/grub-mklayout.c: Likewise.
	* util/grub-setup.c: Likewise.
2012-03-05 16:42:26 +01:00
Vladimir 'phcoder' Serbinenko
0fc19bd089 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
with similar messages in grub-fstest.
2012-03-05 16:39:16 +01:00
Vladimir 'phcoder' Serbinenko
d95862ef75 * util/grub-install.in: Unify "option requires an argument" message
with similar messages in other files.
	* util/grub-mkconfig.in: Likewise.
2012-03-05 16:37:29 +01:00
Vladimir 'phcoder' Serbinenko
b7308f90f5 * util/grub-set-default.in: Replace printf with gettext_printf (the
string in in question is already translated from grub-reboot)
2012-03-05 16:31:05 +01:00
Vladimir 'phcoder' Serbinenko
559dc587f7 * configure.ac: Bump up the version to beta1. 2012-03-05 01:50:43 +01:00
Vladimir 'phcoder' Serbinenko
1a11761f7d * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
case when min_align = 0.
2012-03-05 01:35:58 +01:00
Vladimir 'phcoder' Serbinenko
24539abdb1 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
and fix a case when line_start overflows.
2012-03-05 01:26:29 +01:00
Vladimir 'phcoder' Serbinenko
32bd735bd6 * util/grub-reboot.in (usage): Mention id posibility.
* util/grub-set-default.in (usage): Likewise.
2012-03-05 01:19:42 +01:00
Vladimir 'phcoder' Serbinenko
1a2fd1e674 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
* grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
	* grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2012-03-05 01:17:55 +01:00
Vladimir 'phcoder' Serbinenko
90eeab76b0 * grub-core/commands/menuentry.c (options): Remove
GRUB_ARG_OPTION_REPEATABLE.
	Reported by: Andreas Vogel
2012-03-05 01:00:09 +01:00
Andreas Vogel
5ad1be828f * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak. 2012-03-05 00:41:37 +01:00
Hideki EIRAKU
cb05528616 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
error.
2012-03-05 00:02:17 +01:00
Vladimir 'phcoder' Serbinenko
93b1cd79c8 Use sort -V by the idea of Georgi Georgiev.
* util/grub-mkconfig_lib.in (version_sort): New function.
	(version_test_numeric): Use version_sort.
2012-03-04 23:13:16 +01:00
Vladimir 'phcoder' Serbinenko
0cdc126ca2 Use submenus in grub-mkconfig.
* util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
	* util/grub-mkconfig_lib.in (grub_quote): New function.
	(gettext_printf): Use gettext and not gettext_quoted to fix several
	messages.
	* util/grub.d/10_hurd.in: Use submenus.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/10_netbsd.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.
	* util/grub.d/10_illumos.in: Add missing quoting.
	* util/grub.d/10_windows.in: Likewise.
2012-03-04 22:18:33 +01:00
Vladimir 'phcoder' Serbinenko
d9bef9bc43 Fix menu title instability bug.
* grub-core/commands/menuentry.c (options): New option --id.
	(grub_normal_add_menu_entry): New argument id. All users updated.
	(grub_cmd_menuentry): Handle --id.
	(grub_menu_init): Accept unknown arguments.
	* grub-core/normal/main.c (features): Add feature_menuentry_id and
	feature_menuentry_options.
	* grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
	saved_entry.
	(get_entry_number): Match with id as well.
	* include/grub/menu.h (grub_menu_entry): New member id.
	* util/grub-mkconfig_lib.in (grub_get_device_id): New function.
	* util/grub.d/00_header.in: Define menuentry_id_option.
	* util/grub.d/10_hurd.in: Define id.
	* 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.
2012-03-04 14:55:13 +01:00
Vladimir 'phcoder' Serbinenko
0d31b7df86 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
"scope" with "body".
2012-03-04 12:14:33 +01:00
Vladimir 'phcoder' Serbinenko
7c8d0ce7f4 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
* grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
	prot_size and prot_file_size.
2012-03-04 12:13:05 +01:00
Vladimir 'phcoder' Serbinenko
49de079bbe * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
All users updated. If easily=1 require raid-5/-6 to be full.
	(is_node_readable): Likewise.
	(scan_devices): Scan incomplete but readable LVs at the end.
	(grub_diskfilter_memberlist): Pull missing devices.
	(insert_array): Skip scanning until device is complete or scan is
	done otherwise.
	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
	check.
	* include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
	* util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
2012-03-04 01:33:09 +01:00
Matthew Garrett
aff05d45f9 Avoid EFI boot services when loading Linux.
* grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
	avoid_efi_bootservices. All users updated.
	* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
	argument avoid_efi_bootservices. All users updated.
	Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
	* grub-core/loader/i386/linux.c (allocate_pages): New arguments
	align, min_align, relocatable, prefered_address. All users updated.
	Allocate avoiding boot services if kernel is relocatable.
	(grub_cmd_linux): Check if kernel is relocatable.
	* grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
	(grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
	Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
	avoid_efi_boot_services.
	(grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
	* include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
	(linux_kernel_params): Likewise.

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2012-03-04 01:10:55 +01:00
Matthew Garrett
3935dde2f2 Use EDID on EFI.
* grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
	datasize_out.
	* grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
	modes. Set gop_handle.
	(grub_video_gop_get_edid): New function.
	(grub_gop_get_preferred_mode): Likewise.
	(grub_video_gop_setup): Use grub_gop_get_preferred_mode.
	(grub_video_efi_gop_adapter): Set .get_edid.
	* include/grub/efi/edid.h: New file.
	* include/grub/efi/efi.h (grub_efi_get_variable): Update proto.

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2012-03-04 00:48:21 +01:00
Vladimir 'phcoder' Serbinenko
32107ec02a * util/grub-install.in: Load efivars unconditionally. 2012-03-03 23:15:18 +01:00
Vladimir 'phcoder' Serbinenko
e70a2c50fa * po/Rules-piglatin: Change suffix from .po-update-en to
.po-update-en-piglatin.
2012-03-03 21:43:06 +01:00
Vladimir 'phcoder' Serbinenko
8f9cace1aa Add a pig farm. 2012-03-03 16:17:21 +01:00
Vladimir 'phcoder' Serbinenko
8f95d002fe * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
"Command for ...".
	* grub-core/commands/hdparm.c (options): Use "Display" rather than
	"Check" since we don't check anything.
	* grub-core/commands/i386/cpuid.c (options): Clarify that long mode
	is 64-bit one.
	* grub-core/commands/search_wrap.c (options): Clarify the conditions.
	* grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
	(grub_md_sha512_real): Likewise.
2012-03-03 13:09:14 +01:00
Vladimir 'phcoder' Serbinenko
805a8dccc8 * grub-core/commands/gptsync.c: Fix typographic quoting.
* grub-core/commands/ieee1275/suspend.c: Likewise.
	* grub-core/commands/parttool.c: Likewise.
	* grub-core/commands/search_wrap.c: Likewise.
	* grub-core/commands/videoinfo.c: Likewise.
	* grub-core/gfxmenu/gui_label.c: Likewise.
	* grub-core/hello/hello.c: Likewise.
	* grub-core/kern/emu/main.c: Likewise.
	* grub-core/net/net.c: Likewise.
	* grub-core/normal/menu.c: Likewise.
	* grub-core/normal/menu_text.c: Likewise.
	* grub-core/normal/misc.c: Likewise.
	* util/grub-editenv.c: Likewise.
	* util/grub-install.in: Likewise.
	* util/grub-kbdcomp.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/grub-setup.c: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2012-03-03 13:05:08 +01:00
Vladimir 'phcoder' Serbinenko
40211ab884 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
* grub-core/commands/keystatus.c: Likewise.
	* grub-core/commands/loadenv.c: Likewise.
	* grub-core/commands/probe.c: Likewise.
	* grub-core/commands/regexp.c: Likewise.
	* grub-core/commands/true.c: Likewise.
	* grub-core/commands/videoinfo.c: Likewise.
	* grub-core/disk/cryptodisk.c: Likewise.
	* grub-core/disk/ldm.c: Likewise.
	* grub-core/disk/loopback.c: Likewise.
	* grub-core/disk/luks.c: Likewise.
	* grub-core/fs/zfs/zfsinfo.c: Likewise.
	* grub-core/kern/disk.c: Likewise.
	* grub-core/kern/emu/hostdisk.c: Likewise.
2012-03-03 12:59:28 +01:00
Vladimir 'phcoder' Serbinenko
0c7d99c7c2 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
* util/grub-install.in: Add missing quote in the comment.
2012-03-02 21:08:38 +01:00
Vladimir 'phcoder' Serbinenko
e7d2559bc1 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
* grub-core/commands/lsmmap.c: Likewise.
	* grub-core/commands/minicmd.c: Likewise.
	* grub-core/commands/mips/loongson/lsspd.c: Likewise.
	* grub-core/commands/regexp.c: Likewise.
	* grub-core/gdb/gdb.c: Likewise.
	* grub-core/term/gfxterm.c: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mkfont.c: Likewise.
	* util/grub-mklayout.c: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.
2012-03-02 15:09:10 +01:00
Vladimir 'phcoder' Serbinenko
49ce9e50eb * grub-core/commands/videoinfo.c (hook): Replace "Direct"
with "Direct color" and "Packed" with "Packed pixel".
	(grub_cmd_videoinfo): Simplify legend.
2012-03-02 15:05:30 +01:00
Vladimir 'phcoder' Serbinenko
e4b791fabe * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
absolutely unclear error message.
2012-03-02 14:58:53 +01:00
Vladimir 'phcoder' Serbinenko
fd1265cb29 * util/grub-mkstandalone.in: Remove confusing leftover print. 2012-03-02 14:56:47 +01:00
Vladimir 'phcoder' Serbinenko
8822a8a02b * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
comments.
	* grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
	(GRUB_MOD_INIT): Likewise.
	* grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
	VGA mode.
	* grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
	comments.
	* util/grub-install.in (usage): Likewise.
	Spell ID in whole letters.
	Add missing ending dot.
	Quote variables.
	* util/grub-reboot.in: Fix capitalisation.
	* util/grub-set-default.in: Likewise.
2012-03-02 11:53:50 +01:00
Vladimir 'phcoder' Serbinenko
937fd0cc0c * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
(exec_pipe) [CYGWIN || MINGW32]: Likewise.
	(find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
	(find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
	Disable -Werror for -Wdeprecated-declarations.
	(grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
	(get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
	(grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
	(grub_util_get_grub_dev): Make luks handling dependent on
	HAVE_DEVICE_MAPPER and not __linux__.
	(get_win32_path): Fix format security.
	(grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
	(grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
	Don't try grub_find_zpool_from_dir.
	(grub_make_system_path_relative_to_its_root) [!__linux__]:
	#ifdef-out paresdir.
2012-03-02 11:36:07 +01:00
Vladimir 'phcoder' Serbinenko
1bab1ae335 * util/grub-pe2elf.c (usage): Add missing noreturn.
(write_section_data): Rename name to shname to avoid shadowing.
	(write_symbol_table): Rename name to symname to avoid shadowing.
	Fix write_reloc_section call.
2012-03-02 11:27:48 +01:00
Vladimir 'phcoder' Serbinenko
ef023e42a2 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
to ensure that it's after the last byte of .text.
2012-03-02 11:24:24 +01:00
Vladimir 'phcoder' Serbinenko
48afcb75fa * util/ieee1275/ofpath.c (my_isdigit): New function.
(trailing_digits): Use my_isdigit.
	(strip_trailing_digits): Likewise.
2012-03-02 11:21:01 +01:00
Vladimir 'phcoder' Serbinenko
88d51eff35 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
* grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
2012-03-02 11:18:11 +01:00
Vladimir 'phcoder' Serbinenko
17edc2ba56 * grub-core/kern/i386/pc/startup.S: Define __start. 2012-03-02 11:15:42 +01:00
Vladimir 'phcoder' Serbinenko
ad5518d79b * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
strip already transforms he format.
2012-03-02 11:11:00 +01:00
Vladimir 'phcoder' Serbinenko
9e95e1bf6b * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata. 2012-03-02 11:08:33 +01:00
Vladimir 'phcoder' Serbinenko
9cc3ee5c2b * util/grub-install.in: Add missing gettext init.
* util/grub-kbdcomp.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* 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_windows.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2012-03-01 00:40:02 +01:00
Vladimir 'phcoder' Serbinenko
49e08a064a * po/Rules-swiss: Fix header comment. 2012-03-01 00:38:11 +01:00
Andreas Vogel
3809cb41bc * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
resulted in leak of arguments.
2012-02-29 19:35:19 +01:00
Vladimir 'phcoder' Serbinenko
fa6ec5734f * grub-core/boot/i386/pc/startup_raw.S: Use separate
reed_solomon_size const definition instead of computing it since
	Apple assembler doesn't support the later.
2012-02-29 19:12:16 +01:00
Vladimir 'phcoder' Serbinenko
22899b9c03 * gentpl.py (kernel): Rewrite Apple part. 2012-02-29 19:07:32 +01:00
Vladimir 'phcoder' Serbinenko
a132afc371 * include/grub/kernel.h (FOR_MODULES): Check module magic. 2012-02-29 19:02:18 +01:00
Vladimir 'phcoder' Serbinenko
9d742bd431 * util/grub-mkimagexx.c (locate_sections): Support non-standard
ELF section gap.
	(load_image): Likewise.
2012-02-29 18:57:43 +01:00
Vladimir 'phcoder' Serbinenko
f04a9a216c * configure.ac: Fix a typo in previous commit. 2012-02-29 17:50:27 +01:00
Vladimir 'phcoder' Serbinenko
46cf439c98 Don't add -Wl,-N on Apple platform.
* configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
	* conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
2012-02-29 16:30:20 +01:00
Vladimir 'phcoder' Serbinenko
c4c48c541c * grub-core/Makefile.core.def (lzma_decompress): Use
TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
2012-02-29 16:28:26 +01:00
Vladimir 'phcoder' Serbinenko
31a12124a0 * grub-core/genmod.sh.in: Rewrite the Apple part. 2012-02-29 16:00:27 +01:00
Vladimir 'phcoder' Serbinenko
4f3aa1af70 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
comparison.
2012-02-29 15:48:57 +01:00
Vladimir 'phcoder' Serbinenko
7bd8b0c776 * acinclude.m4 (grub_CHECK_PIC): New test.
* configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
2012-02-29 15:30:11 +01:00
Vladimir 'phcoder' Serbinenko
97304d7c53 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
to avoid the warning.
2012-02-29 15:28:02 +01:00
Vladimir 'phcoder' Serbinenko
fb88381212 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
(LOCAL(firstlist)): ... this. Move it before the firstlist and not
	after. All users updated.
2012-02-29 15:26:42 +01:00
Vladimir 'phcoder' Serbinenko
a121c9648e Use the common size routine in hostfs so we can read disks as well.
* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
	(grub_util_get_fd_size): ... this. Return size in bytes.
	All users updated.
	* grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
	grub_util_get_fd_size.
2012-02-29 15:23:31 +01:00
Vladimir 'phcoder' Serbinenko
c66d641020 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
Add blocksize retrieval.
2012-02-29 15:17:59 +01:00
Vladimir 'phcoder' Serbinenko
dfc8aeb042 * configure.ac: Restore CFLAGS after efiemu check. 2012-02-29 15:12:31 +01:00
Vladimir 'phcoder' Serbinenko
403e25a539 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
Apple bug.
2012-02-29 15:10:13 +01:00
Vladimir 'phcoder' Serbinenko
382775d1ac * grub-core/Makefile.am (MACHO2IMG): Add missing variable. 2012-02-29 15:08:08 +01:00
Vladimir 'phcoder' Serbinenko
6fd4e6e4d0 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
(grub_cmd_halt): Likewise.
2012-02-29 15:06:39 +01:00
Vladimir 'phcoder' Serbinenko
bea359d657 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
for local arithmetics.
	Break %sp init into 2 instructions.
	Add 0 byte at the end.
2012-02-29 15:00:54 +01:00
Vladimir 'phcoder' Serbinenko
32eb6ee157 * grub-core/disk/diskfilter.c (read_segment): Initialise err
before loops.
2012-02-29 14:57:59 +01:00
Vladimir 'phcoder' Serbinenko
e837738991 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
for context.
2012-02-29 14:56:51 +01:00
Vladimir 'phcoder' Serbinenko
8cb17de77b * grub-core/disk/ldm.c (make_vg): Init part.name.
(grub_ldm_detect): Silence spurious warning.
	(grub_util_is_ldm): Likewise.
2012-02-29 14:55:09 +01:00
Vladimir 'phcoder' Serbinenko
595717e6d4 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
sane value to avoid a spurious warning.
2012-02-29 14:53:41 +01:00
Vladimir 'phcoder' Serbinenko
c4b7e58882 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
(GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
2012-02-29 14:51:09 +01:00
Vladimir 'phcoder' Serbinenko
5982495738 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
* grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
2012-02-29 14:48:58 +01:00
Vladimir 'phcoder' Serbinenko
70115b995d * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
hardcoding the relevant info.
2012-02-29 14:44:52 +01:00
Vladimir 'phcoder' Serbinenko
56733740ed * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
missing const qualifiers.
	* grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
2012-02-29 14:42:20 +01:00
Vladimir 'phcoder' Serbinenko
434814814b * util/getroot.c [__APPLE__]: Add missing includes.
(grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
2012-02-29 14:14:08 +01:00
Vladimir 'phcoder' Serbinenko
3cb38f015f * util/grub-mkimage.c (generate_image): Silence spurious warning. 2012-02-29 14:12:41 +01:00
Vladimir 'phcoder' Serbinenko
d9dbf11e16 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
avoid conflicts.
2012-02-29 14:10:04 +01:00
Vladimir 'phcoder' Serbinenko
0c42a45dcc * util/ieee1275/grub-ofpathname.c: Add missing config.h include. 2012-02-29 14:08:58 +01:00
Vladimir 'phcoder' Serbinenko
46c34eb096 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
and grub_file_close call.
2012-02-29 14:07:53 +01:00
Vladimir 'phcoder' Serbinenko
99ce1597a4 Add LZSS Mach-O support (needed for new xnu kernelcache).
* grub-core/Makefile.core.def (xnu): Add file lzss.c
	* grub-core/loader/lzss.c: New file.
	* grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
	on Mach-O open failure.
	* grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
	Don't free cmdsXX in uncompressedXX is set.
	(grub_macho_file): Init new fields.
	New argument is_64bit. All users updated.
	Handle compressed. Error out if no suitable architecture is found.
	Don't close file.
	(grub_macho_open): New argument is_64bit. All users updated.
	* grub-core/loader/macho32.c: Add defines for new fields.
	* grub-core/loader/macho64.c: Likewise.
	* grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
	(grub_macho_parse): Handle compressed.
	Defer actual processing if compressed.
	(grub_macho_cmds_iterate): Decompress if compressed. New argument
	"filename". All users updated.
	(grub_macho_size): New argument "filename". All users updated.
	(grub_macho_get_entry_point): Likewise.
	(grub_macho_load): Handle compressed.
	* include/grub/macho.h (grub_macho_lzss_header): New struct.
	(GRUB_MACHO_LZSS_OFFSET): New define.
	(grub_decompress_lzss): New proto.
	* include/grub/machoload.h (grub_macho_file): New fields to handle
	compressed.
	(grub_macho_contains_macho64): Remove proto.
	(grub_macho_contains_macho32): Likewise.
	* util/grub.d/30_os-prober.in: Use kernel cache if available.
2012-02-29 13:26:13 +01:00
Vladimir 'phcoder' Serbinenko
ebd17d6f51 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error. 2012-02-29 12:45:32 +01:00
Vladimir 'phcoder' Serbinenko
2702b4e4f7 Fix make dist.
* Makefile.am (starfield_theme_files): New var.
	(starfield_DATA): Use starfield_theme_files.
	(EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
	Add bootcheck-related files.
	* conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
	* docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
	and font_char_metrics.txt.
	* grub-core/Makefile.core.def (kernel): Update extra_dist.
	(setjmp): Add lib/ia64/longjmp.S.
	* po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
	* po/POTFILES.in: Regenerate.
	* po/Rules-swiss: use DISTFILES.common.extra2 and not
	DISTFILES.common.extra1.
	* util/devicemap.c: Removed.
	* grub-core/lib/i386/relocator_backward.S: Likewise.
	* util/import_gcry.py: Remove unused files. Add extra_dist for
	ChangeLog.
2012-02-28 12:58:57 +01:00
Vladimir 'phcoder' Serbinenko
cf1adfdff5 * grub-core/gettext/gettext.c (grub_mofile_open): Call
grub_gettext_delete_list before changing grub_gettext_max to avoid
	running out of array bounds.
2012-02-28 11:50:53 +01:00
Vladimir 'phcoder' Serbinenko
7acd2ae1fb * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
grub_vga_text_init/grub_vga_text_fini.
2012-02-28 11:12:32 +01:00
Vladimir 'phcoder' Serbinenko
629e6a3363 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification. 2012-02-28 11:02:19 +01:00
Vladimir 'phcoder' Serbinenko
541d92e912 * configure.ac: Bump to 2.00~beta0. 2012-02-28 04:28:40 +01:00
Vladimir 'phcoder' Serbinenko
7931dddfb8 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
missing initialisation.
2012-02-28 04:25:13 +01:00
Vladimir 'phcoder' Serbinenko
f1b16fa3e3 * grub-core/partmap/msdos.c (message_warn): Clarify messages. 2012-02-28 04:23:58 +01:00
Vladimir 'phcoder' Serbinenko
83ddae2333 Support v2 xnu boot arguments.
* grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
	New argument fsbfreq_out.
	(grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
	(grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
	be used.
	* grub-core/loader/machoXX.c (grub_macho_load): New argument
	darwin_version.
	* grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
	* include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
	(grub_xnu_boot_params): Rename to ...
	(grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
	(grub_xnu_boot_params_v2): New struct.
2012-02-28 04:04:19 +01:00
Vladimir 'phcoder' Serbinenko
dc693fe67c * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
zeroing of CRC field before computing CRC.
2012-02-28 03:59:08 +01:00
Vladimir 'phcoder' Serbinenko
5a6e39c28f * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
Change order of allocations to decrease fragmentation.
2012-02-28 01:32:38 +01:00
Vladimir 'phcoder' Serbinenko
6c21f5d7a1 * Makefile.util.def (grub-ofpathname): Enable on all platforms. 2012-02-27 22:48:29 +01:00
Colin Watson
cfe456dc03 Use write-combining MTRR to speed up video with buggy BIOSes.
* grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
	(cpuid): New define.
	(rdmsr): Likewise.
	(wrmsr): Likewise.
	(mtrr_base): Likewise.
	(mtrr_mask): Likewise.
	(grub_vbe_enable_mtrr_entry): New function.
	(grub_vbe_enable_mtrr): Likewise.
	(grub_vbe_disable_mtrr): Likewise.
	(grub_vbe_bios_set_display_start): Disable mtrr when handing the
	control off to BIOS.
	(grub_video_vbe_init): Fill mtrr.
	(grub_video_vbe_fini): Disable mtrr.
	(grub_video_vbe_get_info_and_fini): Likewise.
	(grub_video_vbe_setup): Enable mtrr.
2012-02-27 22:31:51 +01:00
Colin Watson
e3c78337c3 * include/grub/partition.h (grub_partition_map): Change prototype of
embed to take a maximum value for nsectors.
	* include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
	* include/grub/fs.h (grub_fs): Likewise.
	* grub-core/partmap/msdos.c (embed_signatures): New array.
	(pc_partition_map_embed): Check for and avoid sectors matching any
	of the signatures in embed_signatures, up to max_nsectors.
	* grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
	returned sector map to max_nsectors.
	* grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
	* grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
	* grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
	* util/grub-setup.c (setup): Allow for the embedding area being
	split into multiple blocklists.  Tell dest_partmap->embed the
	maximum number of sectors we care about.
2012-02-27 22:25:39 +01:00
Vladimir 'phcoder' Serbinenko
984b973ffc * util/grub-install.in: Clarify strings.
Fix source dir check.
2012-02-27 21:31:58 +01:00
Richard Laager
f122e0d648 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
"zfs" and "fuse.zfs" as synonyms.
2012-02-27 20:14:26 +01:00
Vladimir 'phcoder' Serbinenko
071114bb3e * configure.ac: Put platform and target_cpu substitutions back since
they are used for directories.
2012-02-27 19:10:02 +01:00
Richard Laager
817e6abcd0 * util/grub.d/10_linux.in: Add ZFS-related arguments.
* util/grub.d/20_linux_xen.in: Likewise.

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2012-02-27 19:07:09 +01:00
Richard Laager
897b741978 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
with full paths.
2012-02-27 17:42:48 +01:00
Richard Laager
a414bd1565 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
unescape.
2012-02-27 17:40:38 +01:00
Vladimir 'phcoder' Serbinenko
30ac48c452 Don't use insecure popen in getroot.
* util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
	(exec_pipe): ... here.
	(find_root_devices_from_poolname): Use exec_pipe.
2012-02-27 17:37:23 +01:00
Vladimir 'phcoder' Serbinenko
53f13848f1 Remove platform and target_cpu replacement.
* configure.ac: Remove platform and target_cpu substitutions.
	* tests/util/grub-shell.in: Use modinfo.
	* util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
	explicitly.
2012-02-27 16:46:52 +01:00
Vladimir 'phcoder' Serbinenko
90cb2803d4 Autodetect platform in grub-install but allow override.
* util/grub-install.in: Autodetect platform. Support --target and
	--directory. Read platform from modinfo.sh.
2012-02-27 16:06:18 +01:00
Vladimir 'phcoder' Serbinenko
b913642798 Support btrfs multi-volume probe.
* util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
	(btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
	(BTRFS_IOC_DEV_INFO) [__linux__]: New define.
	(BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
	(grub_find_root_devices_from_btrfs) [__linux__]: New function.
	(grub_find_root_devices_from_mountinfo) [__linux__]: Use
	grub_find_root_devices_from_btrfs if on btrfs.
2012-02-27 14:56:28 +01:00
Vladimir 'phcoder' Serbinenko
c36e5cd162 Remove any awareness of *.c util files about target.
* Makefile.util.def (grub-setup): Split to ...
	(grub-bios-setup): ... and this.
	(grub-sparc64-setup): ... and this.
	* configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
	* docs/man/grub-setup.h2m: Split into ...
	* docs/man/grub-sparc64-setup.h2m: ... this.
	* docs/man/grub-bios-setup.h2m: ... and this.
	* include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
	* include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
	(GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
	(grub_target_addr_t): Remove.
	(grub_target_size_t): Remove.
	(grub_target_ssize_t): Remove.
	* util/grub-install.in: Use new grub-*-setup.
	* util/grub-mkimagexx.c (Elf_Word): New define.
	(Elf_Half): Likewise.
	(Elf_Section): Likewise.
	(ELF_ST_TYPE): Likewise.
	* util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
	GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
2012-02-27 14:24:22 +01:00
Vladimir 'phcoder' Serbinenko
584b2f8a22 Replace grub_target_addr with more appropriate types.
* grub-core/commands/efi/fixvideo.c (scan_card): Replace
	grub_target_addr with grub_addr.
	* grub-core/commands/iorw.c (grub_cmd_read): Replace
	grub_target_addr with grub_port.
	(grub_cmd_write): Likewise.
	* grub-core/commands/memrw.c (grub_cmd_read): Replace
	grub_target_addr with grub_addr.
	(grub_cmd_write): Likewise.
	* grub-core/video/efi_uga.c (find_line_len): Likewise.
2012-02-27 14:13:24 +01:00
Vladimir 'phcoder' Serbinenko
5a0dc6fb2a * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
const qualifier for vendor_guid.
2012-02-27 14:09:09 +01:00
Vladimir 'phcoder' Serbinenko
786aff6e55 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
const qualifier.
	(efiemu_memequal): Likewise.
	(find_variable): Likewise.
2012-02-27 14:07:53 +01:00
Vladimir 'phcoder' Serbinenko
49017b1719 Fix missing console prototype on qemu-mips.
* include/grub/mips/qemu_mips/console.h: New file.
2012-02-27 14:06:33 +01:00
Matthew Garrett
c598862958 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
* include/grub/efi/efi.h: Likewise.
	* include/grub/efi/api.h: Add guid for EFI-specified variables.
	* include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
	* grub-core/normal/charset.c (grub_utf8_process): Move from here ...
	* include/grub/charset.h (grub_utf8_process): ... to here. Inline.
	* grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
	* include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
2012-02-27 12:02:57 +01:00
Matthew Garrett
e33f8d692f * include/grub/efi/pci.h: New file to define EFI PCI protocols. 2012-02-27 11:42:23 +01:00
Vladimir 'phcoder' Serbinenko
fb312cd9da * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
error.
2012-02-27 11:39:15 +01:00
Vladimir 'phcoder' Serbinenko
7134247cd8 * configure.ac: Remove inappropriate use of program_transform_name
on grubdir and bootdir but allow explicit specification of those
	variables.
2012-02-27 11:34:31 +01:00
Vladimir 'phcoder' Serbinenko
6a3131243a * util/grub-mknetdir.in (grub_prefix): Removed.
(subdir): Use @bootdirname@ and @grubdirname@.
2012-02-27 11:08:17 +01:00
Vladimir 'phcoder' Serbinenko
2311c5caa9 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir. 2012-02-27 11:04:50 +01:00
Vladimir 'phcoder' Serbinenko
7d5d60f7c8 * po/POTFILES.in: Regenerated. 2012-02-27 10:37:03 +01:00
Vladimir 'phcoder' Serbinenko
8151bc82f7 Remove improper use of program_transform_name on pkglibrootdir.
* configure.ac (pkglibrootdir): Removed.
	(grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
	* util/grub-mkimage.c: Likewise.
2012-02-27 10:35:37 +01:00
Vladimir 'phcoder' Serbinenko
b4a6a53310 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
warning.
2012-02-27 10:31:46 +01:00
Vladimir 'phcoder' Serbinenko
668f304f4d * util/grub-install.in: Use file identifier if no UUID is available
or user explicitly prompted for it.
2012-02-27 02:23:14 +01:00
Navdeep Parhar
665f2341f7 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
(freebsd_get_zfs): New function.
	(grub_freebsd_boot): Pass zfs UUID.
	(grub_cmd_freebsd): Set zfs UUID.
2012-02-27 02:02:16 +01:00
Vladimir 'phcoder' Serbinenko
1240a58afb * conf/Makefile.common (platformdir): Base on pkglibdir and not
pkglibrootdir.
2012-02-27 01:44:10 +01:00
Mike Gilbert
e4c498a106 Add configure flag to control libzfs integration.
* configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
2012-02-27 00:57:48 +01:00
Vladimir 'phcoder' Serbinenko
1e9a9a3faf * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
device.
	* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
	small devices.
2012-02-27 00:46:08 +01:00
Vladimir 'phcoder' Serbinenko
036985b8ce Remove grub_{modname}_init and grub_{modname}_fini. They should never
be used directly if it's really a module and GRUB_MOD_INIT shouldn't
	be used on non-modules.

	* grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
	Rename to grub_boot_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
	* grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
	* grub-core/font/font_cmd.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
	* grub-core/kern/mips/loongson/init.c: Replace explicit protos with
	includes.
	(grub_machine_init): Remove empty inits.
	* grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
	includes.
	(grub_machine_init): Remove empty inits.
	* grub-core/term/arc/console.c: Remove explicit proto.
	* grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
	grub_at_keyboard_fini.
	* grub-core/term/gfxterm.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
	grub_gfxterm_fini.
	* grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
	grub_vgatext_fini.
	* grub-core/term/ieee1275/console.c: Remove explicit proto.
	* grub-core/term/serial.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
	grub_serial_fini.
	* grub-core/term/terminfo.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
	grub_terminfo_fini.
	* grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
	(GRUB_MOD_FINI): Likewise.
	* grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
	[LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
	(GRUB_MOD_FINI) [LOONGSON]: Rename to
	grub_video_radeon_fuloong2e_fini.
	* grub-core/video/sis315pro.c (GRUB_MOD_INIT)
	[LOONGSON]: Rename to grub_video_sis315pro_init.
	(GRUB_MOD_FINI) [LOONGSON]: Rename to
	grub_video_sis315pro_fini.
	* grub-core/video/sm712.c (GRUB_MOD_INIT)
	[LOONGSON]: Rename to grub_video_sm712_init.
	(GRUB_MOD_FINI) [LOONGSON]: Rename to
	grub_video_sm712_fini.
	* include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
	(grub_at_keyboard_fini): Likewise.
	* include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
	Don't declare grub_{modname}_init.
	(GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
	* include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
	New proto.
	(grub_keylayouts_fini) [!EMU]: Likewise.
	* include/grub/serial.h (grub_serial_init) [!EMU]:
	New proto.
	(grub_serial_fini) [!EMU]: Likewise.
	* include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
	New proto.
	(grub_terminfo_fini) [!EMU]: Likewise.
	* include/grub/video.h (grub_font_init) [!EMU]:
	New proto.
	(grub_font_fini) [!EMU]: Likewise.
	(grub_gfxterm_init) [!EMU]: Likewise.
	(grub_gfxterm_fini) [!EMU]: Likewise.
	(grub_video_sm712_init) [!EMU]: Likewise.
	(grub_video_sm712_fini) [!EMU]: Likewise.
	(grub_video_sis315pro_init) [!EMU]: Likewise.
	(grub_video_sis315pro_fini) [!EMU]: Likewise.
	(grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
	(grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
2012-02-27 00:28:45 +01:00
Vladimir 'phcoder' Serbinenko
d5534665ff Make nand a prefix for nand devices.
* grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
2012-02-26 23:59:00 +01:00
Vladimir 'phcoder' Serbinenko
10133b5ff3 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
* include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
2012-02-26 23:55:18 +01:00
Vladimir 'phcoder' Serbinenko
8e307a625d * include/grub/env.h (grub_env_find): Remove prototype.
* grub-core/kern/env.c (grub_env_find): Make static.
	(grub_env_set): Remove useless set.
2012-02-26 23:53:21 +01:00
Vladimir 'phcoder' Serbinenko
a4c65f3441 * grub-core/kern/i386/realmode.S: Remove useless align. 2012-02-26 23:46:34 +01:00
Vladimir 'phcoder' Serbinenko
d87893d5dc * include/grub/dl.h (grub_dl_load_file): Don't export. 2012-02-26 23:44:39 +01:00
Vladimir 'phcoder' Serbinenko
50159add1e * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
grub_dprintf.
2012-02-26 23:39:21 +01:00
Vladimir 'phcoder' Serbinenko
b2582b84f2 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
grub_errors.
	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
	not reloading whole superblock but only the part which is really needed.
	Remove useless grub_errors.
	* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
	grub_errors.
2012-02-26 23:36:12 +01:00
Vladimir 'phcoder' Serbinenko
e2a833958e Don't export grub_get_rtc.
* include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
	* grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
2012-02-26 23:25:47 +01:00
Vladimir 'phcoder' Serbinenko
e7d2a906b0 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip. 2012-02-26 22:57:26 +01:00
Vladimir 'phcoder' Serbinenko
6cf1363b8f * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
argument since it can be deduced from diskfilter. All users updated.
2012-02-26 22:53:21 +01:00
Vladimir 'phcoder' Serbinenko
eece3349ea Remove prio_list.
* include/grub/list.h (grub_prio_list): Removed.
	(GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
	GRUB_COMMAND_PRIO_MASK.
	(GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
	GRUB_COMMAND_FLAG_ACTIVE.
	(grub_prio_list_insert): Removed.
	(grub_prio_list_remove): Likewise.
	(GRUB_AS_PRIO_LIST): Likewise.
	(GRUB_AS_PRIO_LIST_P): Likewise.
	* include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
	(GRUB_COMMAND_FLAG_ACTIVE): Likewise.
	* grub-core/kern/list.c (grub_prio_list_insert): Remove.
	* grub-core/kern/command.c (grub_register_command_prio): Inline
	the prio_list code.
	(grub_unregister_command): Likewise.
2012-02-26 22:49:24 +01:00
Vladimir 'phcoder' Serbinenko
94f064b4c9 Fix interrupt mixup from previous commit.
* include/grub/i386/pc/int.h (grub_i386_idt): New struct.
	(grub_realidt): New var.
	* grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
	Load idt.
	* grub-core/lib/i386/relocator.c (grub_relocator16_idt):
	New declaration.
	(grub_relocator16_boot): Set grub_relocator16_idt.
	* grub-core/kern/i386/realmode.S (realidt): Renamed to ...
	(LOCAL(realidt)): ... this.
	* grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
	* grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
	(grub_realidt): New variable.
2012-02-26 22:10:13 +01:00
Vladimir 'phcoder' Serbinenko
27317084c6 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
* grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
	* grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
	* grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
	Gettextize.
	* grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
	* grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
	* po/POTFILES.in: Regenerate.
2012-02-26 21:04:45 +01:00
Vladimir 'phcoder' Serbinenko
47b40053e0 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
errors.
2012-02-26 20:36:09 +01:00
Vladimir 'phcoder' Serbinenko
2b3431017d * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
\0.
	(add_length): Likewise.
2012-02-26 20:32:37 +01:00
Vladimir 'phcoder' Serbinenko
4cebfa1a87 GDB serial and backtrace support.
* grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
	(prot_to_real): Likewise.
	* grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
	* grub-core/Makefile.core.def (backtrace): New module.
	(gdb): Likewise.
	* grub-core/gdb/cstub.c: New file.
	* grub-core/gdb/gdb.c: Likewise.
	* grub-core/gdb/i386/idt.c: Likewise.
	* grub-core/gdb/i386/machdep.S: Likewise.
	* grub-core/gdb/i386/signal.c: Likewise.
	* grub-core/lib/i386/backtrace.c: Likewise.
	* grub-core/lib/backtrace.c: Likewise.
	* include/grub/backtrace.h: Likewise.
	* include/grub/gdb.h: Likewise.
	* include/grub/i386/gdb.h: Likewise.
2012-02-26 20:31:03 +01:00
Lubomir Kundrak
ff27c3dd5d GDB serial and backtrace support.
* grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
	(prot_to_real): Likewise.
	* grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
	* grub-core/Makefile.core.def (backtrace): New module.
	(gdb): Likewise.
	* grub-core/gdb/cstub.c: New file.
	* grub-core/gdb/gdb.c: Likewise.
	* grub-core/gdb/i386/idt.c: Likewise.
	* grub-core/gdb/i386/machdep.S: Likewise.
	* grub-core/gdb/i386/signal.c: Likewise.
	* grub-core/lib/i386/backtrace.c: Likewise.
	* include/grub/backtrace.h: Likewise.
	* include/grub/gdb.h: Likewise.
	* include/grub/i386/gdb.h: Likewise.

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2012-02-26 19:17:37 +01:00
Vladimir 'phcoder' Serbinenko
585031cb92 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
New function.
	(add_length): Likewise.
	(__argp_fmtstream_update): Handle strings with non-ASCII chars.
	* grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
	proto.
	* grub-core/gnulib/argp-help.c (argp_args_usage): Use
	__argp_get_display_len.
2012-02-26 19:07:59 +01:00
Vladimir 'phcoder' Serbinenko
7e8fac16ad $"..." support in scripts.
* grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
	GRUB_SCRIPT_ARG_TYPE_GETTEXT.
	* grub-core/script/yylex.l: Likewise.
	* include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
	value.
2012-02-26 19:02:46 +01:00
Vladimir 'phcoder' Serbinenko
15eff5d9c2 * gentpl.py: Remove obsolete pkglib_DATA handling. 2012-02-26 18:54:30 +01:00
Vladimir 'phcoder' Serbinenko
fc847818fc Don't transform PACKAGE_TARNAME following a discussion on autoconf
mailing list.

	* util/grub-install.in: Don't transform PACKAGE_TARNAME.
	* util/grub-kbdcomp.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mkconfig_lib.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2012-02-26 18:37:54 +01:00
Vladimir 'phcoder' Serbinenko
47454da510 Remove GRUB_PREFIX.
* util/grub-mkconfig.in: Remove GRUB_PREFIX.
	* util/grub.d/00_header.in: Compute prefix in the only place it's still
	used for backward compatibility.
2012-02-26 18:21:31 +01:00
Vladimir 'phcoder' Serbinenko
22c7ce85fe Add new all_video module.
* grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
	* grub-core/Makefile.core.def (all_video): New module.
	* grub-core/genmoddep.awk: Generate dependency of all_video from
	video.lst.
	* grub-core/lib/fake_module.c: New file.
	* grub-core/normal/main.c (features): Add feature_all_video_module.
	* util/grub.d/00_header.in: Define locale_dir based on $prefix and
	don't do explicit search again.
	insmod all_video in load_video if available.
2012-02-26 18:09:07 +01:00
Vladimir 'phcoder' Serbinenko
67093bc0ed Another round of string clarification and adding TRANSLATORS comments. 2012-02-26 17:28:05 +01:00
Vladimir 'phcoder' Serbinenko
ad7b7b8527 * util/grub-mknetdir.in: Remove erroneous reference to install_device. 2012-02-26 17:23:26 +01:00
Vladimir 'phcoder' Serbinenko
8b282ad222 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
to grub_ssize_t.
	* grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
	* include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
2012-02-26 17:20:30 +01:00
Vladimir 'phcoder' Serbinenko
d43ad75467 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
trailing newline implicitly. All users updated.
2012-02-26 17:16:05 +01:00
Vladimir 'phcoder' Serbinenko
a9c7fd1c6c Implement serial on IEEE1275 and EFI.
* docs/grub.texi (Platform-specific limitations): Fix the columen video
	on emu. Mention arc and emu as the only platforms without serial
	support.
	* grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
	ieee1275 platforms.
	* grub-core/term/efi/serial.c: New file.
	* grub-core/term/ieee1275/serial.c: Likewise.
	* grub-core/term/serial.c (grub_serial_find): Disable direct port
	specification if no ns8250 driver is available.
	(grub_cmd_serial): Likewise.
	(GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
	(GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
	* include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
	(grub_efi_parity_type_t): New type.
	(grub_efi_stop_bits_t): Likewise.
	(grub_efi_serial_io_interface): New struct.
	* include/grub/serial.h (grub_serial_port): Make 'broken' field
	available for all interfaces.
	Add EFI and IEEE1275 fields.
	(grub_ofserial_init): New proto.
	(grub_efiserial_init): Likeiwse.
	* util/grub.d/00_header.in: Don't check for the presence of serial
	module.
2012-02-26 17:08:11 +01:00
Vladimir 'phcoder' Serbinenko
0ec820904e * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
name as if it was an alias.
2012-02-26 16:51:25 +01:00
Vladimir 'phcoder' Serbinenko
114076ef63 * grub-core/commands/lsacpi.c (options): Fix typo. 2012-02-25 23:04:30 +01:00
Vladimir 'phcoder' Serbinenko
6a656b0ea5 Convert grub-emu to argp.
* grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
	emu.
	* util/argp_common.c: Rename to ...
	* grub-core/kern/emu/argp_common.c: ... this. All users updated.
	Add missing includes.
	* grub-core/kern/emu/main.c: Convert to argp.
	* po/POTFILES.in: Regenerate.
	* util/grub-install.in (usage): Make first letter lowcase in messages
	for uniformity.
	* util/grub-setup.c (options): Likewise.
2012-02-25 01:15:29 +01:00
Vladimir 'phcoder' Serbinenko
1e3f8ae86f * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
Put back accidently commented-out code.
2012-02-24 22:40:05 +01:00
Vladimir 'phcoder' Serbinenko
ed167a8027 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
loop check using Brent algorithm.
	(grub_hfsplus_btree_search): Likewise.
2012-02-24 22:28:45 +01:00
Vladimir 'phcoder' Serbinenko
6753c0ec3a * util/grub-install.in: Fix usage of wrong device for PreP install. 2012-02-24 12:35:38 +01:00
Vladimir 'phcoder' Serbinenko
4e27343fb0 * conf/Makefile.common (CFLAGS_GNULIB): Add
-Wno-unsafe-loop-optimizations.
	* configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
	on tools.
	* grub-core/commands/legacycfg.c: Add pragma to skip
	-Wunsafe-loop-optimizations.
	(check_password_md5_real): Fix loop counter type.
	* grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
	reading.
	* grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
	* grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
	loop condition.
	* grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
	* grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
	* grub-core/net/net.c (grub_net_route_address): Add safety loop
	condition.
	* grub-core/normal/charset.c (bidi_line_wrap): Likewise.
	* grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
	avoid possible infinite loops.
	* grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
	and -Wunsafe-loop-optimizations.
	* grub-core/script/yylex.l: Likewise.
	* util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
	(print_glyphs): Avoid infinite loops.
	* util/grub-mkimage.c (compress_kernel_xz): Fix format security.
2012-02-24 12:30:32 +01:00
Grégoire Sutre
697f18b067 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
to avoid infinite loop.
	(disp_acpi_rsdt_table): Likewise.
2012-02-24 11:48:07 +01:00
Vladimir 'phcoder' Serbinenko
274416e82f * grub-core/font/font.c (grub_font_load): Add support for default
path for fonts ($prefix/fonts).
	* grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
	for checking if string is a path.
	* grub-core/normal/main.c (features): Add feature_default_font_path.
	* util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
	* util/grub.d/00_header.in: Use default directory if possible.
	* util/grub-install.in: Install unicode.pf2.
2012-02-24 11:18:06 +01:00
Vladimir 'phcoder' Serbinenko
b3e0862255 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
* po/Rules-swiss: New file.
	* po/swiss.sed: Likewise.
2012-02-24 10:31:24 +01:00
Vladimir 'phcoder' Serbinenko
fe42ce0924 * grub-core/fs/btrfs.c (find_device): Fix typos.
* grub-core/fs/zfs/zfs.c (read_device): Likewise.
	* util/grub-mkrelpath.c (argp_parser): Likewise.
	Reported by: Yuri Chornoivan.
2012-02-23 22:27:25 +01:00
Dalet Omega
72f1d06552 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
for usual informative messages.
2012-02-23 17:30:19 +01:00
Dalet Omega
c588497385 Starfield theme.
* Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
	* conf/Makefile.common: Define starfielddir.
	* configure.ac: Configure starfield.
	* themes/starfield/COPYING.CC-BY-SA-3.0: New file.
	* themes/starfield/README: Likewise.
	* themes/starfield/blob_w.png: Likewise.
	* themes/starfield/boot_menu_c.png: Likewise.
	* themes/starfield/boot_menu_e.png: Likewise.
	* themes/starfield/boot_menu_n.png: Likewise.
	* themes/starfield/boot_menu_ne.png: Likewise.
	* themes/starfield/boot_menu_nw.png: Likewise.
	* themes/starfield/boot_menu_s.png: Likewise.
	* themes/starfield/boot_menu_se.png: Likewise.
	* themes/starfield/boot_menu_sw.png: Likewise.
	* themes/starfield/boot_menu_w.png: Likewise.
	* themes/starfield/slider_c.png: Likewise.
	* themes/starfield/slider_n.png: Likewise.
	* themes/starfield/slider_s.png: Likewise.
	* themes/starfield/src/blob_nw.xcf: Likewise.
	* themes/starfield/src/bootmenu/: Likewise.
	* themes/starfield/src/bootmenu/center.xcf: Likewise.
	* themes/starfield/src/bootmenu/corner.xcf: Likewise.
	* themes/starfield/src/bootmenu/side.xcf: Likewise.
	* themes/starfield/src/slider_c.xcf: Likewise.
	* themes/starfield/src/slider_n.xcf: Likewise.
	* themes/starfield/src/slider_s.xcf: Likewise.
	* themes/starfield/src/terminalbox/: Likewise.
	* themes/starfield/src/terminalbox/center.xcf: Likewise.
	* themes/starfield/src/terminalbox/corner.xcf: Likewise.
	* themes/starfield/src/terminalbox/side.xcf: Likewise.
	* themes/starfield/starfield.png: Likewise.
	* themes/starfield/terminal_box_c.png: Likewise.
	* themes/starfield/terminal_box_e.png: Likewise.
	* themes/starfield/terminal_box_n.png: Likewise.
	* themes/starfield/terminal_box_ne.png: Likewise.
	* themes/starfield/terminal_box_nw.png: Likewise.
	* themes/starfield/terminal_box_s.png: Likewise.
	* themes/starfield/terminal_box_se.png: Likewise.
	* themes/starfield/terminal_box_sw.png: Likewise.
	* themes/starfield/terminal_box_w.png: Likewise.
	* themes/starfield/theme.txt: Likewise.
2012-02-23 17:21:38 +01:00
Vladimir 'phcoder' Serbinenko
17d7332536 * util/grub.d/00_header.in: Add missing export theme. 2012-02-23 06:26:00 +01:00
Vladimir 'phcoder' Serbinenko
dbebaf9291 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
already included.
	Reported by: Eren D.
2012-02-22 16:50:14 +01:00
Vladimir 'phcoder' Serbinenko
3d68bffbb7 * conf/Makefile.common (grubdatadir): Removed.
(Makefile.am): Move eveything grubdata to pkgdata.
2012-02-22 16:27:39 +01:00
Vladimir 'phcoder' Serbinenko
4b59234df8 * grub-core/commands/acpihalt.c (get_sleep_type):
Remove unused variable.
2012-02-22 16:25:35 +01:00
Vladimir 'phcoder' Serbinenko
463dcadca3 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
	GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
	and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
	* grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
	i18n with gettext no-op.
	(skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
	GRUB_ACPI_OPCODE_STRING_CONST.
	(get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
	GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
2012-02-22 16:02:03 +01:00
Vladimir 'phcoder' Serbinenko
e5b90c82fe * po/POTFILES.in: Regenerate. 2012-02-22 05:50:36 +01:00
Vladimir 'phcoder' Serbinenko
2a704ca926 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
-Wno-error=missing-noreturn.
2012-02-22 05:37:32 +01:00
Vladimir 'phcoder' Serbinenko
84f9d341b0 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
condition to avoid possibly infinite loops.
	* grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
	* grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
2012-02-22 05:22:39 +01:00
Vladimir 'phcoder' Serbinenko
d46683f97a * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
condition to avoid possibly infinite loops.
2012-02-22 05:19:11 +01:00