Vladimir 'phcoder' Serbinenko
f923ad22ce
* grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
...
additional size to 3 pages.
Reported by: Stuart Hayes.
2012-06-27 22:55:09 +02:00
Vladimir 'phcoder' Serbinenko
58eee08fff
* grub-core/commands/wildcard.c (check_file): Fix bad logic.
...
put explicit "/" for empty path.
(wildcard_expand): Improve dprintf.
2012-06-27 21:13:06 +02:00
Vladimir 'phcoder' Serbinenko
c59bdff709
* grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
...
it's equal to currnode. This can happen with "" symlink.
2012-06-27 19:37:40 +02:00
Vladimir 'phcoder' Serbinenko
73a68bcb3a
* 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.
2012-06-26 23:34:32 +02:00
Vladimir 'phcoder' Serbinenko
392a603b67
* grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
2012-06-26 23:32:00 +02:00
Vladimir 'phcoder' Serbinenko
42d0867ff7
* grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
...
frequency to 150 MHz.
2012-06-26 23:28:23 +02:00
Vladimir 'phcoder' Serbinenko
489509f40e
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.
2012-06-26 14:56:28 +02:00
Vladimir 'phcoder' Serbinenko
9f3fc8835f
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.
2012-06-26 14:53:35 +02:00
Vladimir 'phcoder' Serbinenko
54853fd72e
* grub-core/commands/ls.c (grub_ls_list_devices): Disable
...
network protocol listing since it introduces problematic dependency on
net module.
2012-06-26 03:45:46 +02:00
Vladimir 'phcoder' Serbinenko
c50c867da3
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.
2012-06-26 03:36:14 +02:00
Vladimir 'phcoder' Serbinenko
5f92c8a110
* grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
...
signedness.
2012-06-26 03:31:41 +02:00
Vladimir 'phcoder' Serbinenko
754ad9ebbe
* grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
...
informative verbose message.
(read_lv): Handle 64-bit segment size.
2012-06-25 17:54:46 +02:00
Vladimir 'phcoder' Serbinenko
315654c269
* grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
2012-06-25 17:52:20 +02:00
Vladimir 'phcoder' Serbinenko
fb022c79ef
* 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.
2012-06-25 17:47:52 +02:00
Vladimir 'phcoder' Serbinenko
8645f72c72
* grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
...
cast between linux_kernel_header and linux_kernel_params.
2012-06-25 17:44:36 +02:00
Vladimir 'phcoder' Serbinenko
36498496a0
* 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.
2012-06-25 17:36:50 +02:00
Grégoire Sutre
650cfcfea2
Fix overflow in grub_util_get_fd_size for NetBSD.
2012-06-25 10:09:57 +02:00
Vladimir 'phcoder' Serbinenko
2fb97ed37a
* grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
...
half of $a0.
2012-06-23 11:27:27 +02:00
Vladimir 'phcoder' Serbinenko
0f92dca7ef
* grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
2012-06-23 00:39:10 +02:00
Vladimir 'phcoder' Serbinenko
3988c4a09f
* 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.
2012-06-22 23:54:43 +02:00
Vladimir 'phcoder' Serbinenko
9e86d4c59a
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.
2012-06-22 23:47:34 +02:00
Vladimir 'phcoder' Serbinenko
ed24c31201
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.
2012-06-22 23:36:33 +02:00
Vladimir 'phcoder' Serbinenko
982f1909cf
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.
2012-06-22 22:09:31 +02:00
Vladimir 'phcoder' Serbinenko
bd407d6e5e
* grub-core/net/tftp.c: Decrease stall to 50 packets.
2012-06-22 22:04:16 +02:00
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
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