]> git.proxmox.com Git - grub2.git/log
grub2.git
12 years ago * grub-core/term/efi/serial.c: Support 1.5 stop bits.
Vladimir 'phcoder' Serbinenko [Mon, 2 Jul 2012 09:30:04 +0000 (11:30 +0200)]
* grub-core/term/efi/serial.c: Support 1.5 stop bits.

12 years ago * grub-core/fs/ext2.c: Experimental support for 64-bit.
Vladimir 'phcoder' Serbinenko [Mon, 2 Jul 2012 09:28:42 +0000 (11:28 +0200)]
* grub-core/fs/ext2.c: Experimental support for 64-bit.

12 years ago * grub-core/net/tftp.c (ack): Fix endianness problem.
Vladimir 'phcoder' Serbinenko [Mon, 2 Jul 2012 09:22:50 +0000 (11:22 +0200)]
* grub-core/net/tftp.c (ack): Fix endianness problem.
(tftp_receive): Likewise.
Reported by: Michael Davidsaver.

12 years ago * gentpl.py: Make mans depend on grub-mkconfig_lib.
Vladimir 'phcoder' Serbinenko [Mon, 2 Jul 2012 09:20:51 +0000 (11:20 +0200)]
* gentpl.py: Make mans depend on grub-mkconfig_lib.

12 years ago * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
Vladimir 'phcoder' Serbinenko [Mon, 2 Jul 2012 09:19:22 +0000 (11:19 +0200)]
* include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
* include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
* grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.

12 years ago * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
Vladimir 'phcoder' Serbinenko [Mon, 2 Jul 2012 09:14:37 +0000 (11:14 +0200)]
* grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
efi_mmap_size.
Reported by: Stuart Hayes.

12 years agomissing file from last commit
Vladimir 'phcoder' Serbinenko [Thu, 28 Jun 2012 13:36:48 +0000 (15:36 +0200)]
missing file from last commit

12 years ago Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
Vladimir 'phcoder' Serbinenko [Thu, 28 Jun 2012 13:27:54 +0000 (15:27 +0200)]
Add monochrome text support (mda_text, aka `hercules' in grub-legacy).

* grub-core/Makefile.core.def (mda_text): New module.
* grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
* grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
* grub-core/term/i386/pc/vga_text.c (cur_color): ... here
* grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
here.
* grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
* grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
* grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
here.
* grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
to ..
* grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
... here
* grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
here.
* grub-core/term/i386/vga_common.c: Removed.
* include/grub/i386/vga_common.h: Likewise.
* include/grub/vga.h (grub_vga_cr_bw_write): New function.
(grub_vga_cr_bw_read): Likewise.
* include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
(GRUB_VGA_IO_CR_BW_DATA): Likewise.
* grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
grub_vga_cr_read/grub_vga_cr_write.
(grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.

12 years ago * configure.ac: Bump version to 2.00.
Vladimir 'phcoder' Serbinenko [Thu, 28 Jun 2012 00:06:36 +0000 (02:06 +0200)]
* configure.ac: Bump version to 2.00.
* grub-core/normal/main.c (features): Add feature_200_final.

12 years ago * NEWS: Fix unclarity and language mistakes.
Vladimir 'phcoder' Serbinenko [Wed, 27 Jun 2012 21:37:20 +0000 (23:37 +0200)]
* NEWS: Fix unclarity and language mistakes.

12 years ago * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
Vladimir 'phcoder' Serbinenko [Wed, 27 Jun 2012 20:55:09 +0000 (22:55 +0200)]
* grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
additional size to 3 pages.
Reported by: Stuart Hayes.

12 years ago * NEWS: Add 2.00 entry.
Vladimir 'phcoder' Serbinenko [Wed, 27 Jun 2012 20:28:32 +0000 (22:28 +0200)]
* NEWS: Add 2.00 entry.

12 years ago * grub-core/commands/wildcard.c (check_file): Fix bad logic.
Vladimir 'phcoder' Serbinenko [Wed, 27 Jun 2012 19:13:06 +0000 (21:13 +0200)]
* grub-core/commands/wildcard.c (check_file): Fix bad logic.
put explicit "/" for empty path.
(wildcard_expand): Improve dprintf.

12 years ago * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
Vladimir 'phcoder' Serbinenko [Wed, 27 Jun 2012 17:37:40 +0000 (19:37 +0200)]
* grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
it's equal to currnode. This can happen with "" symlink.

12 years ago * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
Yves Blusseau [Wed, 27 Jun 2012 09:22:43 +0000 (11:22 +0200)]
* util/grub-mkconfig_lib.in: Fix print messages replacing builtin
    echo shell command by printf command.

12 years ago * grub-core/term/arc/console.c (grub_console_init_output): Add one since
Vladimir 'phcoder' Serbinenko [Tue, 26 Jun 2012 21:34:32 +0000 (23:34 +0200)]
* grub-core/term/arc/console.c (grub_console_init_output): Add one since
the value returned by firmware is the maximal position, not diumension.
(grub_terminfo_output_state): Use a more sane fallback.

12 years ago * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
Vladimir 'phcoder' Serbinenko [Tue, 26 Jun 2012 21:32:00 +0000 (23:32 +0200)]
* grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.

12 years ago * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
Vladimir 'phcoder' Serbinenko [Tue, 26 Jun 2012 21:28:23 +0000 (23:28 +0200)]
* grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
frequency to 150 MHz.

12 years ago Apple fixes.
Vladimir 'phcoder' Serbinenko [Tue, 26 Jun 2012 12:56:28 +0000 (14:56 +0200)]
Apple fixes.

* grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
__APPLE_
* grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
definition.
* grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.

12 years ago Handle slash in HFS label.
Vladimir 'phcoder' Serbinenko [Tue, 26 Jun 2012 12:53:35 +0000 (14:53 +0200)]
Handle slash in HFS label.

* grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
(grub_hfs_dir): Tanslate slash.
(grub_hfs_label): Don't translate slash.

12 years ago * grub-core/commands/ls.c (grub_ls_list_devices): Disable
Vladimir 'phcoder' Serbinenko [Tue, 26 Jun 2012 01:45:46 +0000 (03:45 +0200)]
* grub-core/commands/ls.c (grub_ls_list_devices): Disable
network protocol listing since it introduces problematic dependency on
net module.

12 years ago * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
Vladimir 'phcoder' Serbinenko [Tue, 26 Jun 2012 01:38:10 +0000 (03:38 +0200)]
* util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.

12 years ago Init video early on yeeloong to avoid being rebooted by watchdog.
Vladimir 'phcoder' Serbinenko [Tue, 26 Jun 2012 01:36:14 +0000 (03:36 +0200)]
Init video early on yeeloong to avoid being rebooted by watchdog.

* grub-core/Makefile.am (gensm712): New target.
(sm712_start.S): Likewise.
(boot/mips/loongson/fwstart.S): Depend on sm712_start.S
* grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
* grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
description.
* include/grub/vga.h: Move registry definitions to...
* include/grub/vgaregs.h: ... here.

12 years ago * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
Vladimir 'phcoder' Serbinenko [Tue, 26 Jun 2012 01:31:41 +0000 (03:31 +0200)]
* grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
signedness.

12 years ago * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
Vladimir 'phcoder' Serbinenko [Mon, 25 Jun 2012 17:32:22 +0000 (19:32 +0200)]
* util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
platforms with firmware disk drivers in the core.

12 years ago * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
Vladimir 'phcoder' Serbinenko [Mon, 25 Jun 2012 15:54:46 +0000 (17:54 +0200)]
* grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
informative verbose message.
(read_lv): Handle 64-bit segment size.

12 years ago * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
Vladimir 'phcoder' Serbinenko [Mon, 25 Jun 2012 15:52:20 +0000 (17:52 +0200)]
* grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.

12 years ago * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
Vladimir 'phcoder' Serbinenko [Mon, 25 Jun 2012 15:47:52 +0000 (17:47 +0200)]
* grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
character but still remove trainling spaces.
(grub_fat_label): Ignore archive flag.

12 years ago * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
Vladimir 'phcoder' Serbinenko [Mon, 25 Jun 2012 15:44:36 +0000 (17:44 +0200)]
* grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
cast between linux_kernel_header and linux_kernel_params.

12 years ago * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
Vladimir 'phcoder' Serbinenko [Mon, 25 Jun 2012 15:36:50 +0000 (17:36 +0200)]
* include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
type for size.
(grub_raid6_recover_func_t): Likewise.
* grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
* grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.

12 years ago * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
Vladimir 'phcoder' Serbinenko [Mon, 25 Jun 2012 10:36:50 +0000 (12:36 +0200)]
* util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.

12 years agoFix overflow in grub_util_get_fd_size for NetBSD.
Grégoire Sutre [Mon, 25 Jun 2012 08:09:57 +0000 (10:09 +0200)]
Fix overflow in grub_util_get_fd_size for NetBSD.

12 years ago * configure.ac: Bump to 2.00~rc1.
Vladimir 'phcoder' Serbinenko [Sat, 23 Jun 2012 20:56:19 +0000 (22:56 +0200)]
* configure.ac: Bump to 2.00~rc1.

12 years ago * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
Vladimir 'phcoder' Serbinenko [Sat, 23 Jun 2012 09:27:27 +0000 (11:27 +0200)]
* grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
half of $a0.

12 years ago * docs/grub.texi: Fix search syntax.
Vladimir 'phcoder' Serbinenko [Sat, 23 Jun 2012 08:55:14 +0000 (10:55 +0200)]
* docs/grub.texi: Fix search syntax.
(Multi-boot manual config): Put msdos rather than GPT example.
Grammar corrections.

12 years ago * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 22:55:25 +0000 (00:55 +0200)]
* docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.

12 years ago * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 22:39:10 +0000 (00:39 +0200)]
* grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.

12 years ago * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 21:54:43 +0000 (23:54 +0200)]
* grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
message on double free. Put the value of magic in case of mismatch.

12 years ago Speed-up video on yeeloong.
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 21:47:34 +0000 (23:47 +0200)]
Speed-up video on yeeloong.

* grub-core/video/sm712.c (framebuffer): Remove render_target and
add cached_ptr.
(grub_video_sm712_video_fini): Unmap cached_ptr.
(grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
(grub_video_sm712_set_active_render_target): Removed.
(grub_video_adapter): Use grub_video_fb_set_active_render_target.
(grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
sync caches.

12 years ago Avoid flushing the same line multiple times on loongson.
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 21:36:33 +0000 (23:36 +0200)]
Avoid flushing the same line multiple times on loongson.

* grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
Step in 32 bytes and not 1 byte.
* grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
Likewise.

12 years ago * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 20:11:23 +0000 (22:11 +0200)]
* util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
subvolumes.

12 years ago Implement flow control for http.
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 20:09:31 +0000 (22:09 +0200)]
Implement flow control for http.

* grub-core/net/http.c (parse_line): Handle response 206.
(http_receive): Stall if too many packets are in the queue.
(http_establish): Fix range header.
(http_seek): Fix double free.
(http_close): Likewise.
(http_packets_pulled): New function.
(grub_http_protocol): Set http_seek
* grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
(ack_real): Set window depending on i_stall.
(grub_net_send_tcp_packet): Likewise.
(grub_net_tcp_stall): New function.
(grub_net_tcp_unstall): Likewise.
* include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
(grub_net_tcp_unstall): Likewise.

12 years ago * grub-core/net/tftp.c: Decrease stall to 50 packets.
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 20:04:16 +0000 (22:04 +0200)]
* grub-core/net/tftp.c: Decrease stall to 50 packets.

12 years ago * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 20:02:47 +0000 (22:02 +0200)]
* grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.

12 years ago * tests/util/grub-shell.in: Fix a typo.
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 19:59:10 +0000 (21:59 +0200)]
* tests/util/grub-shell.in: Fix a typo.

12 years ago Implement flow control for tftp.
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 12:17:46 +0000 (14:17 +0200)]
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'.

12 years ago * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 10:42:31 +0000 (12:42 +0200)]
* grub-core/net/net.c (receive_packets): Stop after 100 packets to let
sync part to handle them.

12 years ago * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
Vladimir 'phcoder' Serbinenko [Fri, 22 Jun 2012 09:51:48 +0000 (11:51 +0200)]
* 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.

12 years ago * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
Vladimir 'phcoder' Serbinenko [Thu, 21 Jun 2012 20:20:57 +0000 (22:20 +0200)]
* grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
the direct route for server/gateway.

12 years ago * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
Vladimir 'phcoder' Serbinenko [Thu, 21 Jun 2012 20:15:10 +0000 (22:15 +0200)]
* grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
IP address to server name since we may not hame the DNS.

12 years ago * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
Vladimir 'phcoder' Serbinenko [Thu, 21 Jun 2012 20:11:47 +0000 (22:11 +0200)]
* 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.

12 years ago * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
Vladimir 'phcoder' Serbinenko [Thu, 21 Jun 2012 20:08:33 +0000 (22:08 +0200)]
* grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.

12 years ago * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
Vladimir 'phcoder' Serbinenko [Thu, 21 Jun 2012 20:05:41 +0000 (22:05 +0200)]
* 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.

12 years ago * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
Vladimir 'phcoder' Serbinenko [Thu, 21 Jun 2012 20:02:09 +0000 (22:02 +0200)]
* grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
blocks.

12 years ago * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
Vladimir 'phcoder' Serbinenko [Thu, 21 Jun 2012 19:59:52 +0000 (21:59 +0200)]
* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
increment.

12 years ago * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
Vladimir 'phcoder' Serbinenko [Wed, 20 Jun 2012 22:14:51 +0000 (00:14 +0200)]
* grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
none is explicitly specified.

12 years ago * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
Vladimir 'phcoder' Serbinenko [Wed, 20 Jun 2012 21:51:56 +0000 (23:51 +0200)]
* grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
while reallocating.

12 years ago Respect netmask from bootp/dhcp.
Vladimir 'phcoder' Serbinenko [Wed, 20 Jun 2012 21:46:50 +0000 (23:46 +0200)]
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.

12 years ago * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
Vladimir 'phcoder' Serbinenko [Wed, 20 Jun 2012 21:39:33 +0000 (23:39 +0200)]
* grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
determining EFI memory map size.

12 years ago * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
Vladimir 'phcoder' Serbinenko [Wed, 20 Jun 2012 21:37:24 +0000 (23:37 +0200)]
* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.

12 years ago * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
Vladimir 'phcoder' Serbinenko [Wed, 20 Jun 2012 21:33:34 +0000 (23:33 +0200)]
* grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
when looking for partition separator.

12 years ago * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
Vladimir 'phcoder' Serbinenko [Wed, 20 Jun 2012 21:31:59 +0000 (23:31 +0200)]
* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
Escape commas.

12 years ago Restructure FAT driver to avoid hook in label reading as it hits a
Vladimir 'phcoder' Serbinenko [Wed, 20 Jun 2012 21:29:28 +0000 (23:29 +0200)]
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.

12 years ago * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
Vladimir 'phcoder' Serbinenko [Wed, 20 Jun 2012 20:19:26 +0000 (22:19 +0200)]
* 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.

12 years ago Avoid unnecessary memcpy of whole video buffer.
Vladimir 'phcoder' Serbinenko [Tue, 19 Jun 2012 17:34:51 +0000 (19:34 +0200)]
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.

12 years ago * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
Vladimir 'phcoder' Serbinenko [Tue, 19 Jun 2012 13:44:51 +0000 (15:44 +0200)]
* grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
poll rate.

12 years ago Fix wildcard regexp dot and other special characters handling.
Vladimir 'phcoder' Serbinenko [Tue, 19 Jun 2012 12:13:19 +0000 (14:13 +0200)]
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.

12 years ago * include/grub/net.h (grub_net_card): New member txbufsize.
Vladimir 'phcoder' Serbinenko [Tue, 19 Jun 2012 09:34:52 +0000 (11:34 +0200)]
* 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.

12 years ago * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
Vladimir 'phcoder' Serbinenko [Tue, 19 Jun 2012 09:25:37 +0000 (11:25 +0200)]
* grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
presence check.
(grub_ieee1275_net_config_real): Fix config pointer.

12 years ago * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
Vladimir 'phcoder' Serbinenko [Tue, 19 Jun 2012 09:23:13 +0000 (11:23 +0200)]
* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
filename parsing to non-block devices.

12 years ago * grub-core/kern/device.c (grub_device_open): Remove dead code.
Vladimir 'phcoder' Serbinenko [Tue, 19 Jun 2012 09:20:34 +0000 (11:20 +0200)]
* grub-core/kern/device.c (grub_device_open): Remove dead code.

12 years ago * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
Vladimir 'phcoder' Serbinenko [Mon, 18 Jun 2012 19:09:57 +0000 (21:09 +0200)]
* include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
All users updated.

12 years ago * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
Vladimir 'phcoder' Serbinenko [Mon, 18 Jun 2012 19:07:26 +0000 (21:07 +0200)]
* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
UUID search command even if hints probing failed.

12 years ago * po/POTFILES.in: Regenerated.
Vladimir 'phcoder' Serbinenko [Mon, 18 Jun 2012 19:05:08 +0000 (21:05 +0200)]
* po/POTFILES.in: Regenerated.

12 years ago Speed-up video on fuloong.
Vladimir 'phcoder' Serbinenko [Sat, 16 Jun 2012 23:09:32 +0000 (01:09 +0200)]
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.

12 years ago * docs/grub.texi (Multi-boot manual config): New section.
Vladimir 'phcoder' Serbinenko [Fri, 15 Jun 2012 22:32:59 +0000 (00:32 +0200)]
* docs/grub.texi (Multi-boot manual config): New section.

12 years ago Avoid slow read-back from VRAM.
Vladimir 'phcoder' Serbinenko [Fri, 15 Jun 2012 21:57:20 +0000 (23:57 +0200)]
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.

12 years ago * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
Vladimir 'phcoder' Serbinenko [Fri, 15 Jun 2012 21:42:34 +0000 (23:42 +0200)]
* grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
gzio.

12 years ago Add loongson tests.
Vladimir 'phcoder' Serbinenko [Fri, 15 Jun 2012 17:42:25 +0000 (19:42 +0200)]
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.

12 years ago * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
Vladimir 'phcoder' Serbinenko [Fri, 15 Jun 2012 17:36:10 +0000 (19:36 +0200)]
* 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.

12 years ago * Makefile.util.def (grub-mkrescue): Enable on loongson.
Vladimir 'phcoder' Serbinenko [Fri, 15 Jun 2012 16:35:11 +0000 (18:35 +0200)]
* Makefile.util.def (grub-mkrescue): Enable on loongson.
* util/grub-mkrescue.in: Handle loongson.

12 years ago * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
Vladimir 'phcoder' Serbinenko [Thu, 14 Jun 2012 17:16:30 +0000 (19:16 +0200)]
* 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.

12 years ago Revert usb-quiesce since it's wrong.
Vladimir 'phcoder' Serbinenko [Wed, 13 Jun 2012 20:44:45 +0000 (22:44 +0200)]
Revert usb-quiesce since it's wrong.

* grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
(grub_ofdisk_init): Don't do quiesce.

12 years ago * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
Vladimir 'phcoder' Serbinenko [Tue, 12 Jun 2012 23:38:40 +0000 (01:38 +0200)]
* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
PowerMac workaround to Xserves as well.
Information supplied by: Benjamin Herrenschmidt.

12 years ago Don't assume that beginning address is also the entry point on ppc.
Vladimir 'phcoder' Serbinenko [Tue, 12 Jun 2012 23:15:15 +0000 (01:15 +0200)]
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.

12 years ago * util/grub-install.in: Fix cross-disk check on non-PreP machines.
Vladimir 'phcoder' Serbinenko [Tue, 12 Jun 2012 23:09:36 +0000 (01:09 +0200)]
* util/grub-install.in: Fix cross-disk check on non-PreP machines.

12 years ago * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
Vladimir 'phcoder' Serbinenko [Tue, 12 Jun 2012 23:06:35 +0000 (01:06 +0200)]
* grub-core/term/ieee1275/console.c (grub_console_fini): Don't
needlessly lose the console.

12 years ago * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
Vladimir 'phcoder' Serbinenko [Tue, 12 Jun 2012 23:04:14 +0000 (01:04 +0200)]
* grub-core/normal/dyncmd.c (read_command_list): Don't access freed
space.

12 years ago Remove non-functional EFI grub_get_rtc. Put a better fatal message
Vladimir 'phcoder' Serbinenko [Mon, 11 Jun 2012 18:44:38 +0000 (20:44 +0200)]
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.

12 years ago Remove dor on i and j when combining with above diacritics.
Vladimir 'phcoder' Serbinenko [Sun, 10 Jun 2012 22:20:55 +0000 (00:20 +0200)]
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.

12 years ago * tests/grub_script_expansion.in: Explicitly tell grep that we handle
Vladimir 'phcoder' Serbinenko [Sat, 9 Jun 2012 17:58:38 +0000 (19:58 +0200)]
* tests/grub_script_expansion.in: Explicitly tell grep that we handle
text and not binary.

12 years ago Stop polling as soon as we have the packet we were waiting for.
Vladimir 'phcoder' Serbinenko [Sat, 9 Jun 2012 09:06:55 +0000 (11:06 +0200)]
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.

12 years ago Keep TX and RX buffers on EFI rather than always allocate new ones.
Vladimir 'phcoder' Serbinenko [Sat, 9 Jun 2012 09:00:18 +0000 (11:00 +0200)]
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.

12 years ago * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
Vladimir 'phcoder' Serbinenko [Sat, 9 Jun 2012 08:55:02 +0000 (10:55 +0200)]
* grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
compilation error on sparc64.

12 years ago Use ITC on IA64 rather than broken routine based on daytime.
Vladimir 'phcoder' Serbinenko [Sat, 9 Jun 2012 08:52:39 +0000 (10:52 +0200)]
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.

12 years ago * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
Vladimir 'phcoder' Serbinenko [Sat, 9 Jun 2012 08:43:24 +0000 (10:43 +0200)]
* 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.

12 years ago * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
Vladimir 'phcoder' Serbinenko [Fri, 8 Jun 2012 21:02:37 +0000 (23:02 +0200)]
* tests/partmap_test.in: Skip on ppc due to serious firmware bug.

12 years ago Fix wildcard escaping.
Vladimir 'phcoder' Serbinenko [Fri, 8 Jun 2012 20:54:21 +0000 (22:54 +0200)]
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.

12 years ago * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
Vladimir 'phcoder' Serbinenko [Fri, 8 Jun 2012 18:40:40 +0000 (20:40 +0200)]
* 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.

12 years ago * Makefile.am: Add ppc linux bootcheck.
Vladimir 'phcoder' Serbinenko [Fri, 8 Jun 2012 18:35:54 +0000 (20:35 +0200)]
* Makefile.am: Add ppc linux bootcheck.
* grub-core/tests/boot/linux-ppc.cfg: New file.
* grub-core/tests/boot/linux.init-ppc.S: Likewise.