1 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
5 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
9 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
10 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
11 Handle malloc error correctly.
13 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
15 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
20 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
23 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
26 none is explicitly specified.
28 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
30 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
33 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35 Respect netmask from bootp/dhcp.
37 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
38 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
39 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
41 (grub_net_add_ipv4_local): ... this.
42 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
43 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
44 (grub_net_add_ipv4_local): New proto.
46 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
48 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
49 determining EFI memory map size.
51 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
53 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
55 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
57 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
58 when looking for partition separator.
60 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
62 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
65 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
67 Restructure FAT driver to avoid hook in label reading as it hits a
70 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
71 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
72 (grub_fat_iterate_dir): Split into ...
73 (grub_fat_iterate_init): ... this, ...
74 (grub_fat_iterate_fini): ... this, ...
75 (grub_fat_iterate_dir_next): ... and this. All users updated.
77 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
79 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
80 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
81 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
82 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
83 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
84 New fields last_key and last_key_time.
85 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
86 extended key-esc into extended key-extended key.
88 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
90 Avoid unnecessary memcpy of whole video buffer.
92 * grub-core/video/fb/video_fb.c (dirty): New struct.
93 (framebuffer): Add members current_dirty and previous_dirty.
94 (dirty): New function.
95 (grub_video_fb_fill_rect): Update dirty.
96 (common_blitter): Likewise.
97 (grub_video_fb_scroll): Likewise.
98 (doublebuf_blit_update_screen): Copy only dirty part.
99 (doublebuf_pageflipping_update_screen): Likewise.
100 (grub_video_fb_doublebuf_blit_init): Init dirty.
101 (doublebuf_pageflipping_init): Likewise.
102 (grub_video_fb_setup): Likewise.
104 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
106 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
109 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
111 Fix wildcard regexp dot and other special characters handling.
112 Reported by: Robert Mabee.
114 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
115 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
116 (split_path): Trigger expansion on '?'.
117 (unescape): New function.
118 (wildcard_expand): Unescape parts copied without globbing.
119 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
120 (grub_script_arglist_to_argv): Don't unescape expansions.
122 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
124 * include/grub/net.h (grub_net_card): New member txbufsize.
125 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
126 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
127 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
128 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
130 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
131 compatible property to check for macs. Set
132 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
133 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
134 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
135 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
136 (send_card_buffer): Use txbuf.
137 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
138 nested function out of the parent while on it.
140 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
142 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
144 (grub_ieee1275_net_config_real): Fix config pointer.
146 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
148 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
149 filename parsing to non-block devices.
151 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
153 * grub-core/kern/device.c (grub_device_open): Remove dead code.
155 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
157 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
160 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
162 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
163 UUID search command even if hints probing failed.
165 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
167 * po/POTFILES.in: Regenerated.
169 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
171 Speed-up video on fuloong.
173 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
175 (grub_pci_device_unmap_range): Handle non-cached address.
176 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
178 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
179 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
180 (grub_video_sis315pro_set_active_render_target): Removed.
181 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
182 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
183 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
185 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
188 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
190 * docs/grub.texi (Multi-boot manual config): New section.
192 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
194 Avoid slow read-back from VRAM.
196 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
198 * grub-core/video/fb/video_fb.c
199 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
200 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
201 (front_target): Remove front_target. Add pages.
202 (grub_video_fb_init): Skip setting front_pages.
203 (grub_video_fb_fini): Likewise.
204 (doublebuf_blit_update_screen): Use pages.
205 (grub_video_fb_doublebuf_blit_init): Likewise.
206 (doublebuf_pageflipping_init): Allocate offscreen buffer.
207 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
208 (grub_video_fb_setup): Prefer doublebuffing.
210 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
212 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
215 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
219 * tests/util/grub-shell.in: Handle loongson.
220 * tests/partmap_test.in: Add loongson to the list of platform using ATA
222 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
223 Reboot instead of shutdown if REBOOT is defined.
225 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
227 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
228 sized ports since unlike on real hardware qemu supports only 32-bit
231 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
233 * Makefile.util.def (grub-mkrescue): Enable on loongson.
234 * util/grub-mkrescue.in: Handle loongson.
236 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
238 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
239 Set is_part appropriately.
240 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
241 names. Canonicalize partition without full disk.
243 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
245 Revert usb-quiesce since it's wrong.
247 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
248 (grub_ofdisk_init): Don't do quiesce.
250 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
252 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
253 PowerMac workaround to Xserves as well.
254 Information supplied by: Benjamin Herrenschmidt.
256 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
258 Don't assume that beginning address is also the entry point on ppc.
260 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
261 (grub_linux_boot): Use linux_entry.
262 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
263 (grub_linux_load64): Likewise.
265 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
267 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
269 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
271 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
272 needlessly lose the console.
274 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
276 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
279 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
281 Remove non-functional EFI grub_get_rtc. Put a better fatal message
282 than current grub_get_rtc() not implemented when booted with
283 coreboot without TSC.
285 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
286 Add machine/time.h to kernel headers on loongson.
287 * grub-core/Makefile.core.def (kernel): Remove
288 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
289 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
290 (grub_get_rtc): Likewise.
291 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
292 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
293 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
294 * grub-core/kern/i386/tsc.c (grub_tsc_init)
295 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
296 rather than installing known non-working time source.
297 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
298 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
299 * include/grub/time.h: Don't include machine/time.h.
300 * include/grub/efi/time.h: Removed.
301 * include/grub/i386/efi/time.h: Likewise.
302 * include/grub/i386/ieee1275/time.h: Likewise.
303 * include/grub/powerpc/ieee1275/time.h: Likewise.
304 * include/grub/sparc64/ieee1275/time.h: Likewise.
305 * include/grub/x86_64/efi/time.h: Likewise.
307 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
309 Remove dot on i and j when combining with above diacritics.
311 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
313 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
314 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
315 with dotless variants when any combining above is present.
317 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
319 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
322 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
324 Stop polling as soon as we have the packet we were waiting for.
326 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
328 * grub-core/net/arp.c (have_pending): New var.
329 (pending_req): Likewise.
330 (grub_net_arp_send_request): Fill pending_req and use have_pending as
332 (grub_net_arp_receive): Set have_pending.
333 * grub-core/net/dns.c (recv_data): New field stop.
334 (recv_hook): Set stop.
335 (grub_net_dns_lookup): Init stop and use as stop condition.
336 * grub-core/net/http.c (http_establish): Use headers_recv as stop
338 * grub-core/net/net.c (grub_net_poll_cards): New argument
339 stop_condition. Stop when it goes true.
340 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
342 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
344 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
346 Keep TX and RX buffers on EFI rather than always allocate new ones.
348 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
349 card. All users updated.
350 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
351 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
352 (get_card_packet): Likewise.
353 (grub_efinet_findcards): Init new fields.
355 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
357 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
358 compilation error on sparc64.
360 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
362 Use ITC on IA64 rather than broken routine based on daytime.
364 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
366 (grub_get_rtc) [__ia64__]: Likewise.
367 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
368 (get_itc): New function.
369 (grub_rtc_get_time_ms): Likewise.
370 (grub_machine_init): Calibrate ITC.
371 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
372 Keep only on non-ia64. Don't export since it's broken and used only
373 if TSC is unavailable.
375 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
377 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
379 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
380 Skip if parent is unused.
382 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
384 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
386 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
388 Fix wildcard escaping.
390 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
391 * grub-core/script/execute.c (wildcard_escape): .. to here.
393 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
394 * grub-core/script/execute.c (wildcard_unescape): .. to here.
396 * grub-core/script/execute.c (gettext_append): Always escape.
397 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
398 * grub-core/script/yylex.l: Don't cut away the escaping.
399 * tests/grub_script_echo1.in: Add tests with wildcard.
401 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
403 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
404 (ftdi_hw_configure): Likewise.
405 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
407 (real_config): Handle 1.5 stop bits.
408 (pl2303_hw_configure): Likewise.
410 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
412 * Makefile.am: Add ppc linux bootcheck.
413 * grub-core/tests/boot/linux-ppc.cfg: New file.
414 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
416 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
418 * tests/grub_script_expansion.in: Skip network protocols.
420 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
422 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
424 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
426 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
430 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
432 ESCC serial driver for conducting sautomated tests in qemu.
433 Not tested on real hardware.
435 * include/grub/serial.h (grub_serial_port): New field escc_desc.
436 * grub-core/term/ieee1275/escc.c: New file.
437 * grub-core/Makefile.core.def (escc): New module.
439 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
441 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
443 (serial_hw_fetch): Don't read invalid handle.
444 (serial_hw_put): Don't write into invalid handle.
446 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
448 Add a 1.5 stop bits value.
450 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
451 * include/grub/serial.h (grub_serial_stop_bits_t): Add
452 GRUB_SERIAL_STOP_BITS_1_5.
454 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
456 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
457 value rather than let it uninited.
459 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
461 * grub-core/commands/wildcard.c (+check_file): New function.
462 (wildcard_expand): Don't expand to non-existing files, expand with
463 suffix and not attempt to expand if not needed.
465 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
467 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
468 out of partitions containing other partitions.
470 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
472 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
473 on some qemu versions with GRUB.
475 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
477 (grub_openbsd_bootarg_pcibios): New struct.
478 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
481 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
483 * tests/util/grub-shell.in: Trim firmware output on EFI.
485 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
487 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
488 and coreboot since it's already in kernel.
490 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
492 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
493 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
494 to here. New return value start. All users updated.
495 Recursively scan linear mappings.
496 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
498 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
499 Use grub_util_get_dm_node_linear_info.
500 * util/getroot.c (convert_system_partition_to_system_disk): Use
501 grub_util_info rather than grub_dprintf.
502 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
504 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
506 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
508 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
509 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
511 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
513 * include/grub/types.h (grub_set_unaligned64): New function.
514 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
517 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
519 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
520 (grub_ofdisk_fini): Quiesce USB devices.
522 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
524 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
527 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
529 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
531 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
533 * grub-core/disk/pata.c (grub_pata_pio_read)
534 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
535 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
537 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
539 Extend automated tests to qemu-mips.
541 * Makefile.am: reorganise tests and enable qemu-mips.
542 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
543 * grub-core/tests/boot/linux.init-mips.S: New file.
544 * tests/partmap_test.in: Handle ata0 disks.
545 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
548 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
550 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
552 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
555 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
557 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
558 (grub_halt): Likewise.
559 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
561 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
563 * grub-core/term/serial.c (grub_serial_register)
564 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
565 the behaviour in line with x86 platforms.
567 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
569 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
570 (grub_ata_strncpy): Likewise.
571 (grub_ata_identify): Add missing byteswaps.
573 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
575 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
577 (screen_read_char): Likewise.
578 (grub_vga_text_cls): Likewise.
580 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
582 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
584 (make_file_path): Likewise.
586 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
588 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
590 Tested by: Paulo Flabiano Smorigo.
591 Crucial information about API supplied by: Coleen <Last name unknown>.
592 Reviewed by: Coleen <Last name unknown>.
594 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
596 * util/grub-mkimage.c: Disable -Wcast-align.
598 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
600 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
603 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
605 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
607 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
609 * util/grub-probe.c (escape_of_path): Fix double free.
611 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
613 * grub-core/commands/videoinfo.c (hook): Show pitch.
615 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
617 * util/grub.d/20_linux_xen.in: Skip xen-syms.
619 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
621 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
622 (probe): Add ieee1275 to OFW devices.
624 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
626 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
628 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
632 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
634 (of_path_of_scsi): Handle vdevice.
636 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
638 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
639 Allocate in multiples of 16 to avoid adding a few bytes free region the
642 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
644 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
645 Allocate in multiples of 16 to avoid adding a few bytes free region the
647 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
649 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
651 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
653 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
654 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
656 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
658 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
660 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
662 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
663 resulted in \\ at the end of the line.
665 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
667 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
668 (grub_parser_cmdline_state): Likewise.
669 (grub_parser_split_cmdline): Likewise.
671 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
673 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
674 /dev/root and /dev/dm-*.
676 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
678 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
679 fix partially stale display.
681 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
683 * grub-core/normal/menu_entry.c (backward_char): Use right line for
686 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
688 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
689 Fix MBR remapping workaround.
690 (grub_util_biosdisk_read) [__linux__]: Likewise.
692 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
694 * util/grub-install.in: Check for ieee1275 and not ieee1276.
696 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
698 * configure.ac: Bump to beta6.
700 2012-05-31 Christer Weinigel <christer@weinigel.se>
702 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
704 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
706 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
707 (grub_cmd_linux): Likewise.
709 2012-05-31 Christer Weinigel <christer@weinigel.se>
713 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
714 (GRUB_EHCI_MULT_TWO): Likewise.
715 (GRUB_EHCI_MULT_THREE): Likewise.
716 (GRUB_EHCI_CMASK_MASK): New enum value.
717 (GRUB_EHCI_SMASK_MASK): Likewise.
718 (GRUB_EHCI_CMASK_OFF): Likewise.
719 (GRUB_EHCI_SMASK_OFF): Likewise.
720 (grub_ehci_pci_iter): Enable periodic schedule.
721 (grub_ehci_parse_notrun): Likewise.
722 (grub_ehci_restore_hw): Likewise.
723 (grub_ehci_setup_qh): Set flags for low speed transfers.
724 (grub_ehci_find_qh): Use periodic list for low speed.
725 (grub_ehci_setup_transfer): Check periodic queue as well.
726 (grub_ehci_check_transfer): Likewise.
727 (grub_ehci_cancel_transfer): Cancel periodic transfer.
729 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
731 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
734 2012-05-31 Peter Jones <pjones@redhat.com>
736 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
737 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
738 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
740 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
742 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
743 uninited variable. Allocate at least setup_sects.
745 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
747 Fix handling of EFI with big memory maps.
749 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
750 (real_mode_mem): Likewise.
751 (real_mode_target): Likewise.
752 (real_mode_pages): Likewise.
753 (prot_mode_pages): Likewise.
754 (linux_params): New var.
755 (linux_cmdline): Likewise.
756 (free_pages): Don't set real mode variables.
757 (allocate_pages): Don't allocate real mode memory.
758 (grub_e820_add_region): Remove the limit.
759 (grub_linux_boot): Allocate and copy real mode memory.
760 (grub_linux_unload): Free linux_cmdline.
761 (grub_cmd_linux): Use temporary storage for parameters.
762 (grub_cmd_initrd): Likewise.
763 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
764 (linux_kernel_params): Make it 1K big.
766 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
768 * Makefile.util.def: Remove -Wno-format.
769 * grub-core/Makefile.core.def: Likewise.
771 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
773 * tests/cmp_unit_test.c: Add missing failure message.
774 * tests/example_unit_test.c: Likewise.
775 * tests/printf_unit_test.c: Likewise.
777 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
779 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
780 relaxation of protective MBR requirements.
782 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
784 * configure.ac: Add condition for COND_HOST_XNU.
785 * Makefile.util.def (10_xnu): New script.
786 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
788 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
790 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
793 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
795 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
796 Binary on other platforms stays identical.
798 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
800 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
803 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
805 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
807 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
809 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
810 rather than defining size_t ourselves to avoid conflict.
812 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
814 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
815 initialisation to avoid __bzero reference.
817 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
819 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
821 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
822 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
823 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
824 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
825 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
827 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
829 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
830 * grub-core/kern/misc.c: Likewise.
831 * grub-core/loader/i386/xnu.c: Likewise.
832 * include/grub/i386/tsc.h: Likewise.
833 * include/grub/symbol.h: Likewise.
835 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
837 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
838 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
841 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
843 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
844 Implement Apple flavour.
845 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
847 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
849 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
850 (memmove) [__APPLE__]: Likewise.
851 (memcpy) [__APPLE__]: Likewise.
852 (memset) [__APPLE__]: Likewise.
853 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
854 (memmove) [__APPLE__]: Likewise.
855 (memcpy) [__APPLE__]: Likewise.
856 (memset) [__APPLE__]: Likewise.
858 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
860 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
863 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
865 * grub-core/normal/main.c (read_config_file): Provide config_file and
867 * util/grub.d/41_custom.in: Use config_directoy when available.
869 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
871 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
872 (grub_bfs_dir): Likewise.
874 2012-05-27 Peter Jones <pjones@redhat.com>
876 The old code gives arguments to a printf function which can't work
877 correctly, and the compiler complains.
879 * grub-core/tests/example_functional_test.c (example_test): Add
881 * grub-core/tests/lib/test.c (add_failure): Rewrite.
882 * include/grub/test.h (grub_test_assert_helper): New declaration.
883 (grub_test_assert): Use grub_test_assert_helper.
885 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
887 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
888 (exfctest): ... this to avoid overlong filenames.
891 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
893 Handle "." and ".." on squashfs.
895 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
896 Make inode numbers into stack.
897 (grub_squash_read_symlink): Use stack.
898 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
899 (make_root_node): Fill stack.
900 (grub_squash_open): Use stack.
902 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
904 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
907 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
909 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
910 stderr on test calls.
912 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
914 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
916 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
918 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
920 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
922 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
925 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
927 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
928 (grub_hfsplus_iterate_dir): Add "." and "..".
930 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
932 * grub-core/fs/cpio.c (canonicalize): Handle "..".
933 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
935 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
937 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
938 (find_path): Handle "." and "..".
940 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
942 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
943 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
944 (grub_affs_iterate_dir): Handle hardlinks.
946 2012-05-26 Matthew Garrett <mjg@redhat.com>
948 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
949 (grub_efi_console_fini): Likewise.
950 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
951 (grub_video_gop_fill_mode_info): Rename to ...
952 (grub_video_gop_fill_real_mode_info): ... this.
953 (grub_video_gop_fill_mode_info): New function.
954 (grub_video_gop_setup): Setup double framebuffer.
955 (grub_video_gop_get_info_and_fini): Use original framebuffer.
957 (grub_video_gop_swap_buffers): Copy framebuffer.
958 (grub_video_gop_fini): Free offscreen buffer.
959 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
961 (grub_efi_gop_blt_pixel): New struct.
963 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
965 * gentpl.py: Remove error disabling for objconv.
967 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
969 * configure.ac: Remove -Wunitialized as it's not available on older
972 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
974 Fix extent overflow comparator.
976 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
977 (grub_hfsplus_read_block): Set type.
978 (grub_hfsplus_cmp_extkey): Compare type.
980 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
982 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
984 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
986 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
989 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
991 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
992 (dejavu_bold_14.pf2): New target.
994 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
996 * configure.ac: Fix djvu font detection.
998 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1000 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1001 ext* instead of ext2.
1003 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1005 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1008 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1010 * docs/grub-dev.texi: Remove dot from .png.
1012 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1014 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1015 protective entry in any slot.
1016 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1017 if protective entry is found in any slot.
1019 Protective entry in non-first slot make no sense but is a widespread
1022 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1024 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1026 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1028 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1030 (grub_reiserfs_open): Don't free root.
1032 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1034 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1035 after freeing for safety.
1037 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1039 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1040 Reported by: Jordan Uggla.
1042 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1044 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1045 actual implementation. Specifically, clarify that the grub menu will
1046 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1049 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1051 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1054 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1056 Remove unjustified hard dependency of normal.mod on gfxterm.
1058 * include/grub/term.h (grub_term_output): New member fullscreen.
1059 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1060 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1061 (grub_gfxterm): Set .fullscreen.
1062 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1063 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1065 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1067 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1068 mentioning possible problems with non-ASCII (non-compliant) ISOs.
1069 Mention case-insensitive AFFS, SFS and JFS.
1071 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1073 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1075 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1077 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1080 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1082 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1083 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1085 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1087 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1088 (grub_jfs_mount): Fill caseins.
1089 (grub_jfs_find_file): Respect caseins.
1091 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1093 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1096 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1098 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1099 New argument origpath. All users updated.
1101 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1103 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1104 (read_attr): Ensure that we read start of possibly compressed block.
1106 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1108 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1109 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1112 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1114 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1115 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1116 (dejavu.pf2): Replace with ...
1117 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1120 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1122 * util/grub.d/20_linux_xen.in: Add missing line.
1124 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1126 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1127 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1128 (grub_utf16_to_utf8): Likewise.
1130 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1132 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1133 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1134 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1135 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1136 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1137 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1139 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1141 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1144 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1146 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1147 (grub_udf_read_symlink): Handle read_string failure.
1149 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1151 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1154 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1156 Fix handling of UDF symlinks.
1158 * grub-core/fs/udf.c (read_string): New argument outbuf.
1160 (grub_ufs_read_symlink): Rename to ...
1161 (grub_udf_read_symlink): ... this. All users updated.
1162 Handle symlinks with more than one component.
1164 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1166 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1167 symlinks. Replace leading colon with a slash.
1169 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1171 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1174 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1176 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1177 match in inner node.
1179 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1181 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1182 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1183 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1184 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1185 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1186 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1187 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1188 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1189 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1191 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1193 Use grub-probe and not cmp to check that disk is empty.
1195 * util/grub-install.in: Use grub-probe for zero-check.
1196 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1197 (probe): Handle PRINT_ZERO_CHECK.
1198 (argp_parser): Handle -t zero_check.
1200 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1202 Flush block cache on adding disk to device map.
1204 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1205 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1207 (read_device_map): Likewise.
1208 (open_device): Flush on opening.
1210 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1212 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1213 (handle_symlink): Fix off-by-one error.
1214 Canonicalize the target.
1215 (grub_cpio_dir): Canonicalize the name.
1218 (grub_cpio_open): Canonicalize the name.
1220 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1222 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1225 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1227 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1228 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1230 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1232 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1233 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
1236 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1238 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1241 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1243 Fix UFS1 big file support.
1245 * grub-core/fs/ufs.c (INODE): Removed.
1246 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1248 (INODE_MODE): Simplify.
1249 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1250 (grub_ufs_lookup_symlink): Don't use INODE.
1252 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1254 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1256 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1257 (grub_minix_data): Replace log_block_size with block_size.
1258 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1259 (grub_minix_mount): Fill block_size.
1261 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1263 * configure.ac: Bump to beta5.
1265 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1267 Fix wrapped HFS+ handling.
1269 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1270 blocks_start. All users updated.
1271 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1273 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1275 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1277 Fix long symlinks on reiserfs.
1279 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1280 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1281 (grub_reiserfs_iterate_dir): Save size for non-directories.
1282 (grub_reiserfs_open): Don't reread stat block as we already know the
1284 (grub_reiserfs_read): Split into...
1285 (grub_reiserfs_read_real): ... and ...
1286 (grub_reiserfs_read): ...this.
1288 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1290 Fix non-indexed JFS.
1292 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1293 (grub_jfs_data): New field namecomponentlen.
1294 (grub_jfs_mount): Fill namecomponentlen.
1295 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1297 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1299 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1300 * tests/grub_script_echo1.in: Add tests.
1302 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1304 * util/grub-install.in: Ignore empty devicetree directory.
1306 2012-05-08 Bean <bean123ch@gmail.com>
1308 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1310 (free_rsm): Free header as well.
1311 (free_old_fragments): Fix memory leak.
1312 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1313 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1314 (destroy_pq): Likewise.
1315 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1317 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1319 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1320 resulting hash as a precaution.
1322 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1324 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1325 '_' in variable names.
1326 * grub-core/net/net.c (grub_net_network_level_interface_register):
1329 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1331 Fix AFFS with non-512B blocks.
1333 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1334 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1335 (grub_affs_data): Replace blocksize with log_blocksize.
1336 (grub_affs_read_block): Fix non-512B blocks.
1337 (grub_affs_read_symlink): Likewise.
1338 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1339 (grub_affs_read): Fix non-512B blocks.
1340 (grub_affs_label): Likewise.
1341 (grub_affs_mtime): Likewise.
1342 (grub_affs_mount): Fix block detection routine.
1344 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1346 Add filesystem mtime to AFFS.
1348 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1349 (aftime2ctime): New function.
1350 (grub_affs_dir): Use aftime2ctime.
1351 (grub_affs_label): Fix return value.
1352 (grub_affs_mtime): New function.
1353 (grub_affs_fs): Add mtime.
1355 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1357 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1360 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1362 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
1365 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1367 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
1369 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1371 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
1373 (FLAGS_CASE_SENSITIVE): New enum value.
1374 (cache_entry): New struct.
1375 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
1376 cache_size and cache.
1377 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
1378 Add log_blocksize and fshelp_flags.
1379 (grub_sfs_read_extent): Handle non-512 blocks.
1380 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
1381 (grub_sfs_read_file): Handle non-512 blocks.
1382 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
1384 (grub_sfs_read_symlink): Handle non-512 blocks.
1385 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
1386 (grub_sfs_dir): Free cache.
1387 (grub_sfs_close): Likewise.
1389 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1391 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
1394 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1396 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
1398 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1400 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
1402 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1404 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
1405 (grub_sfs_read_extent): Likewise.
1406 (grub_sfs_read_block): Likewise.
1407 (grub_sfs_mount): Likewise.
1408 (grub_sfs_iterate_dir): Likewise.
1409 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
1410 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
1412 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1414 Fix errors on compressed NTFS with 512B clusters.
1416 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
1418 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
1420 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
1421 Relax check for inline extents.
1422 (ntfscomp): Return correct -1 on error and not 0.
1424 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1426 * util/grub-install.in: Fix handling of prefix containing spaces.
1428 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1430 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
1431 (grub_squash_read_data): Fix offset byte-swapping.
1433 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1435 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
1436 per common usage and preffered in several parts of code.
1437 (grub_memcmp): Likewise.
1438 (grub_strncmp): Likewise.
1439 * include/grub/misc.h (grub_strcasecmp): Likewise.
1440 (grub_strncasecmp): Likewise.
1441 * Makefile.util.def (cmp_test): New test.
1442 (grub_script_strcmp): Likewise.
1443 * tests/cmp_unit_test.c: New file.
1444 * tests/grub_script_strcmp.in: Likewise.
1445 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
1447 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1449 * include/grub/pci.h: Move enums into no-asm part.
1451 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1453 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
1455 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1457 * util/getroot.c (find_hurd_root_device): Try to make error message
1458 and comments to translators clearer.
1460 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1462 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
1464 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1466 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
1469 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1471 * docs/grub.cfg: Update.
1473 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1475 * docs/grub.texi (PXE): Remove not present variables.
1477 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1479 * grub-core/net/net.c (defserver_set_env): New function.
1480 (defserver_get_env): Likewise.
1481 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
1483 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1485 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
1488 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1490 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
1491 * grub-core/kern/emu/hostdisk.c: Likewise.
1493 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1495 Handle hurd userspace partitions.
1497 * util/getroot.c (find_hurd_root_device): New function.
1498 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
1500 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1502 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
1504 Reported by: Bastian Blank.
1506 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1508 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
1509 crossing page boundary.
1511 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1513 Fix B-tree search in BFS, especially in presence of non-ASCII
1516 * grub-core/fs/bfs.c (bfs_strcmp): New function.
1517 (find_in_b_tree): Use standard bsearch + btree algorithm.
1519 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1521 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
1524 2012-05-03 Matthew Garrett <mjg@redhat.com>
1525 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1527 Suspend broadcom cards in order to stop their DMA.
1529 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
1530 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
1531 (pci): Don't build on x86 EFI.
1532 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
1533 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
1535 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
1536 stop_broadcom if running on EFI.
1537 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
1538 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
1539 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
1540 (grub_pci_find_capability): New proto.
1542 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1544 * docs/grub.texi: Remove dot from the extension as it apparently
1545 doesn't work with some makeinfo versions.
1547 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1549 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
1550 with GRUB expectance.
1552 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1554 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
1556 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1558 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
1559 zero after directory block since last entry may be not 0-terminated if
1560 it ends on block boundary. Use continue instead of if spanning whole
1563 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1565 Support 4K sectors UDF inline files.
1567 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
1568 (grub_udf_extended_file_entry): Likewise.
1569 (grub_fshelp_node): Name the anonymous union. Put block at the end.
1571 (get_fshelp_size): New function.
1572 (grub_udf_read_icb): Read whole block.
1573 (grub_udf_iterate_dir): Likewise.
1574 (grub_udf_dir): Likewise.
1575 (grub_udf_open): Likewise.
1577 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1579 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
1581 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1583 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
1584 inline symlinks in addition to workaround.
1586 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1588 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
1590 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1592 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
1594 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1596 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
1598 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1600 Fix reiserfs big seek times.
1602 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
1603 exact. All users updated.
1604 (grub_reiserfs_read): Use nearest btree search for seeking.
1605 Fix return value on error.
1607 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1609 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
1611 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
1612 * docs/grub.texi: Update menuentry description.
1614 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1616 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
1617 crash when embedding onto filesystem.
1619 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1621 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
1624 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1626 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
1628 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1630 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
1633 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1634 2012-05-01 Bean <bean123ch@gmail.com>
1636 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
1638 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1640 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
1641 Special behaviour for len = 0 to read whole file isn't used anywhere and
1642 can cause buffer ovewrflows in several places.
1644 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1646 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
1648 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1650 Handle RAIDZ on non-512B sectors.
1652 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
1653 max_children_ashift.
1654 (fill_vdev_info_real): Fill max_children_ashift.
1655 (read_device): Use max_children_ashift.
1657 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1659 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
1661 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1663 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
1665 * docs/grub.texi: Update device.map parts.
1667 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1669 Don't scan into non-diskfilter devices having diskfilter names.
1671 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
1672 (scan_disk): New argument accept_diskfilter. Fix recursion depth
1674 (scan_disk_hook): New function.
1676 2012-04-29 Bean <bean123ch@gmail.com>
1678 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
1681 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
1683 * configure.ac: Detect starfield theme font path
1684 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
1686 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1688 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
1689 geometry on serial consoles.
1691 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1693 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
1694 because of network consoles.
1696 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1698 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
1701 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1703 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
1706 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1708 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
1709 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
1711 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1713 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
1714 Allocate at lest 8192 for temporary buffer as required for lzo.
1716 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1718 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
1719 to cluster_bits, since it's already added in.
1720 (grub_fat_read_data): Likewise.
1722 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1724 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
1725 as long as cluster size is multiple of 512 bytes.
1727 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1729 * util/grub-mkrescue.in: Fix locale directory.
1731 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1733 * grub-core/kern/emu/hostdisk.c (map): Make static.
1735 2012-04-23 Bean <bean123ch@gmail.com>
1737 * util/grub-fstest.c (fstest): Add missing break.
1739 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
1743 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
1744 not define nr variable.
1745 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
1746 find_root_devices_from_poolname, find_root_devices_from_libzfs,
1747 grub_find_device): Do not define.
1749 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1751 Fix kfreebsd compile and behaviour.
1753 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
1755 * util/getroot.c: Fix wait.h include.
1756 (grub_guess_root_devices): Error if grub_find_device fails.
1757 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
1758 (grub_util_get_dev_abstraction): Likewise.
1759 (grub_util_pull_device): Likewise.
1760 (grub_util_get_grub_dev): Likewise.
1761 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
1763 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1765 Fix and unify wholedisk detection.
1767 * util/getroot.c (convert_system_partition_to_system_disk): New argument
1768 is_part. All users updated.
1769 (device_is_wholedisk): Removed.
1770 (grub_util_biosdisk_get_grub_dev): Use is_part.
1772 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1774 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
1777 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1779 * configure.ac: Bump to beta4.
1781 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1783 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
1784 --fs-uuid --set UUID syntax.
1786 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1788 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
1791 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1793 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
1795 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
1797 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
1799 2012-04-18 Mike Gilbert <floppym@gentoo.org>
1801 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
1803 2012-04-18 Bean <bean123ch@gmail.com>
1805 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
1808 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1810 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
1812 (grub_util_biosdisk_read): Handle Linux partitions not exactly
1813 corresponding to GRUB partitions.
1814 (grub_util_biosdisk_write): Likewise.
1816 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1818 Scan mdraid before LVM.
1820 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
1821 (grub_diskfilter_register_front): ... this.
1822 (grub_diskfilter_register_back): New function.
1823 All users of grub_diskfilter_register updated.
1825 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1827 * util/grub-install.in: Fix an automatic target detection bug.
1829 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1831 * util/grub-install.in: New option --efi-directory.
1833 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1835 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
1836 boot services if we have no other choice.
1838 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1840 * util/grub-mknetdir.in: Rename --override-directory to --directory and
1842 * tests/util/grub-shell.in: Update to --directory.
1844 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1846 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
1848 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1850 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
1851 (grub_minix_read_file): Likewise.
1852 (grub_minix_read_inode): Likewise.
1853 (grub_minix_find_file): Likewise.
1854 (grub_minix_dir): Likewise.
1856 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1858 * util/grub-setup.c (setup): Fix partition handling and blocklist
1861 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1863 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
1864 redundant buggy overlap check.
1866 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1868 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
1871 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1873 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
1874 kh.loadflags on pre-2.00 kernels.
1876 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1878 Terminate UNDI and PXE before launching the payload to avoid problems
1881 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
1882 (grub_loader_flags): ... this. All users updated.
1883 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
1884 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
1885 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
1886 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
1888 (grub_pxe_restore): Likewise.
1889 (fini_hnd): New var.
1890 (GRUB_MOD_INIT): Register shutdown hook.
1891 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
1892 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
1893 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
1894 (grub_loader_set): Rename second argument to flags.
1896 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1898 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
1900 (grub_get_num_of_utf8_bytes): New function.
1901 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
1902 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
1904 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
1905 (grub_ucs4_to_utf8): Change return type.
1907 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1909 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
1911 * grub-core/fs/bfs.c (hop_level): Likewise.
1912 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
1914 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1916 * grub-core/lib/adler32.c: Recode due to license unclearness.
1918 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1920 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
1921 (test_header): Likewise.
1923 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1925 Fix --help formatting.
1927 * util/grub-mkconfig_lib.in (print_option_help): New function.
1928 (grub_fmt): Likewise.
1929 * util/grub-install.in: Use print_option_help and grub_fmt.
1930 * util/grub-kbdcomp.in: Likewise.
1931 * util/grub-mkconfig.in: Likewise.
1932 * util/grub-mknetdir.in: Likewise.
1933 * util/grub-mkrescue.in: Likewise.
1934 * util/grub-mkstandalone.in: Likewise.
1935 * util/grub-reboot.in: Likewise.
1936 * util/grub-set-default.in: Likewise.
1937 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1939 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1941 * linguas.sh: Remove autogenerated *.po.
1943 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1945 * po/README: Move language fetcing to ...
1946 * linguas.sh: ... here.
1947 * po/README: Point to linguas.sh.
1949 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1951 * po/README: Exclude ko.po due to disclaimer problems.
1953 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1955 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
1957 (grub_gettext_translate_real): Handle 0th string.
1958 (grub_gettext_translate): Ensure that "" isn't translated.
1960 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1962 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
1963 TRANSLATORS comment.
1964 (grub_diskfilter_print_partmap): Propagate changing of error into
1967 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1969 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
1970 to uint64_t to prevent overflow.
1971 (grub_diskfilter_lv): Increase start_extent and extent_count
1972 to uint64_t to prevent overflow.
1974 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1976 * configure.ac: Increase version.
1978 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1980 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
1982 * po/Rules-translit: New file.
1983 * po/arabic.sed: Likewise.
1984 * po/cyrillic.sed: Likewise.
1985 * po/greek.sed: Likewise.
1986 * po/hebrew.sed: Likewise.
1987 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
1988 * po/Makefile.in.in: Add extra_dist4.
1990 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1992 Handle big-endian minixfs (fixes minixfs tests on bigendian).
1994 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
1995 modify names. Introduce MODE_BIGENDIAN.
1996 * grub-core/fs/minix_be.c: New file.
1997 * grub-core/fs/minix2_be.c: Likewise
1998 * grub-core/fs/minix3_be.c: Likewise.
1999 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2001 * grub-core/Makefile.core.def (minix_be): New module.
2002 (minix2_be): Likewise.
2003 (minix3_be): Likewise.
2005 2012-04-01 Felix <email@hamburg.de>
2007 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2008 (devs): Add MBP 2011.
2010 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2012 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2014 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2016 * grub-core/normal/cmdline.c (print_completion): New field
2018 (grub_cmdline_get): Handle width properly.
2020 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2022 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2024 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2026 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
2027 after 29th of February.
2029 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2031 Fix exfat endianness handling.
2033 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2034 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2035 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2036 Byte-swap utf16 when necessary.
2037 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2039 2012-03-31 Anton Blanchard <anton@samba.org>
2040 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2042 Fix btrfs endianness handling.
2044 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2045 (lower_bound): Make root uint64_t. Use root in le.
2046 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2047 (find_path): Fix template key init.
2048 (grub_btrfs_dir): Fix mtime byteswap.
2049 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2051 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2053 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2054 recursion_depth. Break infinite resursions. All users updated.
2056 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2058 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2060 Reported by: Peter Jones.
2062 2012-03-31 Anton Blanchard <anton@samba.org>
2064 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2067 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2069 * util/grub-install.in: Fix nvram call for PreP.
2071 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2073 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2074 the error when some elements are missing into a warning.
2076 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2078 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2080 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
2082 * docs/grub.texi (Invoking grub-probe): New section.
2083 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2085 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2087 Fix tab and wide character handling in editor and menu.
2089 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2090 agglomerate control characters with combining marks.
2091 (bidi_line_wrap): Allow break on tab.
2092 (grub_unicode_get_comb_start): New function.
2093 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2095 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2097 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2098 fixed_tab_size. All users updated.
2099 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2100 (grub_term_getcharwidth): Handle \t.
2101 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2104 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2106 Handle big-endian mdraid.
2108 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2109 * grub-core/Makefile.core.def (mdraid09_be): New module.
2110 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2111 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2112 * grub-core/disk/mdraid_linux_be.c: New file.
2114 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2116 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2118 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2120 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2121 missing quotes which caused confusion among translators.
2123 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2125 * util/grub-mkconfig_lib.in: Fix typo.
2127 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2129 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2131 * tests/grub_script_leading_whitespace.in: New file.
2132 * Makefile.util.def (grub_script_leading_whitespace): New test.
2134 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2136 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2139 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2141 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2142 starts with control character.
2144 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2146 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2148 (grub_gdb_outbuf): Likewise.
2150 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2152 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2153 zero terminator. Fixes a crash.
2155 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2157 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2159 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2160 images independently of preffered adderss field.
2162 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2164 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2165 * grub-core/commands/regexp.c: Likewise.
2166 * grub-core/loader/i386/linux.c: Likewise.
2167 * grub-core/partmap/msdos.c: Likewise.
2168 * grub-core/script/execute.c: Likewise.
2169 * grub-core/term/gfxterm.c: Likewise.
2171 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2173 Add variable parsing in $"..." and fix several mismatches with bash.
2175 * Makefile.util.def (grub_script_gettext): New test.
2176 * grub-core/script/execute.c (parse_string): New function.
2177 (gettext_append): Likewise.
2178 (grub_script_arglist_to_argv): Use gettext_append.
2179 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2180 * tests/grub_script_gettext.in: New file.
2182 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2184 Fix handling of leading spaces in scripts.
2186 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2188 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2189 other than skipping \r. All users updated.
2190 * tests/grub_script_echo1.in: Add space-related tests.
2191 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2193 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2195 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2197 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2199 * configure.ac: Bump up the version to beta2.
2201 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2203 Fix gettext reload bugs (e.g. inability to disable gettext
2206 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2207 main_context and secondary_context. All functions updated.
2208 (grub_gettext_translate): Rename to ...
2209 (grub_gettext_translate_real): ... this. Return NULL on failed
2211 (grub_gettext_translate): Handle secondary context.
2212 (grub_gettext_delete_list): Close file and zero-out the context.
2213 (grub_mofile_open): Don't call grub_gettext_delete_list.
2215 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2216 if locale="" to avoid pointless error message.
2217 (grub_gettext_env_write_lang): Update lang even if load fails.
2218 Handle secondary context.
2219 (grub_gettext_reread_prefix): New function.
2220 (read_main): Likewise.
2221 (read_secondary): Likewise.
2222 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2223 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2224 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2225 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2227 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2229 * configure.ac: Decrease warning level to avoid spurious warnings and
2230 to be able to compile with GCC 4.2.
2231 * Makefile.util.def: Remove -Wno-error=logical-op.
2233 2012-03-10 William Bittner <william.bittner@gmail.com>
2235 * util/import_unicode.py: Add missing brackets around string for
2238 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2240 Fix efi chainloader on network root.
2242 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2244 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2247 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2249 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2250 unused show_text member.
2251 * docs/grub.texi: Document "text" property.
2253 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2255 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2258 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2260 Fix IMSM handling on Fedora.
2262 * util/getroot.c (grub_util_is_imsm): New function.
2263 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2265 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2267 * Makefile.am: Strip gold section.
2268 * conf/Makefile.common: Likewise.
2269 * gentpl.py: Likewise.
2270 * grub-core/Makefile.core.def: Likewise.
2271 * grub-core/genmod.sh.in: Likewise.
2273 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2275 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2276 * util/grub.d/20_linux_xen.in: Likewise.
2277 Based on Debian patch.
2279 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2281 * util/grub.d/10_linux.in: Fix syntax error resulting in
2282 Richard Laager's patch.
2283 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2285 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2287 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2290 2012-03-10 Richard Laager <rlaager@wiktel.com>
2292 * util/grub.d/10_linux.in: Fix ZFS root passing.
2294 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2296 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2297 * grub-core/commands/xnu_uuid.c: Likewise.
2298 * grub-core/loader/efi/appleloader.c: Likewise.
2299 * grub-core/script/execute.c: Likewise.
2300 * grub-core/script/main.c: Likewise.
2301 * util/grub-mkfont.c: Likewise.
2303 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2305 * util/grub-mkfont.c (options): Use more appropriate "select" that
2306 "set" for face index.
2308 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2310 * util/grub-editenv.c (options): Gettextize command summaries.
2312 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2314 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2315 "out of memory" error messagge.
2317 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2319 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2320 of diskfilter for diskfilter on diskfilter support.
2322 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2324 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2326 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2328 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2331 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2333 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2335 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2337 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2339 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2341 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2344 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2346 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2348 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2350 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2352 * util/grub-install.in: Fix and gettextize error message.
2354 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2356 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2358 * util/grub-mount.c (options): Likewise.
2360 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2362 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
2364 * grub-core/commands/search_wrap.c (options): Likewise.
2366 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2368 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
2370 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2372 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
2374 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
2377 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2379 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
2380 "temporary" since it's used in identifier and is limited in space.
2382 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2384 * po/POTFILES.in: Regenerate. Include *.h since they contain
2385 translatable strings as well.
2387 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2389 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2390 byte-swap on big-endian.
2391 Reported by: Lennart Sorensen
2393 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2395 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
2396 (allocate_pages): Improve dprintf.
2397 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
2398 code32_start. Fill code32_start and kernel_alignment in params.
2399 (grub_cmd_initrd): Use prot_init_space.
2401 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2403 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
2405 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2407 * util/grub-install.in: Add missing dot at the end of sentence.
2409 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2411 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2412 * grub-core/commands/videotest.c: Likewise.
2413 * grub-core/loader/i386/linux.c: Likewise.
2415 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2417 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
2419 Reported by: Milo Casagrande.
2421 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2423 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
2424 * grub-core/commands/gptsync.c: Likewise.
2425 * grub-core/commands/hashsum.c: Likewise.
2426 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2427 * grub-core/commands/legacycfg.c: Likewise.
2428 * grub-core/io/gzio.c: Likewise.
2429 * grub-core/net/net.c: Likewise.
2430 * grub-core/term/gfxterm.c: Likewise.
2431 * grub-core/term/terminfo.c: Likewise.
2432 * grub-core/tests/test_blockarg.c: Likewise.
2433 * grub-core/video/video.c: Likewise.
2434 * util/grub-install.in: Likewise.
2435 * util/grub-mkfont.c: Likewise.
2437 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2439 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
2441 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2443 * grub-core/commands/search_wrap.c (options): Fix a typo.
2444 Reported by: David Prévot.
2446 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2448 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
2451 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2453 * util/grub-script-check.c (main): Fix a syntax error message which was
2456 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2458 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
2460 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2462 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
2465 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2467 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
2469 * util/grub-mount.c (options): Likewise.
2471 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2473 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
2475 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2477 * grub-core/net/http.c: Add TRANSLATORS comments.
2478 * grub-core/normal/cmdline.c: Likewise.
2479 * grub-core/normal/misc.c: Likewise.
2480 * grub-core/partmap/msdos.c: Likewise.
2481 * grub-core/parttool/msdospart.c: Likewise.
2482 * grub-core/script/execute.c: Likewise.
2483 * grub-core/script/main.c: Likewise.
2484 * grub-core/term/terminfo.c: Likewise.
2485 * grub-core/video/bitmap.c: Likewise.
2486 * util/grub-install.in: Likewise.
2487 * util/grub-mkimage.c: Likewise.
2488 * util/grub-mklayout.c: Likewise.
2489 * util/grub-setup.c: Likewise.
2491 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2493 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
2494 with similar messages in grub-fstest.
2496 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2498 * util/grub-install.in: Unify "option requires an argument" message
2499 with similar messages in other files.
2500 * util/grub-mkconfig.in: Likewise.
2502 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2504 * util/grub-set-default.in: Replace printf with gettext_printf (the
2505 string in in question is already translated from grub-reboot)
2507 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2509 * configure.ac: Bump up the version to beta1.
2511 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2513 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
2514 case when min_align = 0.
2516 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2518 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
2519 and fix a case when line_start overflows.
2521 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2523 * util/grub-reboot.in (usage): Mention id posibility.
2524 * util/grub-set-default.in (usage): Likewise.
2526 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2528 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
2529 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
2530 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2531 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2532 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2533 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2534 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2536 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2538 * grub-core/commands/menuentry.c (options): Remove
2539 GRUB_ARG_OPTION_REPEATABLE.
2540 Reported by: Andreas Vogel
2542 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
2544 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
2546 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
2548 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
2551 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2553 Use sort -V by the idea of Georgi Georgiev.
2555 * util/grub-mkconfig_lib.in (version_sort): New function.
2556 (version_test_numeric): Use version_sort.
2558 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2560 Use submenus in grub-mkconfig.
2562 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
2563 * util/grub-mkconfig_lib.in (grub_quote): New function.
2564 (gettext_printf): Use gettext and not gettext_quoted to fix several
2566 * util/grub.d/10_hurd.in: Use submenus.
2567 * util/grub.d/10_kfreebsd.in: Likewise.
2568 * util/grub.d/10_linux.in: Likewise.
2569 * util/grub.d/10_netbsd.in: Likewise.
2570 * util/grub.d/20_linux_xen.in: Likewise.
2571 * util/grub.d/30_os-prober.in: Likewise.
2572 * util/grub.d/10_illumos.in: Add missing quoting.
2573 * util/grub.d/10_windows.in: Likewise.
2575 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2577 Fix menu title instability bug.
2579 * grub-core/commands/menuentry.c (options): New option --id.
2580 (grub_normal_add_menu_entry): New argument id. All users updated.
2581 (grub_cmd_menuentry): Handle --id.
2582 (grub_menu_init): Accept unknown arguments.
2583 * grub-core/normal/main.c (features): Add feature_menuentry_id and
2584 feature_menuentry_options.
2585 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
2587 (get_entry_number): Match with id as well.
2588 * include/grub/menu.h (grub_menu_entry): New member id.
2589 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
2590 * util/grub.d/00_header.in: Define menuentry_id_option.
2591 * util/grub.d/10_hurd.in: Define id.
2592 * util/grub.d/10_illumos.in: Likewise.
2593 * util/grub.d/10_kfreebsd.in: Likewise.
2594 * util/grub.d/10_linux.in: Likewise.
2595 * util/grub.d/10_netbsd.in: Likewise.
2596 * util/grub.d/10_windows.in: Likewise.
2597 * util/grub.d/20_linux_xen.in: Likewise.
2598 * util/grub.d/30_os-prober.in: Likewise.
2600 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2602 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
2603 "scope" with "body".
2605 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2607 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
2608 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
2609 prot_size and prot_file_size.
2611 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2613 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
2614 All users updated. If easily=1 require raid-5/-6 to be full.
2615 (is_node_readable): Likewise.
2616 (scan_devices): Scan incomplete but readable LVs at the end.
2617 (grub_diskfilter_memberlist): Pull missing devices.
2618 (insert_array): Skip scanning until device is complete or scan is
2620 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
2622 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
2623 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
2625 2012-03-03 Matthew Garrett <mjg@redhat.com>
2626 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2628 Avoid EFI boot services when loading Linux.
2630 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
2631 avoid_efi_bootservices. All users updated.
2632 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
2633 argument avoid_efi_bootservices. All users updated.
2634 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
2635 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
2636 align, min_align, relocatable, prefered_address. All users updated.
2637 Allocate avoiding boot services if kernel is relocatable.
2638 (grub_cmd_linux): Check if kernel is relocatable.
2639 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
2640 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
2641 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
2642 avoid_efi_boot_services.
2643 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
2644 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
2645 (linux_kernel_params): Likewise.
2647 2012-03-03 Matthew Garrett <mjg@redhat.com>
2648 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2652 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
2654 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
2655 modes. Set gop_handle.
2656 (grub_video_gop_get_edid): New function.
2657 (grub_gop_get_preferred_mode): Likewise.
2658 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
2659 (grub_video_efi_gop_adapter): Set .get_edid.
2660 * include/grub/efi/edid.h: New file.
2661 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
2663 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2665 * util/grub-install.in: Load efivars unconditionally.
2667 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2669 * po/Rules-piglatin: Change suffix from .po-update-en to
2670 .po-update-en-piglatin.
2672 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2676 * po/piglatin.sed: New file.
2677 * po/en@piglatin.header: Likewise.
2678 * po/Rules-piglatin: Likewise.
2679 * po/README: Add en@piglatin to autogenerated languages.
2681 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2683 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
2685 * grub-core/commands/hdparm.c (options): Use "Display" rather than
2686 "Check" since we don't check anything.
2687 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
2689 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
2690 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
2691 (grub_md_sha512_real): Likewise.
2693 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2695 * grub-core/commands/gptsync.c: Fix typographic quoting.
2696 * grub-core/commands/ieee1275/suspend.c: Likewise.
2697 * grub-core/commands/parttool.c: Likewise.
2698 * grub-core/commands/search_wrap.c: Likewise.
2699 * grub-core/commands/videoinfo.c: Likewise.
2700 * grub-core/gfxmenu/gui_label.c: Likewise.
2701 * grub-core/hello/hello.c: Likewise.
2702 * grub-core/kern/emu/main.c: Likewise.
2703 * grub-core/net/net.c: Likewise.
2704 * grub-core/normal/menu.c: Likewise.
2705 * grub-core/normal/menu_text.c: Likewise.
2706 * grub-core/normal/misc.c: Likewise.
2707 * util/grub-editenv.c: Likewise.
2708 * util/grub-install.in: Likewise.
2709 * util/grub-kbdcomp.in: Likewise.
2710 * util/grub-mkconfig.in: Likewise.
2711 * util/grub-mknetdir.in: Likewise.
2712 * util/grub-mkrescue.in: Likewise.
2713 * util/grub-mkstandalone.in: Likewise.
2714 * util/grub-reboot.in: Likewise.
2715 * util/grub-set-default.in: Likewise.
2716 * util/grub-setup.c: Likewise.
2717 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2719 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2721 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
2722 * grub-core/commands/keystatus.c: Likewise.
2723 * grub-core/commands/loadenv.c: Likewise.
2724 * grub-core/commands/probe.c: Likewise.
2725 * grub-core/commands/regexp.c: Likewise.
2726 * grub-core/commands/true.c: Likewise.
2727 * grub-core/commands/videoinfo.c: Likewise.
2728 * grub-core/disk/cryptodisk.c: Likewise.
2729 * grub-core/disk/ldm.c: Likewise.
2730 * grub-core/disk/loopback.c: Likewise.
2731 * grub-core/disk/luks.c: Likewise.
2732 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2733 * grub-core/kern/disk.c: Likewise.
2734 * grub-core/kern/emu/hostdisk.c: Likewise.
2736 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2738 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
2739 * util/grub-install.in: Add missing quote in the comment.
2741 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2743 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
2744 * grub-core/commands/lsmmap.c: Likewise.
2745 * grub-core/commands/minicmd.c: Likewise.
2746 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2747 * grub-core/commands/regexp.c: Likewise.
2748 * grub-core/gdb/gdb.c: Likewise.
2749 * grub-core/term/gfxterm.c: Likewise.
2750 * util/grub-mkconfig.in: Likewise.
2751 * util/grub-mkfont.c: Likewise.
2752 * util/grub-mklayout.c: Likewise.
2753 * util/grub-mknetdir.in: Likewise.
2754 * util/grub-mkrescue.in: Likewise.
2755 * util/grub.d/30_os-prober.in: Likewise.
2757 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2759 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
2760 with "Direct color" and "Packed" with "Packed pixel".
2761 (grub_cmd_videoinfo): Simplify legend.
2763 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2765 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2766 absolutely unclear error message.
2768 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2770 * util/grub-mkstandalone.in: Remove confusing leftover print.
2772 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2774 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
2776 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
2777 (GRUB_MOD_INIT): Likewise.
2778 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
2780 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
2782 * util/grub-install.in (usage): Likewise.
2783 Spell ID in whole letters.
2784 Add missing ending dot.
2786 * util/grub-reboot.in: Fix capitalisation.
2787 * util/grub-set-default.in: Likewise.
2789 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2791 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
2792 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
2793 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
2794 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
2795 Disable -Werror for -Wdeprecated-declarations.
2796 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
2797 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
2798 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
2799 (grub_util_get_grub_dev): Make luks handling dependent on
2800 HAVE_DEVICE_MAPPER and not __linux__.
2801 (get_win32_path): Fix format security.
2802 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
2803 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
2804 Don't try grub_find_zpool_from_dir.
2805 (grub_make_system_path_relative_to_its_root) [!__linux__]:
2806 #ifdef-out paresdir.
2808 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2810 * util/grub-pe2elf.c (usage): Add missing noreturn.
2811 (write_section_data): Rename name to shname to avoid shadowing.
2812 (write_symbol_table): Rename name to symname to avoid shadowing.
2813 Fix write_reloc_section call.
2815 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2817 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
2818 to ensure that it's after the last byte of .text.
2820 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2822 * util/ieee1275/ofpath.c (my_isdigit): New function.
2823 (trailing_digits): Use my_isdigit.
2824 (strip_trailing_digits): Likewise.
2826 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2828 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
2829 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
2831 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2833 * grub-core/kern/i386/pc/startup.S: Define __start.
2835 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2837 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
2838 strip already transforms he format.
2840 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2842 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
2844 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2846 * util/grub-install.in: Add missing gettext init.
2847 * util/grub-kbdcomp.in: Likewise.
2848 * util/grub-mkconfig.in: Likewise.
2849 * util/grub-mknetdir.in: Likewise.
2850 * util/grub-mkrescue.in: Likewise.
2851 * util/grub-mkstandalone.in: Likewise.
2852 * util/grub-reboot.in: Likewise.
2853 * util/grub-set-default.in: Likewise.
2854 * util/grub.d/00_header.in: Likewise.
2855 * util/grub.d/10_hurd.in: Likewise.
2856 * util/grub.d/10_windows.in: Likewise.
2857 * util/grub.d/30_os-prober.in: Likewise.
2858 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2860 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2862 * po/Rules-swiss: Fix header comment.
2864 2012-02-29 Andreas Vogel <anvoit>
2866 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
2867 resulted in leak of arguments.
2869 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2871 * grub-core/boot/i386/pc/startup_raw.S: Use separate
2872 reed_solomon_size const definition instead of computing it since
2873 Apple assembler doesn't support the later.
2875 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2877 * gentpl.py (kernel): Rewrite Apple part.
2879 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2881 * include/grub/kernel.h (FOR_MODULES): Check module magic.
2883 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2885 * util/grub-mkimagexx.c (locate_sections): Support non-standard
2887 (load_image): Likewise.
2889 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2891 * configure.ac: Fix a typo in previous commit.
2893 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2895 Don't add -Wl,-N on Apple platform.
2897 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
2898 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
2900 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2902 * grub-core/Makefile.core.def (lzma_decompress): Use
2903 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
2905 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2907 * grub-core/genmod.sh.in: Rewrite the Apple part.
2909 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2911 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
2914 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2916 * acinclude.m4 (grub_CHECK_PIC): New test.
2917 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
2919 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2921 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
2922 to avoid the warning.
2924 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2926 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
2927 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
2928 after. All users updated.
2930 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2932 Use the common size routine in hostfs so we can read disks as well.
2934 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
2935 (grub_util_get_fd_size): ... this. Return size in bytes.
2937 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
2938 grub_util_get_fd_size.
2940 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2942 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
2943 Add blocksize retrieval.
2945 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2947 * configure.ac: Restore CFLAGS after efiemu check.
2949 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2951 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
2954 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2956 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
2958 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2960 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
2961 (grub_cmd_halt): Likewise.
2963 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2965 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
2966 for local arithmetics.
2967 Break %sp init into 2 instructions.
2968 Add 0 byte at the end.
2970 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2972 * grub-core/disk/diskfilter.c (read_segment): Initialise err
2975 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2977 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
2980 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2982 * grub-core/disk/ldm.c (make_vg): Init part.name.
2983 (grub_ldm_detect): Silence spurious warning.
2984 (grub_util_is_ldm): Likewise.
2986 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2988 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
2989 sane value to avoid a spurious warning.
2991 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2993 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
2994 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
2996 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2998 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
2999 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3001 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3003 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3004 hardcoding the relevant info.
3006 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3008 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3009 missing const qualifiers.
3010 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3012 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3014 * util/getroot.c [__APPLE__]: Add missing includes.
3015 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3017 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3019 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3021 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3023 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3026 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3028 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3030 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3032 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3033 and grub_file_close call.
3035 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3037 Add LZSS Mach-O support (needed for new xnu kernelcache).
3039 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3040 * grub-core/loader/lzss.c: New file.
3041 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3042 on Mach-O open failure.
3043 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3044 Don't free cmdsXX in uncompressedXX is set.
3045 (grub_macho_file): Init new fields.
3046 New argument is_64bit. All users updated.
3047 Handle compressed. Error out if no suitable architecture is found.
3049 (grub_macho_open): New argument is_64bit. All users updated.
3050 * grub-core/loader/macho32.c: Add defines for new fields.
3051 * grub-core/loader/macho64.c: Likewise.
3052 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3053 (grub_macho_parse): Handle compressed.
3054 Defer actual processing if compressed.
3055 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3056 "filename". All users updated.
3057 (grub_macho_size): New argument "filename". All users updated.
3058 (grub_macho_get_entry_point): Likewise.
3059 (grub_macho_load): Handle compressed.
3060 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3061 (GRUB_MACHO_LZSS_OFFSET): New define.
3062 (grub_decompress_lzss): New proto.
3063 * include/grub/machoload.h (grub_macho_file): New fields to handle
3065 (grub_macho_contains_macho64): Remove proto.
3066 (grub_macho_contains_macho32): Likewise.
3067 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3069 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3071 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3073 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3077 * Makefile.am (starfield_theme_files): New var.
3078 (starfield_DATA): Use starfield_theme_files.
3079 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3080 Add bootcheck-related files.
3081 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3082 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3083 and font_char_metrics.txt.
3084 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3085 (setjmp): Add lib/ia64/longjmp.S.
3086 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3087 * po/POTFILES.in: Regenerate.
3088 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3089 DISTFILES.common.extra1.
3090 * util/devicemap.c: Removed.
3091 * grub-core/lib/i386/relocator_backward.S: Likewise.
3092 * util/import_gcry.py: Remove unused files. Add extra_dist for
3095 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3097 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3098 grub_gettext_delete_list before changing grub_gettext_max to avoid
3099 running out of array bounds.
3101 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3103 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3104 grub_vga_text_init/grub_vga_text_fini.
3106 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3108 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3110 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3112 * configure.ac: Bump to 2.00~beta0.
3114 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3116 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3117 missing initialisation.
3119 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3121 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3123 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3125 Support v2 xnu boot arguments.
3127 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3128 New argument fsbfreq_out.
3129 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3130 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3132 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3134 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3135 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3136 (grub_xnu_boot_params): Rename to ...
3137 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3138 (grub_xnu_boot_params_v2): New struct.
3140 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3142 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3143 zeroing of CRC field before computing CRC.
3145 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3147 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3148 Change order of allocations to decrease fragmentation.
3150 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3152 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3154 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3156 Use write-combining MTRR to speed up video with buggy BIOSes.
3158 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3159 (cpuid): New define.
3162 (mtrr_base): Likewise.
3163 (mtrr_mask): Likewise.
3164 (grub_vbe_enable_mtrr_entry): New function.
3165 (grub_vbe_enable_mtrr): Likewise.
3166 (grub_vbe_disable_mtrr): Likewise.
3167 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3168 control off to BIOS.
3169 (grub_video_vbe_init): Fill mtrr.
3170 (grub_video_vbe_fini): Disable mtrr.
3171 (grub_video_vbe_get_info_and_fini): Likewise.
3172 (grub_video_vbe_setup): Enable mtrr.
3174 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3176 * include/grub/partition.h (grub_partition_map): Change prototype of
3177 embed to take a maximum value for nsectors.
3178 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3179 * include/grub/fs.h (grub_fs): Likewise.
3180 * grub-core/partmap/msdos.c (embed_signatures): New array.
3181 (pc_partition_map_embed): Check for and avoid sectors matching any
3182 of the signatures in embed_signatures, up to max_nsectors.
3183 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3184 returned sector map to max_nsectors.
3185 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3186 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3187 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3188 * util/grub-setup.c (setup): Allow for the embedding area being
3189 split into multiple blocklists. Tell dest_partmap->embed the
3190 maximum number of sectors we care about.
3192 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3194 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3195 Specify blocklist_install and reserver_first_sector for all fs.
3196 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3199 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3201 * util/grub-install.in: Clarify strings.
3202 Fix source dir check.
3204 2012-02-27 Richard Laager <rlaager@wiktel.com>
3206 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3207 "zfs" and "fuse.zfs" as synonyms.
3209 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3211 * configure.ac: Put platform and target_cpu substitutions back since
3212 they are used for directories.
3214 2012-02-27 Richard Laager <rlaager@wiktel.com>
3215 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3217 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3218 * util/grub.d/20_linux_xen.in: Likewise.
3220 2012-02-27 Richard Laager <rlaager@wiktel.com>
3222 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3225 2012-02-27 Richard Laager <rlaager@wiktel.com>
3227 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3230 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3232 Don't use insecure popen in getroot.
3234 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3235 (exec_pipe): ... here.
3236 (find_root_devices_from_poolname): Use exec_pipe.
3238 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3240 Remove platform and target_cpu replacement.
3242 * configure.ac: Remove platform and target_cpu substitutions.
3243 * tests/util/grub-shell.in: Use modinfo.
3244 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3247 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3249 Autodetect platform in grub-install but allow override.
3251 * util/grub-install.in: Autodetect platform. Support --target and
3252 --directory. Read platform from modinfo.sh.
3254 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3256 Support btrfs multi-volume probe.
3258 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3259 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3260 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3261 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3262 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3263 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3264 grub_find_root_devices_from_btrfs if on btrfs.
3266 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3268 Remove any awareness of *.c util files about target.
3270 * Makefile.util.def (grub-setup): Split to ...
3271 (grub-bios-setup): ... and this.
3272 (grub-sparc64-setup): ... and this.
3273 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3274 * docs/man/grub-setup.h2m: Split into ...
3275 * docs/man/grub-sparc64-setup.h2m: ... this.
3276 * docs/man/grub-bios-setup.h2m: ... and this.
3277 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3278 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3279 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3280 (grub_target_addr_t): Remove.
3281 (grub_target_size_t): Remove.
3282 (grub_target_ssize_t): Remove.
3283 * util/grub-install.in: Use new grub-*-setup.
3284 * util/grub-mkimagexx.c (Elf_Word): New define.
3285 (Elf_Half): Likewise.
3286 (Elf_Section): Likewise.
3287 (ELF_ST_TYPE): Likewise.
3288 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3289 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3291 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3293 Replace grub_target_addr with more appropriate types.
3295 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3296 grub_target_addr with grub_addr.
3297 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3298 grub_target_addr with grub_port.
3299 (grub_cmd_write): Likewise.
3300 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3301 grub_target_addr with grub_addr.
3302 (grub_cmd_write): Likewise.
3303 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3305 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3307 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3308 const qualifier for vendor_guid.
3310 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3312 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3314 (efiemu_memequal): Likewise.
3315 (find_variable): Likewise.
3317 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3319 Fix missing console prototype on qemu-mips.
3321 * include/grub/mips/qemu_mips/console.h: New file.
3323 2012-02-27 Matthew Garrett <mjg@redhat.com>
3324 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3326 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3327 * include/grub/efi/efi.h: Likewise.
3328 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3329 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3330 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3331 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3332 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3333 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3335 2012-02-27 Matthew Garrett <mjg@redhat.com>
3337 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3339 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3341 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3344 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3346 * configure.ac: Remove inappropriate use of program_transform_name
3347 on grubdir and bootdir but allow explicit specification of those
3350 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3352 * util/grub-mknetdir.in (grub_prefix): Removed.
3353 (subdir): Use @bootdirname@ and @grubdirname@.
3355 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3357 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3359 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3361 * po/POTFILES.in: Regenerated.
3363 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3365 Remove improper use of program_transform_name on pkglibrootdir.
3367 * configure.ac (pkglibrootdir): Removed.
3368 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
3369 * util/grub-mkimage.c: Likewise.
3371 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3373 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
3376 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3378 * util/grub-install.in: Use file identifier if no UUID is available
3379 or user explicitly prompted for it.
3381 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
3383 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
3384 (freebsd_get_zfs): New function.
3385 (grub_freebsd_boot): Pass zfs UUID.
3386 (grub_cmd_freebsd): Set zfs UUID.
3388 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3390 * conf/Makefile.common (platformdir): Base on pkglibdir and not
3393 2012-02-27 Mike Gilbert <floppym@gentoo.org>
3395 Add configure flag to control libzfs integration.
3397 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
3399 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3401 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
3403 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
3406 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3408 Remove grub_{modname}_init and grub_{modname}_fini. They should never
3409 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
3410 be used on non-modules.
3412 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
3413 Rename to grub_boot_init.
3414 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
3415 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
3416 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
3417 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
3418 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
3419 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
3420 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
3421 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
3423 (grub_machine_init): Remove empty inits.
3424 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
3426 (grub_machine_init): Remove empty inits.
3427 * grub-core/term/arc/console.c: Remove explicit proto.
3428 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
3429 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
3430 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3431 grub_at_keyboard_fini.
3432 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
3433 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
3434 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3436 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
3437 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
3438 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3440 * grub-core/term/ieee1275/console.c: Remove explicit proto.
3441 * grub-core/term/serial.c (GRUB_MOD_INIT)
3442 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
3443 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3445 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
3446 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
3447 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3449 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
3450 (GRUB_MOD_FINI): Likewise.
3451 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
3452 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
3453 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3454 grub_video_radeon_fuloong2e_fini.
3455 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
3456 [LOONGSON]: Rename to grub_video_sis315pro_init.
3457 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3458 grub_video_sis315pro_fini.
3459 * grub-core/video/sm712.c (GRUB_MOD_INIT)
3460 [LOONGSON]: Rename to grub_video_sm712_init.
3461 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3462 grub_video_sm712_fini.
3463 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
3464 (grub_at_keyboard_fini): Likewise.
3465 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
3466 Don't declare grub_{modname}_init.
3467 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
3468 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
3470 (grub_keylayouts_fini) [!EMU]: Likewise.
3471 * include/grub/serial.h (grub_serial_init) [!EMU]:
3473 (grub_serial_fini) [!EMU]: Likewise.
3474 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
3476 (grub_terminfo_fini) [!EMU]: Likewise.
3477 * include/grub/video.h (grub_font_init) [!EMU]:
3479 (grub_font_fini) [!EMU]: Likewise.
3480 (grub_gfxterm_init) [!EMU]: Likewise.
3481 (grub_gfxterm_fini) [!EMU]: Likewise.
3482 (grub_video_sm712_init) [!EMU]: Likewise.
3483 (grub_video_sm712_fini) [!EMU]: Likewise.
3484 (grub_video_sis315pro_init) [!EMU]: Likewise.
3485 (grub_video_sis315pro_fini) [!EMU]: Likewise.
3486 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
3487 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
3489 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3491 Make nand a prefix for nand devices.
3493 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
3495 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3497 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
3498 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
3500 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3502 * include/grub/env.h (grub_env_find): Remove prototype.
3503 * grub-core/kern/env.c (grub_env_find): Make static.
3504 (grub_env_set): Remove useless set.
3506 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3508 * grub-core/kern/i386/realmode.S: Remove useless align.
3510 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3512 * include/grub/dl.h (grub_dl_load_file): Don't export.
3514 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3516 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
3519 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3521 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
3523 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
3524 not reloading whole superblock but only the part which is really needed.
3525 Remove useless grub_errors.
3526 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
3529 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3531 Don't export grub_get_rtc.
3533 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
3534 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
3536 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3538 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
3540 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3542 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
3543 argument since it can be deduced from diskfilter. All users updated.
3545 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3549 * include/grub/list.h (grub_prio_list): Removed.
3550 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
3551 GRUB_COMMAND_PRIO_MASK.
3552 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
3553 GRUB_COMMAND_FLAG_ACTIVE.
3554 (grub_prio_list_insert): Removed.
3555 (grub_prio_list_remove): Likewise.
3556 (GRUB_AS_PRIO_LIST): Likewise.
3557 (GRUB_AS_PRIO_LIST_P): Likewise.
3558 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
3559 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
3560 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
3561 * grub-core/kern/command.c (grub_register_command_prio): Inline
3563 (grub_unregister_command): Likewise.
3565 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3567 Fix interrupt mixup from previous commit.
3569 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
3570 (grub_realidt): New var.
3571 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
3573 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
3575 (grub_relocator16_boot): Set grub_relocator16_idt.
3576 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
3577 (LOCAL(realidt)): ... this.
3578 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
3579 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
3580 (grub_realidt): New variable.
3582 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3584 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
3585 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
3586 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
3587 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
3589 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
3590 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
3591 * po/POTFILES.in: Regenerate.
3593 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3595 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
3598 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3600 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
3602 (add_length): Likewise.
3604 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3605 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
3607 GDB serial and backtrace support.
3609 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
3610 (prot_to_real): Likewise.
3611 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
3612 * grub-core/Makefile.core.def (backtrace): New module.
3614 * grub-core/gdb/cstub.c: New file.
3615 * grub-core/gdb/gdb.c: Likewise.
3616 * grub-core/gdb/i386/idt.c: Likewise.
3617 * grub-core/gdb/i386/machdep.S: Likewise.
3618 * grub-core/gdb/i386/signal.c: Likewise.
3619 * grub-core/lib/i386/backtrace.c: Likewise.
3620 * grub-core/lib/backtrace.c: Likewise.
3621 * include/grub/backtrace.h: Likewise.
3622 * include/grub/gdb.h: Likewise.
3623 * include/grub/i386/gdb.h: Likewise.
3625 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3627 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
3629 (add_length): Likewise.
3630 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
3631 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
3633 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
3634 __argp_get_display_len.
3636 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3638 $"..." support in scripts.
3640 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
3641 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
3642 * grub-core/script/yylex.l: Likewise.
3643 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
3646 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3648 * gentpl.py: Remove obsolete pkglib_DATA handling.
3650 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3652 Don't transform PACKAGE_TARNAME following a discussion on autoconf
3655 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
3656 * util/grub-kbdcomp.in: Likewise.
3657 * util/grub-mkconfig.in: Likewise.
3658 * util/grub-mkconfig_lib.in: Likewise.
3659 * util/grub-mknetdir.in: Likewise.
3660 * util/grub-mkrescue.in: Likewise.
3661 * util/grub-mkstandalone.in: Likewise.
3662 * util/grub-reboot.in: Likewise.
3663 * util/grub-set-default.in: Likewise.
3664 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3666 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3670 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
3671 * util/grub.d/00_header.in: Compute prefix in the only place it's still
3672 used for backward compatibility.
3674 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3676 Add new all_video module.
3678 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
3679 * grub-core/Makefile.core.def (all_video): New module.
3680 * grub-core/genmoddep.awk: Generate dependency of all_video from
3682 * grub-core/lib/fake_module.c: New file.
3683 * grub-core/normal/main.c (features): Add feature_all_video_module.
3684 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
3685 don't do explicit search again.
3686 insmod all_video in load_video if available.
3688 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3690 Another round of string clarification and adding TRANSLATORS comments.
3692 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3694 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
3696 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3698 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
3700 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
3701 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
3703 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3705 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
3706 trailing newline implicitly. All users updated.
3708 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3710 Implement serial on IEEE1275 and EFI.
3712 * docs/grub.texi (Platform-specific limitations): Fix the columen video
3713 on emu. Mention arc and emu as the only platforms without serial
3715 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
3717 * grub-core/term/efi/serial.c: New file.
3718 * grub-core/term/ieee1275/serial.c: Likewise.
3719 * grub-core/term/serial.c (grub_serial_find): Disable direct port
3720 specification if no ns8250 driver is available.
3721 (grub_cmd_serial): Likewise.
3722 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
3723 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
3724 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
3725 (grub_efi_parity_type_t): New type.
3726 (grub_efi_stop_bits_t): Likewise.
3727 (grub_efi_serial_io_interface): New struct.
3728 * include/grub/serial.h (grub_serial_port): Make 'broken' field
3729 available for all interfaces.
3730 Add EFI and IEEE1275 fields.
3731 (grub_ofserial_init): New proto.
3732 (grub_efiserial_init): Likeiwse.
3733 * util/grub.d/00_header.in: Don't check for the presence of serial
3736 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3738 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
3739 name as if it was an alias.
3741 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3743 * grub-core/commands/lsacpi.c (options): Fix typo.
3745 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3747 Convert grub-emu to argp.
3749 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
3751 * util/argp_common.c: Rename to ...
3752 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
3753 Add missing includes.
3754 * grub-core/kern/emu/main.c: Convert to argp.
3755 * po/POTFILES.in: Regenerate.
3756 * util/grub-install.in (usage): Make first letter lowcase in messages
3758 * util/grub-setup.c (options): Likewise.
3760 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3762 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
3763 Put back accidently commented-out code.
3765 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3767 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
3768 loop check using Brent algorithm.
3769 (grub_hfsplus_btree_search): Likewise.
3771 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3773 * util/grub-install.in: Fix usage of wrong device for PreP install.
3775 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3777 * conf/Makefile.common (CFLAGS_GNULIB): Add
3778 -Wno-unsafe-loop-optimizations.
3779 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
3781 * grub-core/commands/legacycfg.c: Add pragma to skip
3782 -Wunsafe-loop-optimizations.
3783 (check_password_md5_real): Fix loop counter type.
3784 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
3786 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
3787 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
3789 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
3790 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
3791 * grub-core/net/net.c (grub_net_route_address): Add safety loop
3793 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
3794 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
3795 avoid possible infinite loops.
3796 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
3797 and -Wunsafe-loop-optimizations.
3798 * grub-core/script/yylex.l: Likewise.
3799 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
3800 (print_glyphs): Avoid infinite loops.
3801 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
3803 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
3805 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
3806 to avoid infinite loop.
3807 (disp_acpi_rsdt_table): Likewise.
3809 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3811 * grub-core/font/font.c (grub_font_load): Add support for default
3812 path for fonts ($prefix/fonts).
3813 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
3814 for checking if string is a path.
3815 * grub-core/normal/main.c (features): Add feature_default_font_path.
3816 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
3817 * util/grub.d/00_header.in: Use default directory if possible.
3818 * util/grub-install.in: Install unicode.pf2.
3820 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3822 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
3823 * po/Rules-swiss: New file.
3824 * po/swiss.sed: Likewise.
3826 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3828 * grub-core/fs/btrfs.c (find_device): Fix typos.
3829 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
3830 * util/grub-mkrelpath.c (argp_parser): Likewise.
3831 Reported by: Yuri Chornoivan.
3833 2012-02-23 Dalet Omega <daletomega@gmail.com>
3835 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
3836 for usual informative messages.
3838 2012-02-23 Dalet Omega <daletomega@gmail.com>
3842 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
3843 * conf/Makefile.common: Define starfielddir.
3844 * configure.ac: Configure starfield.
3845 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
3846 * themes/starfield/README: Likewise.
3847 * themes/starfield/blob_w.png: Likewise.
3848 * themes/starfield/boot_menu_c.png: Likewise.
3849 * themes/starfield/boot_menu_e.png: Likewise.
3850 * themes/starfield/boot_menu_n.png: Likewise.
3851 * themes/starfield/boot_menu_ne.png: Likewise.
3852 * themes/starfield/boot_menu_nw.png: Likewise.
3853 * themes/starfield/boot_menu_s.png: Likewise.
3854 * themes/starfield/boot_menu_se.png: Likewise.
3855 * themes/starfield/boot_menu_sw.png: Likewise.
3856 * themes/starfield/boot_menu_w.png: Likewise.
3857 * themes/starfield/slider_c.png: Likewise.
3858 * themes/starfield/slider_n.png: Likewise.
3859 * themes/starfield/slider_s.png: Likewise.
3860 * themes/starfield/src/blob_nw.xcf: Likewise.
3861 * themes/starfield/src/bootmenu/: Likewise.
3862 * themes/starfield/src/bootmenu/center.xcf: Likewise.
3863 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
3864 * themes/starfield/src/bootmenu/side.xcf: Likewise.
3865 * themes/starfield/src/slider_c.xcf: Likewise.
3866 * themes/starfield/src/slider_n.xcf: Likewise.
3867 * themes/starfield/src/slider_s.xcf: Likewise.
3868 * themes/starfield/src/terminalbox/: Likewise.
3869 * themes/starfield/src/terminalbox/center.xcf: Likewise.
3870 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
3871 * themes/starfield/src/terminalbox/side.xcf: Likewise.
3872 * themes/starfield/starfield.png: Likewise.
3873 * themes/starfield/terminal_box_c.png: Likewise.
3874 * themes/starfield/terminal_box_e.png: Likewise.
3875 * themes/starfield/terminal_box_n.png: Likewise.
3876 * themes/starfield/terminal_box_ne.png: Likewise.
3877 * themes/starfield/terminal_box_nw.png: Likewise.
3878 * themes/starfield/terminal_box_s.png: Likewise.
3879 * themes/starfield/terminal_box_se.png: Likewise.
3880 * themes/starfield/terminal_box_sw.png: Likewise.
3881 * themes/starfield/terminal_box_w.png: Likewise.
3882 * themes/starfield/theme.txt: Likewise.
3884 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3886 * util/grub.d/00_header.in: Add missing export theme.
3888 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3890 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
3892 Reported by: Eren D.
3894 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3896 * conf/Makefile.common (grubdatadir): Removed.
3897 (Makefile.am): Move eveything grubdata to pkgdata.
3899 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3901 * grub-core/commands/acpihalt.c (get_sleep_type):
3902 Remove unused variable.
3904 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3906 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
3907 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
3908 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
3909 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
3910 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
3911 i18n with gettext no-op.
3912 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
3913 GRUB_ACPI_OPCODE_STRING_CONST.
3914 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
3915 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
3917 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3919 * po/POTFILES.in: Regenerate.
3921 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3923 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
3924 -Wno-error=missing-noreturn.
3926 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3928 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
3929 condition to avoid possibly infinite loops.
3930 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
3931 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
3933 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3935 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
3936 condition to avoid possibly infinite loops.
3938 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3940 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
3943 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3945 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
3947 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3949 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
3951 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3953 * util/bin2h.c (usage): Add missing attribute noreturn.
3955 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3957 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
3958 if the size isn't divisible by 512.
3960 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3962 Make list_push and list_remove functions rather than inline functions
3963 to decrease size and avoid aliasing violations.
3965 * include/grub/list.h (grub_list_push): Move to ...
3966 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
3967 * include/grub/list.h (grub_list_remove): Move to ...
3968 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
3970 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3972 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
3973 and -Wunused-result.
3975 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3977 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
3978 Reported by: Seth Goldberg
3980 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3982 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
3984 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
3986 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
3987 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
3989 * docs/grub.texi (Simple configuration): Document
3990 GRUB_CMDLINE_GNUMACH.
3992 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
3994 * conf/Makefile.common (platform_SCRIPTS): New variable.
3995 (platform_PROGRAMS): Likewise.
3996 * gentpl.py: Mark *,module and *.image for install.
3997 * grub-core/gdb_grub.in: Add a notice of expected environment.
3998 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
3999 (gmodule.pl): Likewise.
4001 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4003 Replace grub_checkkey with grub_getkey_noblock.
4005 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4006 (grub_getkey_noblock): ... this. All users updated.
4008 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4010 * grub-core/kern/emu/console.c: Move to ...
4011 * grub-core/term/emu/console.c: ...here.
4012 (grub_ncurses_getkey): Fix return value if no key is detected.
4014 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4016 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4017 (grub_unit_test_fini): Likewise.
4018 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4020 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4022 * include/grub/test.h (GRUB_UNIT_TEST)
4024 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4026 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4027 Better error handling.
4028 (grub_script_return): Likewise.
4029 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4031 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4033 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4034 rimplicit redifinition.
4036 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4038 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4041 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4043 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4044 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4047 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4049 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4050 as GRUB_ERR_BUG. Don't malloc if no device is available.
4052 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4054 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4055 Mark calling with invalid term as GRUB_ERR_BUG.
4057 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4059 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4060 packets rather than raising an error.
4062 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4064 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4067 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4069 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4070 diagnostic to dprintf.
4071 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4073 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4075 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4078 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4080 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4081 (grub_ntfs_iterate_dir): Likewise.
4083 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4085 Efiemu stylistic fixes and gettext.
4087 * grub-core/efiemu/i386/loadcore32.c
4088 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4089 * grub-core/efiemu/i386/loadcore64.c
4090 (grub_arch_efiemu_relocate_symbols64): Likewise.
4091 * grub-core/efiemu/i386/pc/cfgtables.c
4092 (grub_machine_efiemu_init_tables): Likewise.
4093 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4094 (grub_efiemu_loadcore_initXX): Add a filename argument.
4096 Improved error message.
4097 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4098 Add a filename argument.
4100 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4101 Reclassify double relocation as GRUB_ERR_BUG.
4103 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4105 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4108 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4110 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4113 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4115 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4117 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4119 Improve string. Gettextize.
4121 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4123 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4125 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4127 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4129 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4130 [GRUB_UTIL]: New function.
4131 (insert_array) [GRUB_UTIL]: Store partmaps.
4132 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4134 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4135 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4136 (probe_abstraction): Print diskfilter and not raid.
4137 Reported by: Lennart Sorensen
4139 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4141 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4142 * util/grub-mkimagexx.c (MASK3): New define.
4143 (add_value_to_slot_20b): Use MASK3.
4144 (add_value_to_slot_21): Likewise.
4145 (relocate_addresses): Fix format specification.
4146 (load_image): Explicitly init symtab_section.
4148 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4150 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4151 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4153 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4155 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4157 Reported by: Lennart Sorensen
4159 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4161 * gentpl.py: Add missing license header.
4162 * docs/grub.texi: Update copyright year.
4164 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4166 Source grub-mkconfig_lib from the build directory at build time.
4167 Suggested by: Vladimir Serbinenko.
4169 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4170 * util/grub-install.in: Define pkgdatadir if not already set, and source
4171 grub-mkconfig_lib from there.
4172 * util/grub-kbdcomp.in: Likewise.
4173 * util/grub-mkconfig.in: Likewise.
4174 * util/grub-mknetdir.in: Likewise.
4175 * util/grub-mkrescue.in: Likewise.
4176 * util/grub-mkstandalone.in: Likewise.
4177 * util/grub-reboot.in: Likewise.
4178 * util/grub-set-default.in: Likewise.
4179 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4181 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4183 Increase warning level.
4185 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4186 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4187 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4188 (TARGET_CFLAGS): Likewise.
4189 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4190 * grub-core/Makefile.core.def (decompressor_xz): Add
4191 -Wno-unreachable-code.
4192 (normal): Add -Wno-redundant-decls.
4193 (xzio): Add -Wno-unreachable-code.
4194 (lzopio): Add -Wno-redundant-decls -Wno-error.
4195 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4196 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4197 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4198 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4199 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4200 * grub-core/kern/i386/coreboot/init.c: Add exception to
4201 -Wsuggest-attribute=noreturn.
4202 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4203 * grub-core/kern/ia64/dl_helper.c: Likewise.
4204 * grub-core/kern/mips/dl.c: Likewise.
4205 * grub-core/kern/sparc64/dl.c: Likewise.
4206 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4207 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4209 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4210 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4211 * grub-core/loader/mips/linux.c: Likewise.
4212 * grub-core/loader/multiboot_elfxx.c: Likewise.
4213 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4214 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4215 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4216 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4218 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4219 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4222 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4224 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4227 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4229 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4230 Avoid improper use of strings.
4231 (grub_cmd_legacy_initrdnounzip): Likewise.
4233 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4235 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4237 (grub_util_info): Likewise.
4238 (grub_util_error): Likewise.
4240 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4242 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4243 * util/grub-fstest.c (fstest): Likewise.
4245 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4247 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4248 (grub_md_sha512_real): Likewise.
4249 (grub_util_get_geli_uuid): Likewise.
4250 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4251 (grub_util_biosdisk_open): Fix format specification.
4252 Respect format security.
4253 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4254 (xrealloc): Likewise.
4255 (xasprintf): Likewise.
4257 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4259 * util/import_gcry.py: Include grub/crypto.h in init.c.
4261 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4263 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4264 (generate_image): Make prefix a const char *.
4265 Fix format specifications. Respect format security.
4266 Avoid void * arithmetics.
4268 (argp_parser): Remove unused variable. Respect format security.
4269 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4270 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4271 (count_funcs): Remove unused variable.
4272 (relocate_addresses): Fix format specification.
4273 Disable x86-64 with elf32. Remove unused variables.
4274 (add_fixup_entry): Avoid shadowing.
4275 (make_reloc_section): Fix format specification.
4277 (locate_sections): Fix format specifications.
4278 (load_image): Avoid shadowing.
4280 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4282 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4283 Fix format specifications. Respect format security.
4284 Don't translate already translated grub_errmsg.
4285 (argp_parser): Remove unused variable
4287 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4289 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4291 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4293 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4294 (main): Likewise. Use xmalloc. Respect format security.
4296 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4298 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4300 (argp_parser): Remove unused variable.
4302 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4304 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4305 (add_pixel): Make static.
4306 (add_font): Likewise.
4307 (write_string_section): Make name and str a const char *.
4308 (write_be16_section): Make name a const char *.
4309 (print_glyphs): Make static.
4310 (write_font_ascii_bitmap): Likewise.
4311 (write_font_width_spec): Likewise.
4312 (write_font_pf2): Likewise.
4313 (argp_parser): Remove unused variable.
4314 Respect format security.
4315 (main): Avoid shadowing. Respect format security.
4317 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4319 * util/grub-editenv.c (argp_parser): Make static.
4320 (create_envblk_file): Use xmalloc.
4321 (open_envblk_file): Likewise.
4322 Resepect format security.
4323 (set_variables): Respect format security.
4325 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4327 * util/getroot.c (grub_find_device): Respect format security.
4328 (get_mdadm_uuid): Remove unused variable.
4329 (grub_util_pull_device): Dont call gettext on already translated
4331 (find_system_device): Remove unused variable.
4332 (grub_util_get_grub_dev): Likewise.
4333 (grub_make_system_path_relative_to_its_root): Respect format security.
4335 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4337 * util/grub-fstest.c (execute_command): Make first argument
4339 (read_file): Avoid shadowing.
4340 Reuse underlying error message if device open fails.
4341 (cmd_cmp): Respect format security.
4342 (root): Make const char *.
4343 (fstest): Remove args argument and use global copy.
4344 Respect format security.
4345 (argp_parser): Make static.
4346 (main): Make default_root const char *.
4348 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4350 * util/grub-mount.c (root): Make const char *.
4351 (execute_command): Make first argument a const char *.
4352 (fuse_init): Respect format security.
4353 (argp_parser): Make static. Remove unused variable.
4354 (main): Make default_root a const char *.
4355 Respect format security.
4357 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4359 * util/grub-probe.c (probe): Don't call gettext on already translated
4361 Remove unused variables.
4362 (argp_parser): Remove unused variable.
4364 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4366 * util/grub-script-check.c (argp_parser): Remove unused variable.
4367 (main): Rename read to curread to avoid shadowing.
4369 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4371 * util/misc.c (grub_util_write_image_at): Fix format specification.
4372 (grub_util_write_image): Likewise.
4373 (grub_script_execute_argument_to_string): Removed (unused).
4374 (grub_script_execute_menuentry): Likewise.
4375 (grub_putchar): Likewise.
4377 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4379 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
4380 (FUNCTION) [GRUB_UTIL]: Likewise.
4381 (VARIABLE) [GRUB_UTIL]: Likewise.
4383 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4385 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
4386 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
4388 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4390 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
4393 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4395 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
4396 (LzmaEnc_SaveState): Removed (unused).
4397 (LzmaEnc_RestoreState): Likewise.
4398 (LzmaEnc_InitPriceTables): Made static.
4399 (LzmaEnc_Construct): Likewise.
4400 (LzmaEnc_FreeLits): Likewise.
4401 (LzmaEnc_Destruct): Likewise.
4402 (LzmaEnc_Init): Likewise.
4403 (LzmaEnc_InitPrices): Likewise.
4404 (LzmaEnc_Finish): Likewise.
4405 (LzmaEnc_PrepareForLzma2): Removed (unused).
4406 (LzmaEnc_MemPrepare): Likewise.
4407 (LzmaEnc_GetNumAvailableBytes): Likewise.
4408 (LzmaEnc_GetCurBuf): Likewise.
4409 (LzmaEnc_CodeOneMemBlock): Likewise.
4411 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4413 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
4414 (grub_util_ldm_embed): Likewise.
4416 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4418 * util/grub-editenv.c (print_var): Rename name to varname to
4420 (main): Rename index to curindex to avoid shadowing.
4421 Make filename a const char *.
4423 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4425 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4426 to arg_getline to avoid shadowing.
4428 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4430 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
4431 disk_ to avoid shadowing.
4433 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4435 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
4436 curindex to avoid shadowing.
4438 (MatchFinder_GetNumAvailableBytes): Make static.
4440 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4442 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
4445 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4447 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
4448 argument from encrypt to do_encrypt to avoid shadowing.
4450 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4452 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
4453 incorrect nesting of #if's.
4455 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4457 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
4458 checks which are always false on some platforms.
4459 (grub_cmd_lsacpi): Likewise.
4460 * grub-core/kern/misc.c (grub_strtoul): Likewise.
4461 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
4464 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4466 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
4467 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
4469 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4471 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
4472 re_dfa_t to avoid breaking alignment invariants.
4473 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
4474 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
4476 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4478 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
4479 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
4481 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4483 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
4486 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4488 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
4489 conserve alignment invariants.
4490 (grub_ehci_ehcc_read16): Likewise.
4491 (grub_ehci_oper_read32): Likewise.
4492 (grub_ehci_oper_write32): Likewise.
4493 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4494 Conserve alignment invariants.
4496 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4498 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
4499 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
4502 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4504 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
4505 Remove unused variable.
4507 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4509 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
4512 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4514 * include/grub/net.h: Remove double declarations.
4516 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4518 Remove "payload" command in ia64 Linux loader since I couldn't
4519 find any evidence of it being used for anything.
4520 Replace "relocate" command with an environment variable
4522 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
4524 (ia64_boot_payload): Removed.
4525 (last_payload): Likewise.
4526 (RELOCATE_OFF): Likewise.
4527 (RELOCATE_ON): Likewise.
4528 (RELOCATE_FORCE): Likewise.
4529 (relocate): Likewise.
4530 (free_pages): Don't free payloads.
4531 (grub_load_elf64): Use common error messages.
4532 Use "linux_relocate" variable.
4533 Increase the space after boot_params.
4534 (grub_cmd_payload): Removed.
4535 (grub_cmd_relocate): Likewise.
4536 (grub_cmd_fpswa): Improve messages.
4537 (cmd_payload): Removed.
4538 (cmd_relocate): Likewise.
4539 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
4540 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
4542 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4544 Convert UHCI to DMA framework.
4546 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
4547 (grub_uhci_pci_iter): Fill new members
4548 (grub_alloc_td): Use P2V and V2P functions.
4549 (grub_free_queue): Likewise.
4550 (grub_alloc_qh): Likewise.
4551 (grub_uhci_setup_transfer): Likewise.
4552 (grub_uhci_check_transfer): Likewise.
4554 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4556 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
4557 Remove assignment in if while on it.
4559 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4561 * util/grub-mkstandalone.in: Fix modules directory.
4563 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4565 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
4567 (argp_parser): Accept "auto" as compression specification.
4569 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4571 Fix `help' with unloaded modules.
4573 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
4574 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
4575 (grub_dyncmd_dispatcher): Small stylistic fix.
4576 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
4577 explicit help is requested.
4579 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4581 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
4582 Explicitly init restart while on it.
4584 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4586 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
4589 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4591 * util/grub-mknetdir.in: Use . rather than source for POSIX
4594 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4596 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
4598 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4600 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
4603 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4605 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
4608 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4610 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
4612 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4614 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
4615 iteration of partitions.
4617 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4619 Improve gettext support. Stylistic fixes and error handling fixes while
4622 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4624 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
4625 part. Instead setup the correct stack in RM.
4626 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
4628 * include/grub/i386/relocator_private.h: New file.
4630 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4632 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
4634 * util/grub-fstest.c (options): Add missing DEVICE part.
4636 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4638 Clarify and unify messages.
4640 * grub-core/commands/hashsum.c (options): Unify messages.
4641 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
4642 literal-only message as translatable.
4643 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
4644 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
4645 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
4647 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
4648 key, not the key used to unlock. Clarify what it's used for.
4649 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
4650 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
4651 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
4652 * util/grub-editenv.c (options): Unify "verbose" message.
4653 * util/grub-fstest.c (read_file): Unify error message.
4654 (fstest): Add quotes around commands.
4655 (options): Unify "verbose" message.
4656 * util/grub-install.in: Add quotes around variable name.
4657 * util/grub-kbdcomp.in: Unify error message.
4658 * util/grub-mkfont.c (main): Likewise.
4659 * util/grub-mkrescue.in: Likewise.
4660 * util/grub-mklayout.c (options): Unify "verbose" message.
4661 * util/grub-mkstandalone.in: Unify help and verbose messages.
4662 * util/grub-mount.c (options): Unify "verbose" message.
4663 * util/grub-probe.c (options): Likewise.
4664 * util/grub-script-check.c (options): Likewise.
4665 * util/grub-setup.c (setup): Unify no-terminator message.
4666 (options): Use DEVICE and not DEV.
4667 Unify "verbose" message.
4668 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
4670 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4672 Improve and unify messages.
4674 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
4675 name. All users updated.
4676 Print filename in error.
4677 (read_device_map): Print filename in error.
4678 * util/getroot.c (grub_guess_root_devices): Print filename in error.
4679 (grub_util_get_os_disk): Likewise.
4680 (grub_util_biosdisk_get_grub_dev): Likewise.
4681 (grub_util_check_block_device): Likewise.
4682 (grub_util_check_char_device): Likewise.
4683 (grub_make_system_path_relative_to_its_root): Likewise.
4684 * util/grub-editenv.c (create_envblk_file): Likewise.
4685 (open_envblk_file): Likewise.
4686 (write_envblk): Likewise.
4687 * util/grub-fstest.c (cmd_cp): Likewise.
4688 (cmd_cat): Likewise.
4689 (cmd_cmp): Likewise.
4690 * util/grub-menulst2cfg.c (main): Likewise.
4691 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
4692 (write_font_width_spec): Likewise.
4693 (write_font_pf2): Likewise.
4694 * util/grub-mkimage.c (generate_image): New argument outname.
4696 Remove unreacheable message.
4697 (options): Unify messages.
4698 (help_filter): Likewise.
4699 * util/grub-mklayout.c (usage): Removed (unused).
4700 (main): Print filename in error.
4701 * util/grub-mkrescue.in: Fix wrong quoting.
4702 * util/grub-setup.c (setup): Print filename in error.
4703 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
4704 (check_sas): Likewise.
4705 * util/misc.c (grub_util_get_fp_size): Removed.
4706 (grub_util_get_image_size): Print filename in error.
4707 (grub_util_read_at): Removed.
4708 (grub_util_read_image): Print filename in error.
4709 (grub_util_load_image): Likewise.
4710 (grub_util_write_image_at): New argument filename. All users updated.
4711 Print filename in error.
4712 (grub_util_write_image): New argument filename. All users updated.
4713 Print filename in error.
4714 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
4715 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
4717 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4719 * grub-core/Makefile.core.def (pxechain): New module.
4720 * grub-core/loader/i386/pc/pxechainloader.c: New file.
4721 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
4723 (grub_pc_net_config_real): Use grub_pxe_get_cached.
4724 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
4726 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4728 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
4729 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
4730 * include/grub/err.h (grub_error_saved): New struct.
4731 (grub_errmsg): Make array size explicit.
4732 * include/grub/misc.h (grub_error_save): New function.
4733 (grub_error_load): Likewise.
4734 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
4735 (grub_error_push): Update `errno' member name.
4736 (grub_error_pop): Likewise
4737 * grub-core/net/tftp.c (tftp_data): New member save_err.
4738 (tftp_receive): Save error.
4739 (tftp_open): Restore error.
4741 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4743 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
4744 to real mode down to execute A20-related code in protected mode as
4747 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4749 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
4750 NULL when the argument `level' has an unexpected value.
4752 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4754 Move platform-dependent files from $prefix to $prefix/$platform.
4756 * config.h.in (GRUB_TARGET_CPU): New definition.
4757 (GRUB_PLATFORM): Likewise.
4758 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
4759 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
4760 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4761 * grub-core/kern/dl.c (grub_dl_load): Likewise.
4762 * grub-core/normal/autofs.c (read_fs_list): Likewise.
4763 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
4764 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
4765 * grub-core/normal/term.c (read_terminal_list): Likewise.
4766 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
4768 (grub_gettext_init_ext): Likewise.
4769 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
4771 * util/grub-install.in: Update directories.
4772 * util/grub-mknetdir.in: Likewise.
4773 * util/grub-mkrescue.in: Likewise.
4775 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4777 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
4778 grub_error framework. All users updated.
4780 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4782 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
4783 lists (by always binsearching), improve caching (cache strings
4784 used for binsearch, not only results), improve
4785 maintainability (by using more structured binary search) and correct
4788 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4790 * grub-core/script/execute.c (grub_script_return): Fix warning.
4792 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4794 * grub-core/script/execute.c (grub_script_return): Fix potential
4796 Reported by: Jim Meyering.
4798 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4800 * po/POTFILES.in: Regenerate.
4801 * util/grub-install.in: Gettextize the strings missed in first pass.
4803 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4805 * Makefile.util.def (grub-mkdevicemap): Removed.
4806 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
4807 * include/grub/util/deviceiter.h: Removed.
4808 * util/deviceiter.c: Likewise.
4809 * util/getroot.c (grub_util_get_os_disk): New function.
4810 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
4811 replacement for EFI.
4812 * util/grub-mkdevicemap.c: Removed.
4813 * util/grub-probe.c (probe): Handle PRINT_DISK.
4814 (argp_parser): Handle -t disk.
4816 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4818 * util/grub-mkfont.c: Migrate to argp.
4819 * util/grub-mklayout.c: Likewise.
4820 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4821 * util/grub-mkrelpath.c: Likewise.
4822 * util/grub-probe.c: Likewise.
4823 * util/grub-script-check.c: Likewise.
4825 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4827 * util/grub-reboot.in: Add missing datarootdir.
4828 Add missing newline.
4829 * util/grub-set-default.in: Add missing datarootdir.
4830 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
4831 * util/grub-mkrescue.in: Likewise.
4833 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4835 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
4837 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4839 * util/grub-kbdcomp.in: Add decent help and gettextize.
4840 * docs/man/grub-kbdcomp.h2m: New file.
4842 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4844 Migrate grub-mkimage.c to argp.
4846 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
4847 (grub-setup): Likewise.
4848 * util/grub-setup.c (print_version): Move to ...
4849 * util/argp_common.c (print_version): ... here.
4850 * util/grub-setup.c (argp_program_version_hook): Move to ...
4851 * util/argp_common.c (argp_program_version_hook): ... here.
4852 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
4854 * util/grub-mkimage.c (main): Migrate to argp.
4856 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4858 * util/grub-mkrescue.in: Use same message as
4859 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
4860 for better translations.
4862 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4864 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
4865 options with generic grub-mkrescue.in with the goal of future
4868 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4870 * grub-core/kern/mm.c: Add missing include of i18n.h
4871 * grub-core/lib/relocator.c: Likewise.
4873 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4875 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
4877 (allocate_pages): Check return value.
4878 Replace fatal with error.
4879 (grub_linux_boot): Replace printf with dprintf.
4880 Check find_mmap_size return value.
4881 Replace fatal with error.
4882 Don't call grub_machine_fini.
4883 (grub_load_elf64): Replace printf with dprintf.
4884 (grub_cmd_linux): Likewise.
4885 (grub_cmd_initrd): Likewise.
4886 (grub_cmd_payload): Likewise.
4888 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4890 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
4892 * grub-core/video/radeon_fuloong2e.c
4893 (grub_video_radeon_fuloong2e_setup): Likewise.
4894 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
4895 * grub-core/video/video.c (grub_video_set_mode): Don't override
4896 standard out of memory message.
4898 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4900 NetBSD disk wedge support.
4902 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
4903 [__NetBSD__]: Handle NetBSD disk wedges.
4904 * util/getroot.c (convert_system_partition_to_system_disk)
4905 [__NetBSD__]: Likewise.
4907 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
4909 * util/grub-mkconfig.in: Use umask rather than chmod to create
4910 grub.cfg.new to avoid insecure grub.cfg.
4912 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4914 * grub-core/commands/ls.c: Gettextize.
4915 * grub-core/commands/setpci.c: Likewise.
4916 * grub-core/commands/videotest.c: Likewise.
4917 * grub-core/disk/geli.c: Likewise.
4918 * grub-core/kern/mm.c: Likewise.
4919 * grub-core/lib/relocator.c: Likewise.
4920 * grub-core/loader/efi/appleloader.c: Likewise.
4921 * grub-core/loader/i386/xnu.c: Likewise.
4922 * grub-core/loader/ia64/efi/linux.c: Likewise.
4923 * grub-core/loader/xnu.c: Likewise.
4924 * grub-core/net/dns.c: Likewise.
4925 * grub-core/net/net.c: Likewise.
4926 * grub-core/script/lexer.c: Likewise.
4927 * grub-core/script/parser.y: Likewise.
4928 * grub-core/script/yylex.l: Likewise.
4929 * util/getroot.c: Likewise.
4930 * util/grub-setup.c: Likewise.
4932 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4934 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
4937 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4939 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
4941 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4943 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
4945 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
4946 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
4948 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4950 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
4951 * util/grub-install.in: Gettextize.
4952 * util/grub-mkconfig.in: Likewise.
4953 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
4955 (grub_warn): Gettextize.
4956 * util/grub-mknetdir.in: Gettextize.
4957 * util/grub-mkrescue.in: Likewise.
4958 * util/grub-mkstandalone.in: Likewise.
4959 * util/grub-reboot.in: Likewise.
4960 * util/grub-set-default.in: Likewise.
4961 * util/grub.d/00_header.in: Likewise.
4962 * util/grub.d/10_hurd.in: Likewise.
4963 * util/grub.d/10_kfreebsd.in: Likewise.
4964 * util/grub.d/10_linux.in: Likewise.
4965 * util/grub.d/10_netbsd.in: Likewise.
4966 * util/grub.d/10_windows.in: Likewise.
4967 * util/grub.d/20_linux_xen.in: Likewise.
4968 * util/grub.d/30_os-prober.in: Likewise.
4969 * po/POTFILES-shell.in: Regenerate.
4971 2012-02-03 Richard Laager <rlaager@wiktel.com>
4973 * util/grub-mkimage.c (main): Fix format-security warning.
4974 * util/grub-mkrelpath.c (main): Likewise.
4975 * util/grub-probe.c (main): Likewise.
4977 2012-02-03 Richard Laager <rlaager@wiktel.com>
4979 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
4981 Put back lost PRINT_DRIVE.
4983 2012-02-03 Richard Laager <rlaager@wiktel.com>
4985 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
4986 (grub_guess_root_devices): Replace strlen with sizeof.
4988 (find_root_devices_from_poolname): Remove unused variable.
4991 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4993 Support install on multi-device filesystems.
4995 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
4996 (grub_guess_root_devices): ...this. Return char **. All users updated.
4997 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
4999 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5000 (find_root_devices_from_poolname): ... here.
5001 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5003 (grub_guess_root_device): Rename to ...
5004 (grub_guess_root_devices): ... this. Return char **. All users updated.
5005 * util/grub-install.in: Handle multi-device filesystems.
5006 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5007 argument. All users updated.
5008 Handle multi-device filesystems.
5009 Use 'delim' as separator.
5010 Remove device check to allow filesystems on file.
5011 (main): Support -0 argument. Handle multi-device.
5012 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5013 Fix a cross-device check while on it.
5014 (arguments): Remove root_dev.
5015 (argp_parser): Remove -r.
5016 (main): Remove root_dev.
5018 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5020 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5022 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5024 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5026 Reported by: NODA, Kai <nodakai>.
5028 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5032 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5034 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5035 (grub_ehci_setup_qh): Likewise.
5036 (grub_ehci_find_qh): Likewise.
5037 (grub_ehci_transaction): Likewise.
5038 (grub_ehci_setup_transfer): Likewise.
5039 (grub_ehci_check_transfer): Likewise.
5040 (grub_ehci_portstatus): Likewise.
5041 (grub_ehci_detect_dev): Likewise.
5042 (grub_ehci_transfer_controller_data): New field td_last_phys.
5043 (grub_ehci_setup_transfer): Fill td_last_phys.
5044 (grub_ehci_check_transfer): Use td_last_phys.
5046 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5048 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5049 if no submenu is present.
5051 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5055 * include/grub/usb.h (grub_usbms_protocol_t): New values
5056 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5057 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5058 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5059 (grub_usbms_dev): Add subclass, protocol and intrpt.
5060 Remove in_maxsz and out_maxsz.
5061 (grub_usbms_reset): Rename to ...
5062 (grub_usbms_bo_reset): .. this.
5063 (grub_usbms_cbi_cmd): New function.
5064 (grub_usbms_cbi_reset): Likewise.
5065 (grub_usbms_reset): Likewise.
5066 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5067 (grub_usbms_transfer): Rename to ...
5068 (grub_usbms_transfer_bo): ... this.
5069 (grub_usbms_transfer_cbi): Likewise.
5070 (grub_usbms_transfer): Likewise.
5072 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5073 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5075 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5076 the support for the CS5536 modification thereos and few bugfixes.
5078 * grub-core/Makefile.core.def (ehci): New module.
5079 * grub-core/bus/usb/ehci.c: New file.
5080 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5081 port and hubaddr. All users updated.
5082 Save port and hubaddr into dev structure.
5083 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5085 * include/grub/pci.h (grub_dma_phys2virt): New function.
5086 (grub_dma_virt2phys): Likewise.
5087 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5089 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5091 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5092 check as some mkfs implementations omit it.
5094 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5096 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5098 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5100 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5101 Add new member volname2.
5102 (grub_jfs_label): Use volname2 if available.
5104 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5106 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5107 over last_mounted as seen in image generated by mkfs.nilfs2.
5108 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5110 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5112 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5113 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5114 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5116 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5118 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5121 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5123 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5124 subvolume name (by removing a bogus and useless check).
5126 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5128 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5131 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5133 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5134 (grub_scsi_read_capacity10): ... this.
5135 (grub_scsi_read_capacity16): New function.
5136 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5138 Fix off-by-one error.
5139 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5141 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5142 (grub_scsi_read_capacity10): ... this.
5143 (grub_scsi_read_capacity_data): Rename to ...
5144 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5145 (grub_scsi_read_capacity16): New struct.
5146 (grub_scsi_read_capacity16_data): Likewise.
5147 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5148 grub_scsi_cmd_read_capacity10.
5149 New command grub_scsi_cmd_read_capacity16.
5151 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5155 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5156 (grub_scsi_write16): Likewise.
5157 (grub_scsi_read): Use read16 when necessary.
5158 (grub_scsi_write): Likewise.
5159 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5160 (grub_scsi_write16): Likewise.
5161 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5163 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5165 SCSI write support (for usbms mainly).
5167 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5169 (grub_scsi_write): Implement.
5170 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5172 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5174 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5177 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5179 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5181 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5183 * po/POTFILES.in: Regenerate.
5185 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5187 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5188 with grub_printf to avoid unnecessary fatal failure.
5190 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5192 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5193 (INT_MAX): Likewise.
5194 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5195 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5196 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5200 (strncpy): Likewise.
5202 (strncat): Likewise.
5203 (strcoll): Likewise.
5204 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5205 (GRUB_INT_MAX): Likewise.
5207 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5209 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5211 (optimize_utf8): Likewise.
5212 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5214 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5216 * grub-core/boot/i386/pc/lnxboot.S: Use
5217 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5218 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5220 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5222 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5224 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5226 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5227 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5228 now to avoid double free.
5229 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5231 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5232 * util/grub-probe.c (escape_of_path): Always return a new copy.
5233 (print_full_name): Escape path.
5234 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5235 Fix hints on abstractions.
5237 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5239 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5240 Don't add "root" line if no compatibility hont is available.
5241 Suggested by: Seth Goldberg.
5243 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5245 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5246 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5247 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5248 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5250 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5252 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5254 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5256 * util/grub-pe2elf.c (ehdr): Make static.
5258 (num_sections): Likewise.
5261 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5263 Eliminate ofpath limits and possible overflows.
5265 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5266 (OF_PATH_MAX): Removed.
5267 (MAX_DISK_CAT): New const.
5268 (find_obppath): Use allocated rather than preallocated buffer.
5269 Return result. Argument of_path removed. All users updated.
5271 (xrealpath): New function.
5272 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5273 Allocate rather than use preallocated buffer. All users updated.
5274 (__of_path_common): Use allocated rather than preallocatecd buffer.
5275 Return result. Argument of_path removed. All users updated.
5276 (vendor_is_ATA): Read only needed part form the file.
5277 (check_sas): Allocate depending on contents rather than fixed.
5278 (main) [STANDALONE]: Handle NULL result.
5280 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5282 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5284 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5286 Cryptodisk write support.
5288 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5289 (grub_cryptodisk_decrypt): Moved logic to ...
5290 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5291 (grub_cryptodisk_write): Implement.
5292 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5293 (grub_util_fd_write): ... this. Make global.
5294 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5296 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5298 * include/grub/list.h (grub_list_remove): Don't crash if element is
5301 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5303 Rename ofconsole to console.
5305 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5306 as sysnonym to console.
5307 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5308 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5309 Rename grub_ofconsole_ to grub_console_. All users updated
5310 (grub_console_term_output): Rename "ofconsole" to "console".
5311 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5314 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5316 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5318 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5319 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5320 GRUB_DISK_DEVICE_FILE_ID.
5322 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5324 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5325 and improve performance.
5327 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5329 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5330 missing ieee1275/ prefix on whole disk.
5332 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5334 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5335 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5337 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5339 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5341 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5343 Merge common RAID and LVM logic to an abstract diskfilter.
5344 Add LDM support using the same framework.
5346 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5347 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5348 (libgrubmods): Remove grub-core/disk/raid.c and
5349 grub-core/partmap/gpt.c.
5350 * grub-core/Makefile.core.def (ldm): New module.
5351 (raid): Renamed to diskfilter. All users updated.
5352 * grub-core/disk/raid.c: Moved to ...
5353 * grub-core/disk/diskfilter.c: ... here.
5354 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5356 (find_array): Renamed to ...
5357 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5358 (grub_is_array_readable): Renamed to ...
5359 (grub_is_lv_readable): ... this. Support multinode hierarchy.
5360 (insert_array): New argument id.
5361 (is_node_readable): New function.
5362 (scan_device): Rename to ...
5363 (scan_disk): .. this. Restrict to one disk.
5364 (scan_devices): New function.
5365 (grub_diskfilter_iterate): Support multi-LV.
5366 Skip invisible and nameless LVs.
5367 (grub_diskfilter_memberlist): Support multi-LV.
5368 (grub_diskfilter_read_node): New function.
5369 (grub_raid_read): Most of logic moved to ...
5370 (read_segment): ... here
5371 (read_lv): New function.
5372 (grub_diskfilter_get_vg_by_uuid): New function.
5373 (grub_diskfilter_make_raid): Likewise.
5374 * grub-core/disk/ldm.c: New file.
5375 * grub-core/disk/lvm.c (vg_list): Removed.
5376 (lv_count): Likewise.
5377 (scan_depth): Likewise.
5378 (is_lv_readable): Likewise.
5379 (grub_lvm_getvalue): Advance pointer past the number.
5381 (do_lvm_scan): Refactored into ...
5382 (grub_lvm_detect): ... this. Support raid.
5383 (grub_lvm_iterate): Removed.
5384 (grub_lvm_memberlist): Likewise.
5385 (grub_lvm_open): Likewise.
5386 (grub_lvm_close): Likewise.
5387 (read_lv): Likewise.
5388 (read_node): Likewise.
5389 (is_node_readable): Likewise.
5390 (is_lv_readable): Likewise.
5391 (grub_lvm_read): Likewise.
5392 (grub_lvm_write): Likewise.
5393 (grub_lvm_dev): Use diskfilter
5394 (GRUB_MOD_INIT): Likewise.
5395 (GRUB_MOD_FINI): Likewise.
5396 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
5398 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
5399 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5400 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
5401 grub_diskfilter_read_node.
5403 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
5404 grub_diskfilter_read_node.
5405 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
5406 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
5407 (grub_disk_dev_iterate): Move from here...
5408 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
5409 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5411 (grub_hostdisk_find_partition_start): Likewise.
5412 (grub_hostdisk_os_dev_to_grub_drive): New function.
5413 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
5414 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
5415 * util/getroot.c (make_device_name): ... here.
5416 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5418 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
5419 * grub-core/kern/emu/hostdisk.c
5420 (convert_system_partition_to_system_disk): Move to ...
5421 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
5422 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
5423 * util/getroot.c (device_is_wholedisk): ... here.
5424 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
5425 * util/getroot.c (find_system_device): ... here.
5426 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
5428 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
5429 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5431 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
5433 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5435 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
5436 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
5437 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
5439 * include/grub/raid.h: Renamed to ...
5440 * include/grub/diskfilter.h: ... this.
5441 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
5442 (GRUB_RAID_LAYOUT_*): Make into array.
5443 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
5444 (grub_diskfilter_vg): New struct.
5445 (grub_diskfilter_pv_id): Likewise.
5446 (grub_raid_member): Removed.
5447 (grub_raid_array): Likewise.
5448 (grub_diskfilter_pv): New struct.
5449 (grub_diskfilter_lv): Likewise.
5450 (grub_diskfilter_segment): Likewise.
5451 (grub_diskfilter_node): Likewise.
5452 (grub_diskfilter_get_vg_by_uuid): New proto.
5453 (grub_raid_register): Inline.
5454 (grub_diskfilter_unregister): Likewise.
5455 (grub_diskfilter_make_raid): New proto.
5456 (grub_diskfilter_vg_register): Likewise.
5457 (grub_diskfilter_read_node): Likewise.
5458 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
5459 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
5460 (grub_util_is_ldm): Likewise.
5461 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
5462 (grub_hostdisk_find_partition_start): Likewise.
5463 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
5464 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
5466 (grub_gpt_partition_map_iterate): New proto.
5467 * include/grub/lvm.h (grub_lvm_vg): Removed.
5468 (grub_lvm_pv): Likewise.
5469 (grub_lvm_lv): Likewise.
5470 (grub_lvm_segment): Likewise.
5471 (grub_lvm_node): Likewise.
5472 * util/getroot.c [...]
5473 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
5474 (probe_abstraction): Likewise.
5475 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
5476 (main): Remove dead logic.
5478 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
5480 Simplify root device discover and don't fail when trying to open
5483 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
5485 (get_diskname_from_path): Likewise.
5486 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
5489 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5491 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
5493 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5495 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
5498 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5500 * util/grub-install.in: Add missing \.
5501 Reported by: gentoofan
5503 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5505 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
5506 (direct_read): Use correct compressed size.
5507 (grub_squash_read_data): Likewise.
5509 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5511 * docs/grub.texi (Platform limitations): New section.
5512 (Platform-specific operations): Likewise.
5513 * docs/grub-dev.texi (Porting): Likewise.
5515 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5517 IEEE1275 disk write support.
5519 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
5521 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
5522 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
5523 and seek loginc to ...
5524 (grub_ofdisk_prepare): ... here.
5525 (grub_ofdisk_write): Implement.
5527 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5529 ARC disk write support.
5531 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
5532 (reopen): New argument writable. All users updated.
5533 Handle required access mode.
5534 (grub_arcdisk_write): Implement.
5535 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
5536 (grub_arc_firmware_vector): Make buffer to write a const buffer.
5538 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5540 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
5541 (read_sblock): Don't attempt to read superblocks outside the disk size.
5543 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5545 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
5546 first superblock to find the second one when possible.
5548 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5550 * util/grub-install.in: Fix an ARC bug.
5551 Print a warning if no platform-specific setup is available.
5553 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5555 Use static allocation rather than scratch pointer in reed_solomon.
5556 It decreases its size significantly and avoids a variable in .text.
5558 * grub-core/lib/reed_solomon.c (scratch): Removed.
5559 (chosenstat): New const or static array.
5565 (errvals): Likewise.
5567 (pol_evaluate): Replace x with log_x argument. All users updated.
5568 (syndroms): Removed.
5569 (gauss_solve): Use statically allocated arrays.
5570 (rs_recover): Likewise.
5571 Calculate syndroms directly.
5572 (decode_block): Use statically allocated arrays.
5573 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
5574 (main) [TEST]: Allow -DTEST -DSTANDALONE.
5576 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5578 Eliminate fixed limit on reed solomon decoder length.
5580 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
5581 rather than hardcoding the address.
5582 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
5583 no_reed_solomon_length.
5584 Move gate_a20 to no-reed-solomon part.
5585 Don't force a particular size of no reed-solomon part.
5586 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5588 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
5589 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
5591 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5593 * grub-core/commands/wildcard.c (match_files): Handle filenames
5594 without explicit device.
5595 (wildcard_expand): Don't add explicit device if not already present.
5596 * tests/grub_script_echo1.in: Add a new expansion test.
5598 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5600 Replace single-linked with double-linked lists. It results in more
5601 compact and more efficient code.
5603 * grub-core/kern/list.c (grub_list_push): Moved from here ...
5604 * include/grub/list.h (grub_list_push): ... to here. Set prev.
5605 (grub_list_remove): Moved from here ...
5606 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
5607 (grub_prio_list_insert): Set prev.
5608 * include/grub/list.h (grub_list): Add prev. All users updated.
5610 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5612 Handle newer autotools. Add some missing quotes while on it.
5614 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
5615 (pkglib_DATA): Move grub-mkconfig_lib from here ...
5616 (pkgdata_DATA): ... here.
5617 * Makefile.util.def (update-grub_lib): Removed.
5618 * conf/Makefile.common (pkglib_DATA): Removed.
5619 (pkglib_SCRIPTS): Likewise.
5620 (pkgdata_DATA): New variable.
5621 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
5624 Remove unused variable while on it.
5625 * tests/util/grub-shell.in: Likewise.
5626 * util/grub-install.in: Likewise.
5627 * util/grub-mkconfig.in: Likewise.
5628 * util/grub-mknetdir.in: Likewise.
5629 * util/grub-mkrescue.in: Likewise.
5630 * util/grub-mkstandalone.in: Likewise.
5631 * util/grub.d/00_header.in: Likewise.
5632 * util/grub.d/10_hurd.in: Likewise.
5633 * util/grub.d/10_illumos.in: Likewise.
5634 * util/grub.d/10_kfreebsd.in: Likewise.
5635 * util/grub.d/10_linux.in: Likewise.
5636 * util/grub.d/10_netbsd.in: Likewise.
5637 * util/grub.d/10_windows.in: Likewise.
5638 * util/grub.d/20_linux_xen.in: Likewise.
5639 * util/grub.d/30_os-prober.in: Likewise.
5640 * util/update-grub_lib.in: Removed.
5642 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
5644 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
5645 a workaround for intel problem.
5647 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
5648 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5649 2012-01-23 pfsmorigo
5651 * util/grub-install.in: Support dd'in into PreP partition.
5652 * util/grub-probe.c (probe): Support discovering partition type.
5653 (main): Support -t msdos_parttype.
5655 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5657 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
5658 infinite recursion using counter.
5659 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
5660 init to skip it if the magic check fails.
5661 (dec_stream_header): Init s->crc32.
5663 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5664 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
5665 2012-01-22 Richard Laager <rlaager@wiktel.com>
5667 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
5669 (find_bestub): Determine correct size.
5670 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
5671 (scan_disk): Align the size down.
5672 Call check pool before find_bestub to have ashift.
5674 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5676 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
5677 dprintf in no-malloc zone.
5679 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
5681 * configure.ac: Add back in test for limits.h.
5683 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5685 Support 4K-sector NTFS.
5687 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
5688 (grub_ntfs_data): Remove blocksize.
5689 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
5690 Remove data argument. All users updated.
5692 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5694 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
5695 being in .text to avoid dprel references.
5696 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
5697 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
5698 (grub_arch_highmemsize): Likewise.
5699 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
5700 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
5701 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
5703 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5705 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
5707 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
5708 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
5710 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5712 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
5714 (grub_set_datetime_cmos): Likewise.
5716 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5718 Make XZ compression parameters dependent on target and not host CPU.
5720 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
5721 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
5723 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5725 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
5726 set but not used variable.
5728 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5730 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
5731 created when no uuid support is compiled into mkfs.reiser.
5733 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5735 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
5736 (utf8_to_macroman): Do the opposite.
5737 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
5739 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5741 * configure.ac: Refise build qemu_mips w/o unifont.
5743 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5745 Eliminate grub_min/grub_max prone to overflow usage.
5747 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
5748 (poll_nonroot_hub): Likewise.
5749 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
5750 (grub_affs_label): Likewise.
5751 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
5752 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
5753 (grub_hfs_label): Likewise.
5754 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
5755 * grub-core/fs/zfs/zfs.c (MIN): Remove.
5756 (zap_leaf_array_equal): Use grub_size. Remove MIN.
5757 (zap_leaf_array_get): Likewise.
5758 (dnode_get_path): Likewise.
5759 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
5760 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
5761 * grub-core/script/execute.c (grub_script_break): Likewise.
5762 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
5764 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
5765 * include/grub/misc.h (grub_min): Removed.
5766 (grub_max): Likewise.
5768 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5770 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
5773 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5775 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
5777 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5779 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
5781 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5783 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
5784 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
5786 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5788 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
5789 rather than a hack for grub_strncasemap.
5791 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5793 Support multiple initrds
5794 Note: part of this was accidently committed in r3739.
5796 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
5798 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5799 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5800 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5801 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5802 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5804 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5806 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
5807 disks with unknown size.
5808 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
5810 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5812 Remove defines pertaining to arbitrary limits not affecting GRUB
5815 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
5816 (EXT2_MAX_SYMLINKCNT): Likewise.
5817 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
5818 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
5819 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
5820 (GRUB_PXE_MAX_BLKSIZE): Likewise.
5821 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
5822 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
5823 (DN_MAX_OBJECT_SHIFT): Likewise.
5824 (DN_MAX_OFFSET_SHIFT): Likewise.
5825 (DN_MAX_OBJECT): Likewise.
5826 (DNODES_PER_LEVEL_SHIFT): Likewise.
5827 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
5828 (SPA_MAXBLOCKSIZE): Likewise.
5829 (SPA_BLOCKSIZES): Likewise.
5830 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
5831 (MZAP_MAX_BLKSZ): Likewise.
5833 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5835 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
5836 handle NULL appropriately.
5839 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5843 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
5845 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
5846 * configure.ac: Fix efiemu check.
5848 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5850 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
5852 Reported by: adamwill
5854 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
5856 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
5858 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5860 Fix handling of wide characters in gfxterm.
5862 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
5863 (clear_char): Likewise.
5864 (paint_char): Skip code == NULL chars.
5865 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
5867 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5869 * grub-core/normal/charset.c: Move comment to right place.
5871 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5873 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
5874 (GRUB_AFFS_FLAG_FFS): Put back where it was.
5875 (grub_affs_mount): Revert the correct version checking.
5877 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5879 * docs/grub.texi (Unicode): Mention several other unsupported features.
5881 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5883 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
5884 case statements as compile-time one.
5885 (direct_read): Prevent spurious warnings.
5886 (grub_squash_read_data): Likewise.
5888 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5890 Various squash4 fixes and LZO and XZ support.
5892 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
5893 Add xzembed source files.
5894 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
5895 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
5896 (grub_squash_inode): New subtype long_dir.
5897 (SQUASH_TYPE_LONG_DIR): New inode type.
5898 (COMPRESSION): New enum.
5899 (XZBUFSIZ): New const.
5900 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
5901 (read_chunk): Use data->decompress.
5902 (zlib_decompress): New function.
5903 (lzo_decompress): Likewise.
5904 (xz_decompress): Likewise.
5905 (squash_mount): Set new data fields.
5906 (grub_squash_iterate_dir): Handle long dir.
5907 (squash_unmount): Free xzdec and xzbuf.
5908 (grub_squash_open): Check ino type.
5909 (direct_read): Stylistic fixes. Use data->decompress.
5910 (grub_squash_read_data): Likewise.
5911 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
5912 (get_byte): Likewise.
5913 (grub_zlib_disk_read): Removed.
5914 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
5915 (GRUB_POSIX_BOOL_DEFINED): New define.
5916 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
5917 * grub-core/lib/xzembed/xz.h: Addmissing includes.
5918 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
5919 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
5921 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5923 Don't override more informative errors.
5925 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
5926 * grub-core/font/font.c (open_section): Likewise.
5927 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
5928 filename. Don't override errors.
5929 (grub_cmd_openbsd_ramdisk): Don't override errors.
5930 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
5931 (grub_cmd_initrd): Likewise.
5932 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5933 (grub_cmd_initrd): Likewise.
5934 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
5935 (grub_cmd_linux): Likewise.
5936 (grub_cmd_initrd): Likewise.
5937 (grub_cmd_payload): Likewise.
5938 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5939 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
5940 (grub_cmd_module): Likewise.
5941 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5942 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5943 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
5944 (grub_cmd_xnu_mkext): Likewise.
5945 (grub_cmd_xnu_ramdisk): Likewise.
5946 (grub_xnu_check_os_bundle_required): Likewise.
5947 (grub_xnu_load_kext_from_dir): Likewise.
5948 (grub_cmd_xnu_kextdir): Likewise.
5949 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
5951 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5953 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
5954 as 1024 in block size field. Found on one of my test images.
5955 Small optimisation while on it.
5957 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5959 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
5960 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
5961 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
5962 performance fixes while on it.
5963 (grub_sfs_close): Fix memory leak while on it.
5964 (grub_sfs_label): Convert Latin1 to UTF-8.
5966 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5968 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
5969 space to avoid overflows.
5970 (grub_hfs_label): Convert from macroman to UTF-8.
5972 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5974 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
5976 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5978 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
5980 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5982 * unicode: Import Unicode 6.0 data.
5984 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5986 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
5989 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5991 Avoid cutting in the middle of UTF-8 character.
5993 * include/grub/charset.h (grub_getend): New function.
5994 * grub-core/script/function.c (grub_script_function_find): Use
5996 * grub-core/normal/completion.c (add_completion): Likewise.
5998 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6000 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6001 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6002 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6003 (GRUB_UNICODE_TAG_END): Likewise.
6004 (GRUB_UNICODE_LAST_VALID): Likewise.
6006 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6008 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6009 len and make it smaller. All users updated.
6010 * util/import_unicode.py: Put length and not end character.
6013 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6015 Make better Unicode-compliant and unify some UTF-8 code pathes.
6017 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6019 (grub_is_valid_utf8): Use grub_utf8_process.
6020 Check resulting code range.
6021 (grub_utf8_to_ucs4): Use grub_utf8_process.
6022 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6025 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6027 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6029 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6031 * docs/grub.texi (Filesystems): Mention AFS.
6033 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6035 * docs/grub.texi (Filesystems): Clarify restrictions.
6036 (Regexp): Mention non-Unicode regexp behaviour.
6037 (Other): Mention non-Unicode matching behaviour.
6039 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6041 Make HFS implementation use MacRoman.
6043 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6044 (macroman): New const array.
6045 (macroman_to_utf8): New function.
6046 (utf8_to_macroman): Likewise.
6047 (grub_hfs_find_dir): Use utf8_to_macroman.
6048 (grub_hfs_dir): Use macroman_to_utf8.
6049 Set case_insensitive.
6051 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6053 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6055 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6057 Integrate hints into autogeneration scripts.
6059 * docs/grub.texi (Filesystems): Add a hostdisk example.
6060 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6061 (grub-probe): Add ofpath.
6062 * gentpl.py: Remove group nosparc64.
6063 * grub-core/commands/search.c (cache_entry): New struct.
6065 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6066 * grub-core/commands/search_wrap.c (options): Add platform-specific
6068 (grub_cmd_search): Handle platform-specific hints.
6069 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6070 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6071 (grub_util_biosdisk_data): Likewise.
6072 (grub_util_biosdisk_open): Set device_map.
6073 (read_device_map): Handle "" as indication of no map.
6075 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6076 (grub_util_biosdisk_get_compatibility_hint): New function.
6077 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6078 * include/grub/emu/hostdisk.h
6079 (grub_util_biosdisk_get_compatibility_hint): New proto.
6080 * util/grub-install.in: Don't call grub-mkdevicemap.
6081 Add platform-specific hint to load.cfg.
6082 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6083 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6084 hints. Set root preliminary to compatibility hint, not to OS name.
6085 * util/grub-probe.c (PRINT_*): Add hints.
6086 (print): Make static.
6087 (escape_of_path): New function.
6088 (guess_bios_drive): Likewise.
6089 (guess_efi_drive): Likewise.
6090 (guess_baremetal_drive): Likewise.
6091 (print_full_name): Likewise.
6092 (probe): Handle hints.
6094 * util/ieee1275/devicemap.c: Removed.
6095 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6097 (grub_util_devname_to_ofpath): Return NULL on failure.
6099 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6101 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6103 * po/POTFILES.in: Regenerated.
6105 Allow purely long options
6107 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6108 (SHORT_ARG_USAGE): Likewise.
6109 (grub_arg_show_help): Compare opt with help_options.
6110 (parse_option): Receive opt as argument. If makes big simplificatons.
6113 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6115 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6116 Restructure to avoid warning.
6118 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6120 * util/grub-install.in: Account for possible escaped comma in device
6123 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6125 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6128 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6130 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6131 allocation and zero-setting.
6132 (grub_ieee1275_get_devname): Check that alias is complete.
6134 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6136 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6139 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6141 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6143 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6144 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6145 Add ieee1275 prefix.
6147 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6149 * docs/grub.texi (Filesystems): Update.
6151 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6153 Support odc, newc and bigendian cpio formats.
6155 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6156 * grub-core/Makefile.core.def (newc): New module.
6158 (cpio_be): Likewise.
6159 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6162 (head) [MODE_ODC]: Adapt for the format.
6163 (head) [MODE_NEWC]: Likewise.
6164 (head) [!MODE_*]: Write fields of interest as arrays.
6165 (MAGIC_USTAR): Removed.
6166 (read_number) [MODE_NEWC]: Change to hex.
6167 (read_number) [!MODE_*]: Parse binary arrays.
6168 (grub_cpio_find_file): Factor out the code for better structure and
6169 always use read_number.
6170 (grub_cpio_mount): Use MAGIC and MAGIC2.
6171 (grub_cpio_dir): Exit on first hook non-0 return.
6172 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6173 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6174 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6175 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6176 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6177 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6178 * grub-core/fs/newc.c: New file.
6179 * grub-core/fs/odc.c: Likewise.
6180 * grub-core/fs/cpio_be.c: Likewise.
6182 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6184 Fix handling of tar numbers occupying the whole field.
6186 * grub-core/fs/cpio.c (read_number): New function.
6187 (grub_cpio_find_file): Use read_number instead of strtoull.
6189 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6191 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6192 occupying the whole field size.
6194 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6196 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6198 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6200 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6202 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6204 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6207 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6209 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6210 (mountinfo_entry): Increase the field size to take escaping into
6212 (find_root_device_from_libzfs): Add one byte to size of strings for
6215 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6217 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6219 * util/grub-setup.c (setup): Likewise.
6221 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6223 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6226 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6228 * docs/grub.texi (Internationalisation): New section.
6230 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6232 * docs/grub.texi (Loopback booting): New section.
6234 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
6236 * util/grub-mkstandalone.in: Fix minor typo errors.
6238 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6240 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6242 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6243 net/icmp.c and net/icmp6.c.
6245 (priority_queue): Likewise.
6246 * grub-core/io/bufio.c: Rewritten.
6247 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6248 TYPE_WITH_CONFIGFILE_OPTION.
6249 (legacy_commands): Add bootp and dhcp.
6250 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6251 (grub_legacy_parse): Likewise.
6252 * grub-core/lib/priority_queue.c: New file.
6253 * grub-core/net/arp.c: Add missing license header.
6254 (arp_find_entry): Removed.
6255 (arp_find_entry): Likewise.
6256 (grub_net_arp_resolve): Rename to ...
6257 (grub_net_arp_send_request): ...this.
6258 (grub_net_arp_receive): New card argument.
6259 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6260 Set router and DNS server.
6261 (grub_net_configure_by_dhcp_ack): Handle routing information.
6262 (grub_cmd_bootp): Set checksum.
6263 (grub_bootp_init): Remove net_dhcp.
6264 * grub-core/net/dns.c: New file.
6265 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6267 (get_card_packet): Handle allocation.
6268 (grub_efinet_findcards): Set mtu.
6269 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6270 (get_card_packet): Handle allocation.
6272 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6273 (GRUB_MOD_INIT): Set mtu.
6274 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6276 (get_card_packet): Handle allocation.
6277 (grub_ofnet_findcards): Set mtu.
6278 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6280 (grub_net_recv_ethernet_packet): Handle IPv6.
6281 * grub-core/net/http.c: New file.
6282 * grub-core/net/icmp.c: Likewise.
6283 * grub-core/net/icmp6.c: Likewise.
6284 * grub-core/net/ip.c (ip6addr): New type.
6286 (reassemble): Likewise.
6287 (cmp): New function.
6288 (reassembles): New variable.
6289 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6291 (send_fragmented): New function.
6292 (grub_net_send_ip_packet): Rename to ...
6293 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6295 (grub_net_recv_ip_packets): Rename to ...
6296 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6297 (free_rsm): New function.
6298 (free_old_fragments): Likewise.
6299 (grub_net_recv_ip4_packets): New function.
6300 (grub_net_send_ip6_packet): Likewise.
6301 (grub_net_send_ip_packet): Likewise.
6302 (grub_net_recv_ip6_packets): Likewise.
6303 (grub_net_recv_ip_packets): Likewise.
6304 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6305 (LINK_LAYER_CACHE_SIZE): New const.
6306 (link_layer_find_entry): New function.
6307 (grub_net_link_layer_add_address): Likewise.
6308 (grub_net_link_layer_resolve_check): Likewise.
6309 (grub_net_link_layer_resolve): Likewise.
6310 (grub_net_ipv6_get_slaac): Likewise.
6311 (grub_net_ipv6_get_link_local): Likewise.
6312 (grub_cmd_ipv6_autoconf): Likewise.
6313 (parse_ip): Handle one number representation.
6314 (parse_ip6): New functoion.
6315 (match_net): Handle IPv6.
6316 (grub_net_resolve_address): Handle IPv6 and DNS.
6317 (grub_net_resolve_net_address): Handle IPv6.
6318 (route_cmp): New function.
6319 (grub_net_route_address): Find best route.
6320 (grub_net_addr_to_str): Handle IPv6.
6321 (grub_net_addr_cmp): New function.
6322 (grub_net_add_addr): Register local route.
6323 (print_net_address): Handle net address.
6324 (grub_net_poll_cards): Retransmit TCP.
6325 (grub_net_poll_cards_idle_real): Likewise.
6326 (have_ahead): New function.
6327 (grub_net_seek_real): Use underlying seek.
6328 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6329 * grub-core/net/tcp.c: New file.
6330 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6331 (cmp): New function.
6333 (tftp_receive): Handle unordered input.
6334 (destroy_pq): New function.
6335 (tftp_close): Close pq.
6336 * grub-core/net/udp.c: Put missing license header.
6337 (grub_net_udp_socket): New function.
6338 (udp_socket_register): Likewise.
6339 (grub_net_udp_close): Likewise.
6340 (grub_net_recv_udp_packet): Check checksum.
6341 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6342 * include/grub/misc.h (grub_memchr): New function.
6343 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6344 (grub_net_card_driver): Return buf in recv.
6345 (grub_net_slaac_mac_list): New struct.
6346 (grub_network_level_protocol_id): Add ipv6.
6347 (grub_net_network_level_addr): Likewise.
6348 (grub_net_network_level_net_addr): Likewise.
6349 (grub_net_app_protocol): Add seek.
6350 (grub_net_socket): Removed.
6351 (grub_net_sockets): Likewise.
6352 (grub_net_socket_register): Likewise.
6353 (grub_net_socket_unregister): Likewise.
6354 (FOR_NET_SOCKETS): Likewise.
6355 (grub_net_add_addr): Add const.
6356 (GRUB_NET_BOOTP_*): New enum.
6357 (grub_net_addr_cmp): New proto.
6358 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
6359 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
6360 (grub_net_hwaddr_to_str): NEw proto.
6361 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
6362 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
6363 (grub_dns_init): New proto.
6364 (grub_dns_fini): Likewise.
6365 (grub_net_tcp_retransmit): Likewise.
6366 (grub_net_link_layer_add_address): Likewise.
6367 (grub_net_link_layer_resolve_check): Likewise.
6368 (grub_net_link_layer_resolve): Likewise.
6369 (grub_net_dns_lookup): Likewise.
6370 (grub_net_add_dns_server): Likewise.
6371 (grub_net_remove_dns_server): Likewise.
6372 (GRUB_NET_TRIES): New const.
6373 (GRUB_NET_INTERVAL): Likewise.
6374 * include/grub/net/arp.h: Mostly rewritten.
6375 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
6376 * include/grub/net/ip.h: Mostly rewritten.
6377 * include/grub/net/netbuff.h: Indent.
6378 * include/grub/net/tcp.h: New file.
6379 * include/grub/net/udp.h: Mostly rewritten.
6380 * include/grub/priority_queue.h: New file.
6381 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
6382 (grub_swap_bytes64_compile_time): Likewise.
6383 (grub_cpu_to_be16_compile_time): Likewise.
6384 (grub_cpu_to_be32_compile_time): Likewise.
6385 (grub_cpu_to_be64_compile_time): Likewise.
6386 (grub_be_to_cpu64_compile_time): Likewise.
6388 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6390 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
6391 UINT_TO_PTR with cast.
6393 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6395 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
6398 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6400 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
6403 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6405 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
6408 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6410 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
6411 Add missing const attribute.
6412 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
6414 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
6417 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6419 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
6421 (serpent_setkey): Likewise.
6422 (serpent_encrypt_internal): Likewise.
6423 (serpent_decrypt_internal): Likewise.
6424 (serpent_encrypt): Don't put an alignment-increasing cast.
6425 (serpent_decrypt): Likewise.
6426 (serpent_test): Likewise.
6428 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6430 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
6432 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6434 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
6436 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
6438 (PTR_TO_UINT64): Likewise.
6439 (PTR_TO_UINT32): Likewise.
6441 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6443 * util/grub-mkimage.c (generate_image): Decrease the higher limit
6445 * util/grub-setup.c (setup): Don't add redundancy past the higher load
6448 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6450 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
6451 text_width > available width a bit more gracefully.
6453 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6455 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
6456 current address calculation.
6458 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6460 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
6462 (encode_block): Likewise.
6464 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6466 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
6469 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6471 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
6472 non-RS part to avoid RS messing with GDT.
6473 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6474 Increase to suit in realmode routines.
6476 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6478 * grub-core/kern/i386/realmode.S: Increase alignment.
6479 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
6481 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6483 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
6485 (syndroms): Compute 0 syndrom.
6486 (rs_recover): Use 0 syndrom.
6488 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6490 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
6492 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6494 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
6497 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6499 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
6501 (get_top_pad): Likewise.
6502 (get_right_pad): Likewise.
6503 (get_bottom_pad): Likewise.
6505 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6507 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
6509 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6511 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
6512 attribute as the structure isn't guaranteed to be properly aligned.
6513 (grub_efi_pci_device_path): Likewise.
6514 (grub_efi_pccard_device_path): Likewise.
6515 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
6516 specify the size of `memory_type'.
6517 (grub_efi_vendor_device_path): Likewise.
6518 (grub_efi_controller_device_path): Likewise.
6519 (grub_efi_acpi_device_path): Likewise.
6520 (grub_efi_expanded_acpi_device_path): Likewise.
6521 (grub_efi_atapi_device_path): Likewise.
6522 (grub_efi_scsi_device_path): Likewise.
6523 (grub_efi_fibre_channel_device_path): Likewise.
6524 (grub_efi_1394_device_path): Likewise.
6525 (grub_efi_usb_device_path): Likewise.
6526 (grub_efi_usb_class_device_path): Likewise.
6527 (grub_efi_i2o_device_path): Likewise.
6528 (grub_efi_mac_address_device_path): Likewise.
6529 (grub_efi_ipv4_device_path): Likewise.
6530 (grub_efi_ipv6_device_path): Likewise.
6531 (grub_efi_infiniband_device_path): Likewise.
6532 (grub_efi_uart_device_path): Likewise.
6533 (grub_efi_vendor_messaging_device_path): Likewise.
6534 (grub_efi_hard_drive_device_path): Likewise.
6535 (grub_efi_cdrom_device_path): Likewise.
6536 (grub_efi_vendor_media_device_path): Likewise.
6537 (grub_efi_file_path_device_path): Likewise.
6538 (grub_efi_protocol_device_path): Likewise.
6539 (grub_efi_piwg_device_path): Likewise.
6540 (grub_efi_bios_device_path): Likewise.
6542 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6544 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
6545 (grub_ucs4_to_utf8_alloc): Likewise.
6546 (grub_ucs4_to_utf8): Likewise.
6547 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
6548 (grub_ucs4_to_utf8_alloc): Likewise.
6550 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6552 AFFS never uses unicode.
6554 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
6555 (grub_latin1_to_utf8): New inline function.
6556 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
6558 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6560 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
6563 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6565 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
6566 (grub_squash_dirent_header): Likewise.
6567 (read_chunk): Don't double swap.
6568 (grub_squash_iterate_dir): Fix swap sizes.
6570 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6572 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
6574 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6576 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
6577 (grub_hfs_iterate_dir): Likewise.
6579 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6581 Fix video on platforms where unaligned access is forbidden.
6582 Make several optimisations while on it.
6584 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
6585 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6586 (grub_video_fbblit_replace_32bit_1bit): Likewise.
6587 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6589 (grub_video_fbblit_replace_16bit_1bit):
6590 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6591 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6592 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
6593 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
6594 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6595 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6596 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
6597 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
6598 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
6599 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
6600 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
6601 (grub_video_fbblit_replace_index_RGB888): Likewise.
6602 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
6603 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
6604 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
6605 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6606 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
6607 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6608 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6610 (grub_video_fbblit_blend_XXX565_1bit):
6611 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6612 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
6613 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
6615 * grub-core/video/fb/video_fb.c (common_blitter)
6616 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
6617 (grub_video_fb_create_render_target_from_pointer)
6618 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6619 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
6620 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
6622 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
6624 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6626 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
6627 HH22 and HM10 relocations.
6629 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6631 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
6633 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6635 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
6636 allocation succeeded.
6638 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6640 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
6641 argument a u8 pointer. All users updated.
6642 Handle unaligned buffers.
6644 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6646 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
6647 add_part to workaround compiler bug.
6649 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6651 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
6653 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6655 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
6656 Reserve alignment invariants.
6657 (grub_multiboot_load): Likewise.
6658 (retrieve_video_parameters): Likewise.
6659 (grub_multiboot_make_mbi): Likewise.
6661 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6663 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
6666 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6668 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
6669 (grub_pata_pio_write): Likewise.
6671 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6673 Add noreturn attributes and remove unreachable code.
6675 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
6677 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
6678 code. Mark as noreturn.
6679 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
6680 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
6681 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
6683 * grub-core/kern/main.c (grub_main): Mark as noreturn.
6684 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
6685 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
6686 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
6687 * include/grub/kernel.h (grub_main): Mark as noreturn.
6688 * include/grub/reader.h (grub_rescue_run): Likewise.
6690 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6692 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
6693 redundant declaration.
6695 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6697 * include/grub/net.h (grub_net_network_level_interfaces): Remove
6698 redundant declaration.
6699 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
6701 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6703 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
6704 to ensure alignment.
6705 (grub_hdparm_print_identify): Make argument uint16 * to ensure
6706 alignment. Ensure tmp alignment.
6707 (grub_cmd_hdparm): Ensure buf alignment.
6708 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
6709 to ensure alignment.
6710 (grub_ata_dumpinfo): Ensure text alignment.
6711 (grub_atapi_identify): Preserve alignment invariant.
6712 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
6714 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6716 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
6717 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
6718 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
6719 * include/grub/misc.h (grub_reboot)
6720 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
6721 (grub_halt) [__mips__]: Likewise.
6723 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6725 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
6726 Remove redundant declaration.
6727 (grub_mmap_get_post64): Likewise.
6728 (grub_mmap_get_upper): Likewise.
6729 (grub_mmap_get_lower): Likewise.
6731 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6733 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
6734 uint32_t * to ensure alignment.
6735 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
6737 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6739 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
6740 uint16_t * to ensure alignment.
6741 (sun_pc_partition_map_iterate): Make `block' a union to ensure
6744 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6746 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
6747 to ensure alignment.
6748 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
6750 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6752 * grub-core/fs/ntfs.c (u16at): Make into inline function.
6753 Handle unaligned pointers.
6756 (fixup): Use byte access instead of v16at.
6757 (find_attr): Fix imporper usage of v32at.
6758 (read_data): Likewise.
6759 (list_file): Handle byte-swapping and unaligned strings.
6760 (grub_ntfs_label): Likewise.
6762 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6764 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
6765 as it's not necessarily aligned.
6767 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6769 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
6770 redundant declaration.
6771 (grub_serial_init): Likewise.
6772 (grub_terminfo_init): Likewise.
6774 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6776 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
6778 (ZAP_HASH_IDX): Likewise.
6779 (ZAP_LEAF_HASH_SHIFT): Likewise.
6780 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
6781 (LEAF_HASH): Likewise.
6782 (ZAP_LEAF_NUMCHUNKS): Likewise.
6783 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
6784 alignment invariants. Return pointer. All users updated.
6785 (ZAP_LEAF_ENTRY): Make into inline function.
6788 (xor_out): Use grub_crypto_xor.
6789 (dnode_get_path): Use grub_get_unaligned.
6790 (nvlist_find_value): Likewise.
6791 (grub_zfs_nvlist_lookup_uint64): Likewise.
6792 (grub_zfs_nvlist_lookup_string): Likewise.
6793 (get_nvlist_size): Likewise.
6794 (grub_zfs_open): Likewise.
6795 (fill_fs_info): Likewise.
6796 (grub_zfs_dir): Likewise.
6797 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
6798 alignment invariants.
6799 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
6800 necessarily aligned.
6802 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6804 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
6806 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6808 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
6809 arithmetic to conserve alignment invariants.
6811 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6813 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
6814 redundant declaration.
6815 (grub_efiemu_mm_obtain_request): Likewise.
6816 (grub_efiemu_prepare): Likewise.
6818 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6820 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
6823 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6825 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
6826 case of aunaligned recptr.
6827 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
6829 (grub_hfsplus_btree_search): Handle unaligned index.
6831 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6833 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
6834 to get freetag and skip.
6836 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6838 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
6840 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
6841 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
6843 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6845 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
6846 name for checksum and fix allocation algorithm.
6848 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6850 * include/grub/types.h (grub_properly_aligned_t): New type.
6851 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
6852 (grub_get_unaligned16): Add explicit casts.
6853 (grub_get_unaligned32): Likewise.
6854 (grub_get_unaligned64): Likewise.
6855 (grub_set_unaligned16): New function.
6856 (grub_set_unaligned32): Likewise.
6858 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6860 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6862 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6864 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
6865 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
6866 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
6868 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6870 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
6873 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6875 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
6876 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
6878 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6880 Unify and improve RAID and crypto xor.
6882 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
6883 changed to grub_crypto_xor
6884 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
6885 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
6886 Use bigger types when possible.
6888 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6890 * grub-core/disk/raid.c (scan_devices): Fix condition.
6892 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6894 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
6895 Make name a const ptr.
6897 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6899 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
6900 first argument a const pointer.
6901 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
6902 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
6904 (grub_children_iterate): Likewise.
6905 (grub_machine_mmap_iterate): Remove redundant declaration.
6907 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6909 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
6910 (grub_cmd_acpi) [!x86]: Disable EBDA.
6912 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6914 Enable UTF8 in gnulib regexp.
6916 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
6917 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
6918 (isupper): Use grub_isupper.
6919 (isascii): New inline function.
6920 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
6921 * grub-core/lib/posix_wrap/wctype.h: Likewise.
6922 * grub-core/normal/charset.c (grub_utf8_process): New function.
6923 (grub_utf8_to_utf16): Use grub_utf8_process.
6924 (grub_encode_utf8_character): New function.
6925 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
6926 * include/grub/charset.h (grub_utf8_process): New declaration.
6927 (grub_encode_utf8_character): Likewise.
6928 * include/grub/misc.h (grub_islower): New inline function.
6929 (grub_isupper): Likewise.
6930 (grub_strchrsub): Moved down to fix the definitions.
6932 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6934 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
6937 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6939 * include/grub/loader.h (grub_loader_register_preboot_hook):
6940 Use struct preboot * and not void * for handle. All users updated.
6941 (grub_loader_unregister_preboot_hook): Likewise.
6943 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6945 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
6946 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
6947 UTF-16-BE. All users updated.
6948 (grub_hfsplus_cmp_catkey): Fix unicode handling.
6949 (grub_hfsplus_iterate_dir): Likewise.
6950 (grub_hfsplus_label): Likewise.
6952 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6954 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
6956 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
6958 Add missing const qualifiers.
6960 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
6961 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
6962 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
6963 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
6964 (grub_lvm_check_flag): Likewise.
6965 * grub-core/efiemu/i386/coredetect.c
6966 (grub_efiemu_get_default_core_name): Likewise
6967 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6968 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
6969 * grub-core/fs/ntfs.c (fixup): Likewise.
6970 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
6971 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
6972 (fzap_lookup): Likewise.
6973 (zap_lookup): Likewise.
6974 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
6975 * grub-core/lib/legacy_parse.c (check_option): Likewise.
6976 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
6977 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
6978 (grub_freebsd_add_meta_module): Likewise.
6979 (grub_cmd_freebsd_module): Likewise.
6980 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
6981 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
6982 (grub_xnu_writetree_get_size): Likewise.
6983 (grub_xnu_writetree_toheap_real): Likewise.
6984 (grub_xnu_find_key): Likewise.
6985 (grub_xnu_create_key): Likewise.
6986 (grub_xnu_create_value): Likewise.
6987 (grub_xnu_register_memory): Likewise.
6988 (grub_xnu_check_os_bundle_required): Likewise.
6989 (grub_xnu_scan_dir_for_kexts): Likewise.
6990 (grub_xnu_load_kext_from_dir): Likewise.
6991 * grub-core/normal/color.c (color_list): Likewise.
6992 * grub-core/normal/completion.c (current_word): Likewise.
6993 * grub-core/normal/menu_entry.c (insert_string): Likewise.
6994 * grub-core/term/serial.c (grub_serial_find): Likewise.
6995 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
6996 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
6998 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
6999 (grub_freebsd_add_meta_module): Likewise.
7000 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7001 * include/grub/net.h (grub_net_card_driver): Likewise.
7002 (grub_net_card): Likewise.
7003 (grub_net_app_protocol): Likewise.
7004 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7005 * include/grub/serial.h (grub_serial_find): Likewise.
7006 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7007 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7008 (grub_xnu_create_value): Likewise.
7009 (grub_xnu_find_key): Likewise.
7010 (grub_xnu_scan_dir_for_kexts): Likewise.
7011 (grub_xnu_load_kext_from_dir): Likewise.
7013 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7014 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7015 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7017 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7019 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
7021 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7023 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7025 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7026 (read_device): Fix size calculation.
7028 2011-11-25 Robert Millan <rmh@gnu.org>
7030 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7031 (find_root_device_from_libzfs): Add zpool output parser to be used
7032 as fallback when libzfs isn't available.
7034 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7036 * po/Makefile.in.in: Add missing escape-continuation.
7038 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7040 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7042 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7044 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7046 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7048 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7050 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7052 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7054 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7056 * grub-core/lib/adler32.c: Add missing license specification.
7057 * grub-core/lib/crc64.c: Likewise.
7058 * grub-core/loader/i386/pc/plan9.c: Likewise.
7059 * grub-core/partmap/plan.c: Likewise.
7061 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7063 Add facility to debug GRUB with gdb under qemu.
7065 * grub-core/gdb_grub.in: New file.
7066 * grub-core/gmodule.pl.in: Likewise.
7067 * grub-core/Makefile.core.def (gmodule.pl): New script.
7068 (gdb_grub): Likewise.
7070 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7072 * util/grub-mount.c (argp_parser): Accept relative pathes.
7073 * util/grub-fstest.c (argp_parser): Likewise.
7075 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7079 * Makefile.util.def (libgrubmods): Add
7080 grub-core/partmap/plan.c.
7081 * docs/grub.texi: Notice Plan9 support.
7082 * grub-core/Makefile.core.def (plan9): New module.
7083 (part_plan): Likewise.
7084 * grub-core/loader/i386/pc/plan9.c: New file.
7085 * grub-core/partmap/plan.c: Likewise.
7086 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7088 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7089 * include/grub/mm.h (grub_extend_alloc): New inline function.
7091 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7093 Make Reed-Solomon faster by using power of generator representation of
7096 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7097 (gf_double_t): Likewise.
7098 (gf_invert): Removed.
7099 (gf_powx): New array.
7100 (gf_powx_inv): Likewise.
7101 (scratch): Move higher.
7102 (gf_reduce): Removed.
7104 (gf_invert): Likewise.
7105 (init_inverts): Replaced with ...
7106 (init_powx): ...this. All users updated.
7107 (pol_evaluate): Replace multiplications with additions.
7108 (rs_encode): Likewise.
7109 (gauss_eliminate): Call gf_invert.
7110 (grub_reed_solomon_add_redundancy): Call init_powx.
7111 (grub_reed_solomon_recover): Call init_powx unconditionally.
7113 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7115 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7117 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7119 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7120 disk->partiton for safety.
7122 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7124 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7126 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7128 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7130 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7132 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7134 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7136 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7138 Fix spaces handling in proc/self/mountinfo.
7140 * util/getroot.c (unescape): New function.
7141 (grub_find_root_device_from_mountinfo): Use unescape.
7143 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7145 Support ZFS embedding.
7147 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7148 (grub_zfs_fs): Register grub_zfs_embed.
7150 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7152 Fix MIPS compilation.
7154 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7155 * include/grub/offsets.h: Rename decompressor fields from
7156 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7157 * util/grub-mkimage.c (image_targets): Use new names.
7159 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7161 Defer multiboot device parsing until we're in compressed part.
7163 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7164 bsd_part. setdevice has fallen into disuse.
7165 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7166 (bsd_part): Likewise.
7167 (boot_dev): New variable.
7168 (multiboot_trampoline): Don't parse multiboot device.
7169 Pass multiboot device in %edx.
7170 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7172 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7174 * grub-core/kern/i386/pc/startup.S: Save edx.
7175 (grub_boot_drive): Removed.
7176 (grub_install_dos_part): Likewise.
7177 (grub_install_bsd_part): Likewise.
7178 (grub_boot_device): New variable.
7179 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7180 (grub_install_bsd_part): Likewise.
7181 (grub_boot_drive): Likewise.
7182 (grub_boot_device): New variable.
7183 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7185 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7186 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7187 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7188 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7189 * util/grub-install.in: Remove redundant condition.
7191 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7193 Fix bug introduced by previous commit.
7195 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7197 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7199 Use decompressors framework on i386-pc. It increases core size
7200 by 46 bytes but improves compatibility and maintainability.
7202 * grub-core/Makefile.core.def (lzma_decompress): New image.
7203 (kernel): Add i386_pc_ldflags.
7204 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7205 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7206 to real_to_prot, prot_to_real and device info.
7207 * include/grub/offsets.h: Renamed decompressor offsets.
7208 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7209 (image_target_desc): Remove raw_size and rename decompressor fields.
7210 (compress_kernel): Handle lzma.
7211 (generate_image): Handle decompressors on i386-pc.
7213 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7215 * configure.ac: Add -fno-asynchronous-unwind-tables.
7217 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7219 Move assembly code to C by using intwrap. It increases core size
7220 by 88 bytes but improves compatibility and maintainability.
7222 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7223 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7224 ... here. Translated to C.
7225 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7226 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7227 ... here. Translated to C.
7228 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7229 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7230 ... here. Translated to C.
7231 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7232 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7233 ... here. Translated to C.
7234 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7235 * grub-core/term/i386/pc/console.c (grub_console_cls):
7236 ... here. Translated to C.
7237 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7238 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7239 ... here. Translated to C.
7240 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7241 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7243 * grub-core/term/i386/pc/console.c (int10_9): New function.
7244 (grub_console_putchar): Likewise.
7245 * include/grub/i386/pc/console.h: Removed the not anymore shared
7248 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7250 Move grub_chainloader_real_boot out of the kernel.
7252 * grub-core/Makefile.am: Remove machine/loader.h.
7253 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7255 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7257 (grub_relocator16_keep_a20_enabled): Likewise.
7258 (grub_relocator16_boot): Fill new variables.
7259 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7260 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7262 (grub_chainloader_unload): Likewise.
7263 (grub_chainloader_cmd): Likewise.
7264 * include/grub/i386/pc/loader.h: Removed.
7265 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7266 and esi. All initialisers updated.
7268 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7269 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
7271 * Makefile.util.def (grub-mount): New util.
7272 * .bzrignore: Add grub-mount.
7273 * configure.ac: Check for fuse and enable grub-mount if available.
7274 * docs/man/grub-mount.h2m: New file.
7275 * util/grub-mount.c: Likewise.
7277 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7279 * grub-core/commands/efi/fixvideo.c: Gettextize.
7280 * grub-core/commands/hashsum.c: Likewise.
7281 * grub-core/commands/i386/cmostest.c: Likewise.
7282 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7283 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7284 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7285 * grub-core/commands/lsmmap.c: Likewise.
7286 * grub-core/commands/menuentry.c: Likewise.
7287 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7288 * grub-core/commands/setpci.c: Likewise.
7289 * grub-core/loader/i386/bsd.c: Likewise.
7290 * grub-core/loader/i386/linux.c: Likewise.
7291 * util/getroot.c: Likewise.
7292 * util/grub-editenv.c: Likewise.
7293 * util/grub-fstest.c: Likewise.
7294 * util/grub-mkfont.c: Likewise.
7295 * util/grub-mkimage.c: Likewise.
7296 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7297 * util/grub-pe2elf.c: Likewise.
7298 * util/grub-probe.c: Likewise.
7299 * util/grub-setup.c: Likewise.
7300 * util/ieee1275/ofpath.c: Likewise.
7301 * util/misc.c: Likewise.
7302 * util/raid.c: Likewise.
7304 2011-11-11 Robert Millan <rmh@gnu.org>
7306 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7307 __attribute__((unused)) from `os_dev', which *is* being used.
7309 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7311 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7313 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7314 GRUB_IA64_DL_GOT_ALIGN.
7315 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7316 GRUB_IA64_DL_TRAMP_ALIGN.
7318 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7320 Replace grub_fatal with normal errors in i386 linux loader.
7322 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7323 (allocate_pages): Check find_efi_mmap_size return value.
7324 (grub_e820_add_region): Return error.
7325 (grub_linux_boot): Check mmap return value.
7327 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7329 * grub-core/commands/acpihalt.c: Gettextized.
7330 * grub-core/commands/cacheinfo.c: Likewise.
7331 * grub-core/commands/cmp.c: Likewise.
7332 * grub-core/commands/efi/loadbios.c: Likewise.
7333 * grub-core/commands/gptsync.c: Likewise.
7334 * grub-core/commands/ieee1275/suspend.c: Likewise.
7335 * grub-core/commands/legacycfg.c: Likewise.
7336 * grub-core/commands/memrw.c: Likewise.
7337 * grub-core/commands/minicmd.c: Likewise.
7338 * grub-core/commands/parttool.c: Likewise.
7339 * grub-core/commands/time.c: Likewise.
7340 * grub-core/commands/videoinfo.c: Likewise.
7341 * grub-core/disk/geli.c: Likewise.
7342 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7343 * grub-core/disk/luks.c: Likewise.
7344 * grub-core/disk/lvm.c: Likewise.
7345 * grub-core/font/font_cmd.c: Likewise.
7346 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7347 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7348 * grub-core/gfxmenu/view.c: Likewise.
7349 * grub-core/kern/emu/hostdisk.c: Likewise.
7350 * grub-core/kern/emu/main.c: Likewise.
7351 * grub-core/kern/emu/misc.c: Likewise.
7352 * grub-core/kern/emu/mm.c: Likewise.
7353 * grub-core/kern/mips/arc/init.c: Likewise.
7354 * grub-core/kern/mips/loongson/init.c: Likewise.
7355 * grub-core/kern/partition.c: Likewise.
7356 * grub-core/lib/i386/halt.c: Likewise.
7357 * grub-core/lib/mips/arc/reboot.c: Likewise.
7358 * grub-core/lib/mips/loongson/reboot.c: Likewise.
7359 * grub-core/loader/i386/pc/chainloader.c: Likewise.
7360 * grub-core/loader/i386/xnu.c: Likewise.
7361 * grub-core/loader/multiboot.c: Likewise.
7362 * grub-core/net/bootp.c: Likewise.
7363 * grub-core/net/net.c: Likewise.
7364 * grub-core/normal/term.c: Likewise.
7365 * grub-core/partmap/bsdlabel.c: Likewise.
7366 * grub-core/parttool/msdospart.c: Likewise.
7367 * grub-core/term/gfxterm.c: Likewise.
7368 * grub-core/term/terminfo.c: Likewise.
7369 * grub-core/video/i386/pc/vbe.c: Likewise.
7370 * util/grub-menulst2cfg.c: Likewise.
7371 * util/grub-mkdevicemap.c: Likewise.
7372 * util/grub-mklayout.c: Likewise.
7373 * util/grub-mkrelpath.c: Likewise.
7374 * util/grub-script-check.c: Likewise.
7375 * util/ieee1275/grub-ofpathname.c: Likewise.
7376 * util/resolve.c: Likewise.
7378 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7380 Support %1$d syntax.
7382 * tests/printf_unit_test.c: New file.
7383 * Makefile.util.def (printf_test): New test.
7384 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
7386 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7388 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
7391 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7393 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
7395 * grub-core/font/font.c (grub_font_load): Likewise.
7397 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7399 * util/grub-macho2img.c: Add comment concerning gettext.
7400 * grub-core/lib/legacy_parse.c: Likewise.
7402 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7404 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
7405 (grub_xvasprintf): Likewise.
7407 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7409 Add const keyword to grub_env_get and gettextize week days.
7411 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
7412 (grub_read_hook_datetime): Return const char *.
7413 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
7415 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7417 (grub_get_weekday_name): Return const char *. Call gettext.
7418 * grub-core/script/argv.c (grub_script_argv_append): Receive const
7419 char * and len as the argument. All users updated.
7420 (grub_script_argv_split_append): Receive const char *.
7421 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
7422 * include/grub/env.h (grub_env_get): Likewise.
7423 (grub_env_read_hook_t): Return const char *.
7424 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
7425 (grub_script_argv_split_append): Likewise.
7427 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7429 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
7431 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7433 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
7434 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
7436 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7438 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
7441 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7443 Fix mips compilation.
7445 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
7447 (hashes): Use in embed decoder as well (for sizes).
7448 (dec_stream_header): Fix embed decompressor logic.
7449 (dec_stream_footer): Likewise.
7451 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7453 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
7454 an error and not a fatal on unrecognised relocation types.
7456 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7458 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7459 Issue error rather than printf on unknown arguments.
7461 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7463 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
7466 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7468 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
7471 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7473 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
7474 leftover debug printf.
7476 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7478 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
7480 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7482 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
7485 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7487 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
7489 2011-11-10 Shea Levy <slevy@tieronedesign.com>
7491 Allow all modules to perform serial IO
7493 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
7494 * include/grub/serial.h (grub_serial_port_configure): New inline
7496 (grub_serial_port_fetch): Likewise.
7497 (grub_serial_port_put): Likewise.
7498 (grub_serial_port_fini): Likewise.
7499 (grub_serial_find): New proto.
7501 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7503 Put symlink at the end of the node and fix a potential
7506 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
7507 Make symlink into an array.
7508 (set_rockridge): Set have_symlink and alloc_dirents.
7509 (grub_iso9660_read_symlink): Use new layout.
7510 (grub_iso9660_iterate_dir): Fix memory corruption.
7512 (grub_iso9660_dir): Set have_symlink.
7513 (grub_iso9660_open): Likewise.
7515 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7517 Remove local keyword.
7519 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
7520 (version_test_gt): Likewise.
7521 (version_find_latest): Likewise.
7522 (gettext_printf): Likewise.
7523 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
7525 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7527 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
7529 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7531 Fix ZFS memory and resource leaks.
7533 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
7536 (fill_vdev_info): New parameter inserted. All users updated.
7537 (check_pool_label): Likewise.
7538 (scan_disk): Likewise.
7539 (scan_devices): Close non-inserted disks.
7540 (fzap_iterate): Free l.
7541 (unmount_device): Free children descripto memory.
7543 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7545 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
7546 argument (access out of bounds).
7548 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7550 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
7553 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7555 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
7558 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7560 Fix several memory leaks.
7562 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
7563 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
7564 (grub_cpio_dir): Likewise.
7565 * grub-core/fs/fat.c (grub_fat_label): Likewise.
7566 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
7567 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
7568 (grub_romfs_label): Likewise.
7569 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
7570 (squash_unmount): New function.
7571 (grub_squash_dir): Fix memory leak.
7572 (grub_squash_open): Likewise.
7573 (grub_squash_read): Likewise.
7574 (grub_squash_mtime): Likewise.
7575 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
7576 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
7577 * util/grub-fstest.c (fstest): Likewise.
7579 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7581 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
7582 avoid accessing beyond the array.
7584 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7586 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
7588 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7592 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
7593 (GRUB_AFFS_FLAG_FFS): Removed.
7594 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
7595 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
7596 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
7597 (grub_fshelp_node): Make block 32-bit.
7598 Add block_cache and last_block_cache.
7599 (grub_affs_read_block): Fill and use block cache.
7600 (grub_affs_read_file): Removed.
7601 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
7603 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
7605 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
7607 (grub_affs_close): Free block cache.
7608 (grub_affs_read): Use grub_fshelp_read_file directly.
7610 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7612 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
7615 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7617 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
7619 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7622 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7624 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
7626 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
7627 byteswap when needed.
7629 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7631 Fix FreeBSD compilation.
7633 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
7634 to avoid circular dependency.
7635 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
7636 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
7637 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
7639 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7641 Fix ZFS crypto error types.
7643 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
7644 (grub_gcm_decrypt): Likewise.
7645 (grub_zfs_load_key_real): Fix error code type. Handle possible error
7648 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7652 * Makefile.util.def (10_illumos): New script.
7653 * configure.ac: Set COND_HOST_ILLUMOS.
7654 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
7655 Support Illumos calls.
7656 (find_partition_start) [__sun__]: Likewise.
7657 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
7658 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
7659 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
7660 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
7662 * util/grub-probe.c (probe) [__sun__]: Do character check.
7663 * util/grub.d/10_illumos.in: New file.
7665 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7667 Support escaped commas in hostdisk.
7669 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
7670 (find_grub_drive): Use unescape_cmp.
7671 (make_device_name): Escape commas.
7673 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7675 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
7677 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7679 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
7682 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7684 Support trampoline jumps on powerpc.
7686 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
7688 (grub_dl_load_segments): Set mod->sz.
7689 (grub_dl_flush_cache): Flush whole space occupied by module, not just
7691 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
7693 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
7695 (trampoline): New struct.
7696 (trampoline_template): New const.
7697 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
7698 * include/grub/dl.h (grub_dl): Add sz element.
7699 [__powerpc__]: Follow __ia64__.
7700 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
7701 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
7702 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
7703 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
7705 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7709 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
7710 * grub-core/Makefile.core.def (zfscrypt): New module.
7711 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
7712 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
7713 it. All users updated.
7714 (grub_zfs_decrypt): New var.
7715 (grub_zfs_load_key): Likewise.
7716 (zio_checksum_functions): Add SHA256+MAC.
7717 (zio_checksum_verify): Handle incomplete comparison due to MAC.
7718 (zio_read): Handle encrypted blocks.
7719 (zap_verify): Remove incorrect check.
7720 (fzap_iterate): Handle non-standard fzap.
7721 (zap_iterate): Likewise.
7722 (zap_iterate_u64): New function.
7723 (dnode_get_fullpath): Load keys.
7724 * grub-core/fs/zfs/zfscrypt.c: New file.
7725 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
7726 (grub_crypto_ecb_encrypt): Make input const.
7727 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
7728 (grub_crypto_ecb_encrypt): Make input const.
7729 (GRUB_CIPHER_AES): New macro.
7730 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
7731 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
7732 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
7733 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
7734 prefix. All users updated.
7735 (grub_zfs_add_key): New proto.
7736 (grub_zfs_decrypt): Likewise.
7737 (grub_zfs_load_key): Likewise.
7738 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
7739 * util/grub-fstest.c (options): Add -K option.
7740 (argp_parser): Likewise.
7742 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7744 Support zle compression on ZFS.
7746 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
7747 (decomp_table): Add zle.
7748 * include/grub/zfs/zio.h (zio_compress): Add zle.
7750 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7752 Support BtrFS embedding.
7754 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
7755 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
7756 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
7757 * util/grub-setup.c (setup): Use fs embedding if available.
7758 Add additional sanity check.
7760 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7762 * util/grub-install.in: Fix condition for config_opt.
7764 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7766 Support third redundancy strip on raidz3.
7768 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
7769 Return error on singularity. All users updated.
7770 (read_device): Don't stop on 3rd failure on raidz3.
7772 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7774 Support case-insensitive ZFS subvolumes.
7776 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
7778 (zap_hash): Likewise.
7779 (name_cmp): New function.
7780 (zap_leaf_array_equal): New parameter case_insensitive.
7782 (zap_leaf_lookup): Likewise.
7783 (fzap_lookup): Likewise.
7784 (zap_lookup): Likewise.
7785 (dnode_get_path): New parameter case_insensitive. Retrieve case
7786 sensitiviness of a volume. All users updated.
7787 (dnode_get_fullpath): New parameter case_insensitive.
7789 (grub_zfs_dir): Set info.case_insensitiveness.
7791 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7793 Support second redundancy strip on raidz(2,3).
7795 * grub-core/fs/zfs/zfs.c (powx): New array.
7796 (powx_inv): Likewise.
7798 (xor_out): New function.
7800 (recovery): Likewise.
7801 (read_device): Use second redundancy strip.
7803 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7805 Use a power of generator representation of GF(256) multiplication group
7806 to save space time and complexity.
7808 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
7809 (raid6_table2): Likewise.
7811 (powx_inv): Likewise.
7813 (grub_raid_block_mul): Replace with ...
7814 (grub_raid_block_mulx): ...this.
7815 (grub_raid6_init_table): Rewritten.
7816 (grub_raid6_recover): Use power of generator representation.
7818 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7820 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
7821 for the right device.
7823 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7825 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
7826 expected by grub-mkimage and it's more clear since there is no implicit
7829 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7831 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
7833 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7835 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
7837 * util/grub-mkrescue.in: Fix handling xorriso option.
7839 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7841 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
7844 2011-11-03 crocket <crockabiscuit@gmail.com>
7846 * util/grub.d/10_linux.in: Add Slackware initrd naming.
7848 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7850 XZ CRC64 and SHA256 support.
7852 * Makefile.util.def (libgrubmods): Add crc64.c.
7853 * grub-core/Makefile.core.def (crc64): New module.
7854 * grub-core/lib/crc64.c: New file.
7855 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
7856 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
7858 (MAX_HASH_SIZE): New define.
7859 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
7860 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
7861 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7862 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7863 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
7864 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
7865 Handle non-crc32 hashes.
7866 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
7867 (dec_stream_header): Handle non-crc32 hashes.
7868 (dec_stream_footer): Likewise.
7869 (dec_block_header): Likewise.
7870 (dec_main): Likewise.
7871 (xz_dec_init): Likewise.
7872 (xz_dec_reset): Likewise.
7873 (xz_dec_end): Likewise.
7874 * util/import_gcry.py: Add CRC64 line.
7876 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7878 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
7881 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7883 Make reiserfs label retrieval similar to other *_label functions.
7885 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
7886 (REISERFS_MAX_LABEL_LENGTH): Removed.
7887 (REISERFS_LABEL_OFFSET): Likewise.
7888 (grub_reiserfs_label): Rewritten.
7890 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7892 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
7895 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7897 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
7899 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7901 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
7902 drive failure on both raidz and raidz2.
7904 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7906 Fix RAIDZ(2) for >= 5 devices.
7908 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
7909 asize argument. All users updated.
7911 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7915 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
7916 (fill_vdev_info_real): Set ashift.
7917 (read_device): Rewrite RAIDZ part based on reverse engineering.
7919 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7921 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
7922 don't report potentially unavialiable fields in debug output.
7923 (find_path): Fix double-free and memory leak.
7925 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7929 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
7930 (grub_ufs_fs): Always set .label.
7932 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7936 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
7937 (grub_ufs_data): New field log2_blksz.
7938 (grub_ufs_read_file): Use shifts.
7939 (grub_ufs_mount): Check block size and logarithm it.
7941 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7943 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
7946 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7948 Handle symlinks and long names on tar and cpio.
7950 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
7951 (ATTR_FILE): Likewise.
7952 (ATTR_DIR): Likewise.
7953 (ATTR_LNK): Likewise.
7954 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
7955 (grub_cpio_find_file): Fill mode, handle linkname field as well as
7957 (grub_cpio_mount): Zero-fill data.
7958 (handle_symlink): New function.
7959 (grub_cpio_dir): Handle symlinks.
7960 (grub_cpio_open): Likewise.
7961 (grub_cpio_close) [MODE_USTAR]: Free linkname.
7963 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7965 Fix iso9660 filename limitations and fix memory leaks.
7967 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
7968 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
7970 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7972 Fix JFS file name length limitations.
7974 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
7975 (grub_jfs_diropen): Fix maximum filename length.
7976 (grub_jfs_getent): Fix filename length.
7977 (grub_jfs_lookup_symlink): Fix size checks.
7979 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7981 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
7984 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7986 Leverage BFS implementation to read AFS.
7988 * Makefile.util.def (libgrubmods): Add afs.c.
7989 * grub-core/Makefile.core.def (afs): New module
7990 * grub-core/fs/afs.c: New file.
7991 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
7993 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7995 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
7997 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7999 * grub-core/fs/bfs.c: Run indent.
8001 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8003 BFS implementation based on the specification.
8005 * grub-core/fs/bfs.c: New file.
8006 * Makefile.util.def (libgrubmods): Add bfs.c.
8007 * grub-core/Makefile.core.def (bfs): New module.
8009 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8011 * util/grub-fstest.c (cmd_cp): Clarify error message.
8012 (cmd_cmp): Likewise.
8014 2011-10-30 Yves Blusseau <blusseau@zetam.org>
8016 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8019 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8021 Remove afs and befs because of copyright problem.
8023 * grub-core/fs/afs.c: Removed.
8024 * grub-core/fs/afs_be.c: Removed.
8025 * grub-core/fs/befs.c: Removed.
8026 * grub-core/fs/befs_be.c: Removed.
8027 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8028 * grub-core/Makefile.core.def (afs): Removed.
8031 (befs_be): Likewise.
8033 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8035 Prefer rockridge over Joliet.
8037 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8039 (set_rockridge): ... here.
8040 (grub_iso9660_mount): Check rockridge on the primary label when
8041 discovering. Ignore Joliet if Rockridge is present.
8043 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8045 Use shifts in nilfs2.
8047 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8048 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8049 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8050 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8051 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8052 (grub_nilfs2_entries_per_block): Replaced with ...
8053 (grub_nilfs2_log_entries_per_block_log): ... this.
8054 (grub_nilfs2_blocks_per_group): Replaced with ...
8055 (grub_nilfs2_blocks_per_group_log): ... this.
8056 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8057 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8058 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8059 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8060 (grub_nilfs2_palloc_entry_offset): Replaced ...
8061 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8062 (grub_nilfs2_dat_translate): Use shifts.
8063 (grub_nilfs2_read_inode): Likewise.
8064 (GRUB_MOD_INIT): Ensure that logs are correct.
8066 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8068 Use shifts in minix filesystem.
8070 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8071 (GRUB_MINIX_ZONE2SECT): Likewise.
8072 (grub_minix_data): Replace block_size with log_block_size.
8073 (grub_minix_read_file): Use shifts.
8074 (grub_minix_mount): Check block size and take a logarithm.
8076 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8078 Use shifts in squash4.
8080 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8081 (squash_mount): Check block size and take logarithm.
8082 (direct_read): Use shifts.
8084 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8086 Correct befs block counting logic.
8088 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8089 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8090 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8091 (grub_afs_read_inode): Use block_shift.
8092 (RANGE_SHIFT): New definition.
8093 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8094 unexpected conditions, use shifts and appropriate types.
8095 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8097 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8099 * grub-core/disk/raid.c (scan_devices): Check partition.
8100 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8102 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8104 Support BFS (befs) UUID.
8106 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8107 (grub_afs_small_data_element_header): New struct.
8108 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8109 (grub_afs_read_attribute) [MODE_BFS]: New function.
8110 (grub_afs_iterate_dir): Allocate for complete inode.
8111 (grub_afs_mount): Likewise.
8112 (grub_afs_uuid) [MODE_BFS]: New function.
8113 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8115 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8117 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8118 (zfs_unmount): Fix memory leak.
8120 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8122 Support NTFS reparse points.
8124 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8125 (symlink_descriptor): New struct.
8126 (grub_ntfs_read_symlink): New function.
8127 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8128 (grub_ntfs_open): Likewise.
8130 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8132 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8134 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8136 fstest xnu_uuid subcommand.
8138 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8139 grub-core/commands/xnu_uuid.c.
8140 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8141 (fstest): Handle xnu_uuid.
8142 (options): Document xnu_uuid.
8143 (argp_parser): Parse xnu_uuid.
8145 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8147 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8148 -l argument. Add newline at the end if printing.
8149 (GRUB_MOD_INIT): Document -l.
8151 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8153 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8155 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8157 ZFS multi-device and version 33 support.
8159 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8160 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8161 (grub_zfs_data): Add multidev-ice-related fields.
8162 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8163 (dva_get_offset): Make dva const.
8164 (zfs_fetch_nvlist): New function.
8165 (fill_vdev_info_real): Likewise.
8166 (fill_vdev_info): Likewise.
8167 (check_pool_label): Likewise.
8168 (scan_disk): Likewise.
8169 (scan_devices): Likewise.
8170 (read_device): Likewise.
8171 (read_dva): Likewise.
8172 (zio_read_gang): Use read_dva.
8173 (zio_read_data): Likewise.
8174 (zap_leaf_lookup): Add missing endian conversion.
8175 (zap_verify): Add missing endian conversion. All users updated.
8176 (fzap_lookup): Likewise.
8177 (fzap_iterate): Likewise.
8178 (dnode_get_path): Handle SA bonus.
8179 (nvlist_find_value): Make input const. All users updated.
8180 (unmount_device): New function.
8181 (zfs_unmount): Use unmount_device.
8182 (zfs_mount): Use scan_disk.
8183 (zfs_mtime): New function.
8184 (grub_zfs_open): Handle system attributes.
8185 (fill_fs_info): Likewise.
8186 (grub_zfs_dir): Likewise.
8187 (grub_zfs_fs): Add mtime.
8188 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8189 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8190 (SA_MTIME_OFFSET): Likewise.
8191 (SA_SYMLINK_OFFSET): Likewise.
8192 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8193 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8194 (fstest): Support zfsinfo.
8195 (argp_parser): Likewise.
8197 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8199 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8202 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8206 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8207 sharing the same block. Iterate over correct number of indices.
8208 (dnode_get_path): Handle symlinks correctly.
8210 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8212 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8214 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8218 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8219 (grub_hfsplus_btree_search): Fix types.
8220 (grub_hfsplus_label): Implement.
8222 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8224 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8226 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8228 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8230 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8232 Fix symlink handling on iso9660.
8234 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8236 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8237 (grub_iso9660_read_symlink): Moved most of code ...
8238 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8240 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8242 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8243 Use union to avoid breaking strict-aliasing rules.
8245 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8247 Support multi-extent iso files.
8249 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8251 (grub_fshelp_node): Revamp. All users updated.
8253 (read_node): New function.
8254 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8256 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8257 (get_node_size): New function.
8258 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8260 Fix memory leak on . and ..
8261 (grub_iso9660_read): Use read_node.
8262 (grub_iso9660_close): Free node.
8264 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8266 Fix tar 4G limit and handle paths containing dot.
8268 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8269 (canonicalize): New function.
8270 (grub_cpio_find_file): Use canonicalize. Store offs in
8272 (grub_cpio_dir): Use grub_disk_addr_t.
8273 (grub_cpio_open): Likewise.
8275 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8277 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8279 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8281 (grub_squash_inode): Add long_file and block_size.
8282 (grub_squash_cache_inode): New struct.
8283 (grub_squash_dirent): Make types into enum.
8284 (SQUASH_TYPE_LONG_REGULAR): New type.
8285 (grub_squash_frag_desc): Add field size.
8286 (SQUASH_BLOCK_FLAGS): New enum.
8287 (grub_squash_data): Use grub_squash_cache_inode.
8288 (grub_fshelp_node): Make ino_chunk 64-bit.
8289 (read_chunk): Minor argument change. All users updated.
8290 (squash_mount): Use correct le_to_cpu.
8291 (grub_squash_open): Handle LONG_REGULAR.
8292 (direct_read): New function.
8293 (grub_squash_read_data): Handle blocks correctly.
8295 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8297 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8299 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8301 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8303 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8305 Fix 2G limit on ZFS.
8307 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8309 (uberblock_verify): Likewise.
8310 (dmu_read): Likewise.
8311 (grub_zfs_read): Likewise. Remove invalid cast.
8313 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8315 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8316 (grub_jfs_blkno): Fix incorrect shift.
8317 (grub_jfs_read_file): Use more appropriate types.
8319 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8321 Support triple indirect on minix2 and minix3.
8323 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8324 Declare triple_indir_zone.
8325 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8328 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8332 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8333 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8334 Rename ctime to mtime. All users updated.
8335 (grub_minix_get_file_block): Fix types and double indirect computations.
8337 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8339 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8340 if no label is found.
8341 (grub_fat_iterate_dir): Fix file size type.
8342 (grub_fat_iterate_dir): Likewise.
8344 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8346 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8348 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8349 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8351 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8353 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8355 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8357 * util/import_gcry.py: Accept space between # and include.
8359 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8361 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
8363 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8365 Fine grainely disable warnings on lexer. Remove Wno-error on it.
8367 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
8368 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
8370 * grub-core/script/yylex.l: Add fine-grained #pragma.
8372 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8374 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
8375 New inline function.
8376 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
8378 (memset) [GRUB_UTIL]: Likewise.
8379 (memcmp) [GRUB_UTIL]: Likewise.
8381 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8383 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
8384 inline function rather than a define.
8386 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8388 * util/grub-setup.c: Add missing include.
8390 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8392 * util/ieee1275/grub-ofpathname.c: Add missing include.
8394 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8396 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
8397 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
8400 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8402 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
8405 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8407 * util/grub-install.in: Add datarootdir as per automake manual
8409 * util/grub-mknetdir.in: Likewise.
8411 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8413 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
8415 * util/grub.d/10_kfreebsd.in: Likewise.
8416 * util/grub.d/10_linux.in: Likewise.
8417 * util/grub.d/10_netbsd.in: Likewise.
8418 * util/grub.d/10_windows.in: Likewise.
8419 * util/grub.d/20_linux_xen.in: Likewise.
8421 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
8423 Remove redundant grub_kernel_image_size.
8425 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
8427 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
8428 the small code. It moves it only by few bytes but simplifies the code.
8429 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
8431 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
8432 (grub_kernel_image_size): Removed.
8433 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
8434 (grub_kernel_image_size): Removed.
8435 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
8436 compiled with Apple toolchain.
8437 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
8438 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
8439 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
8440 (grub_total_module_size): Likewise.
8441 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
8443 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
8444 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
8445 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8446 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
8447 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
8448 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
8449 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
8450 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
8452 (grub_total_module_size): Removed.
8453 * util/grub-mkimage.c (image_target_desc): Remove image_size.
8454 (image_targets): Likewise.
8455 Set .compressed_size to no field on sparc.
8456 (generate_image): Remove kernel_image_size handling.
8458 2011-10-19 Szymon Janc <szymon@janc.net.pl>
8460 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
8461 NULL pointer dereference.
8463 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8465 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
8466 done with a dedicated section.
8468 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
8469 Ensure the correct position of boot_path.
8470 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
8471 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
8473 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
8474 * include/grub/boot.h: Removed. All references removed.
8475 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8477 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
8479 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8481 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
8484 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8486 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
8488 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8490 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8491 Don't add the bogus brackets.
8493 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8497 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
8498 * grub-core/Makefile.core.def (exfat): New module.
8499 * grub-core/fs/exfat.c: New file.
8500 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
8501 (GRUB_FAT_ATTR_*): Make into an enum.
8502 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
8503 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
8504 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
8505 (GRUB_FAT_MAXFILE): Removed.
8506 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
8507 (grub_current_fat_bpb_t): New type.
8508 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
8509 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
8510 (grub_fat_dir_node_t): New type.
8511 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
8512 (fat_log2) [MODE_EXFAT]: Removed.
8513 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
8514 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
8515 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
8516 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
8517 (grub_fat_label) [MODE_EXFAT]: New function.
8518 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
8519 reserved_first_sector to 0.
8521 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8523 Move grub_reboot out of the kernel.
8525 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
8526 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
8527 * grub-core/lib/efi/reboot.c: ... here.
8528 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
8529 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8530 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
8531 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
8532 * grub-core/lib/i386/reboot_trampoline.S: ... here.
8533 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
8534 * grub-core/lib/ieee1275/reboot.c: ... here.
8535 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
8536 * grub-core/lib/mips/arc/reboot.c: ... here.
8537 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
8538 * grub-core/lib/mips/loongson/reboot.c: ...here.
8539 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
8540 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
8541 * include/grub/emu/misc.h (grub_reboot): New function declaration.
8542 * include/grub/i386/reboot.h: New file.
8543 * include/grub/mips/loongson/ec.h: Fix includes.
8544 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
8545 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
8546 * grub-core/lib/i386/reboot.c: New file.
8548 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
8550 Make grub_prefix into module to fix the arbitrary limit and save
8553 * grub-core/kern/emu/main.c (grub_prefix): Removed.
8554 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
8555 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
8556 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
8557 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
8558 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
8559 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
8560 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
8561 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8562 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
8563 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
8564 * include/grub/ia64/efi/kernel.h: Removed.
8565 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
8566 (grub_prefix): Removed.
8567 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
8568 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
8569 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
8570 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
8571 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
8572 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
8573 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
8574 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
8575 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
8576 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
8577 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8578 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8579 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8580 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8581 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
8582 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
8583 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
8584 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8585 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
8586 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
8587 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
8588 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
8589 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
8590 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
8591 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
8592 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
8593 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
8594 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
8595 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
8597 * util/grub-mkimage.c (image_target_desc): Removed prefix and
8599 (image_targets): Likewise.
8600 (generate_image): Put prefix as a module.
8602 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8604 Replace grub_module_iterate with FOR_MODULES.
8606 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
8607 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
8608 (grub_efi_modules_addr): ...this.
8609 * grub-core/kern/efi/init.c (grub_modbase): New variable.
8610 (grub_efi_init): Set grub_modbase.
8611 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
8612 (grub_modbase): New variable.
8613 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
8614 (grub_modbase): New variable.
8615 (grub_machine_init): Set grub_modbase.
8616 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
8617 (grub_modbase): New variable.
8618 (grub_machine_init): Set grub_modbase.
8619 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
8620 (grub_modbase): New variable.
8621 (grub_machine_init): Set grub_modbase.
8622 * grub-core/kern/main.c (grub_module_iterate): Remove.
8623 (grub_modules_get_end): Use grub_modbase.
8624 (grub_load_modules): Use FOR_MODULES.
8625 (grub_load_config): Likewise.
8626 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
8627 (grub_modbase): New variable.
8628 (grub_machine_init): Set grub_modbase.
8629 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
8630 (grub_modbase): New variable.
8631 (grub_machine_init): Set grub_modbase.
8632 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
8634 (grub_modbase): New variable.
8635 (grub_machine_init): Set grub_modbase.
8636 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
8637 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
8638 (grub_module_iterate): Likewise.
8639 (grub_modbase): New variable declaration.
8640 (FOR_MODULES): New macro.
8642 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8644 * configure.ac: Check for __ctzdi2 and __ctzsi2.
8645 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
8647 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8649 Fix few obvious type discrepancies.
8651 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
8652 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
8653 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
8655 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
8656 and connected types.
8657 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
8659 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
8660 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
8661 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
8662 and connected types.
8664 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8666 Fix python 3.x incompatibilities.
8668 * gentpl.py: Put brackets around print strings.
8669 * util/import_gcry.py: Open explicitly as utf-8.
8670 Use in instead of has_key.
8672 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8674 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
8675 (GRUB_XFS_INO_AGBITS): Make into inline function.
8676 (GRUB_XFS_INO_INOINAG): Likewise.
8677 (GRUB_XFS_INO_AG): Likewise.
8678 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8679 (GRUB_XFS_EXTENT_OFFSET): Likewise.
8680 (GRUB_XFS_EXTENT_BLOCK): Likewise.
8681 (GRUB_XFS_EXTENT_SIZE): Likewise.
8682 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
8683 (GRUB_XFS_NEXT_DIRENT): Likewise.
8684 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
8685 (grub_xfs_read_file): Fix offset type.
8687 2011-10-15 Robert Millan <rmh@gnu.org>
8689 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
8691 2011-10-15 Robert Millan <rmh@gnu.org>
8693 Fix build problem on FreeBSD and GNU/kFreeBSD.
8695 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
8697 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8699 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
8701 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
8703 (grub_hfsplus_btree_recoffset): Likewise.
8704 (grub_hfsplus_btree_recptr): Likewise.
8705 (grub_hfsplus_find_block): Likewise.
8706 (grub_hfsplus_btree_search): Likewise.
8707 (grub_hfsplus_read_block): Likewise.
8708 (grub_hfsplus_read_file): Likewise.
8709 (grub_hfsplus_mount): Likewise.
8710 (grub_hfsplus_btree_iterate_node): Likewise.
8711 (grub_hfsplus_btree_search): Likewise.
8712 (grub_hfsplus_iterate_dir): Likewise.
8713 (grub_hfsplus_read): A small code simplification.
8715 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8717 * grub-core/kern/emu/hostdisk.c
8718 (convert_system_partition_to_system_disk): Don't assume that children
8719 of mapper nodes are mapper nodes.
8721 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8723 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
8724 * include/grub/misc.h (grub_isxdigit): New function.
8725 * grub-core/video/colors.c (my_isxdigit): Removed. All users
8726 switched to grub_isxdigit.
8727 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
8728 number starting with a letter.
8730 2011-10-09 Robert Millan <rmh@gnu.org>
8732 LVM support for FreeBSD and GNU/kFreeBSD.
8734 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
8736 (LVM_DEV_MAPPER_STRING): Move from here ...
8737 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
8738 * util/getroot.c: Include `<grub/util/lvm.h>'.
8739 (grub_util_get_dev_abstraction): Enable
8740 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
8741 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
8742 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
8743 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
8745 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
8747 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
8748 when LVM abstraction is required for ${GRUB_DEVICE}.
8750 2011-10-06 Szymon Janc <szymon@janc.net.pl>
8752 Add support for LZO compression in GRUB:
8753 - import of minilzo library,
8754 - LZO decompression for btrfs,
8755 - lzop files decompression.
8757 * grub-core/io/lzopio.c: New file.
8758 * grub-core/lib/adler32.c: Likewise.
8759 * grub-core/lib/minilzo/lzoconf.h: Likewise.
8760 * grub-core/lib/minilzo/lzodefs.h: Likewise.
8761 * grub-core/lib/minilzo/minilzo.c: Likewise.
8762 * grub-core/lib/minilzo/minilzo.h: Likewise.
8763 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
8764 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
8765 grub-core/lib/minilzo/minilzo.c to common.
8766 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
8768 * grub-core/Makefile.core.def (btrfs): Likewise.
8769 * grub-core/Makefile.core.def (lzopio): New module.
8770 (adler32): Likewise.
8771 * grub-core/fs/btrfs.c: Include minilzo.h.
8772 (GRUB_BTRFS_COMPRESSION_LZO): New define.
8773 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
8774 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
8775 (grub_btrfs_lzo_decompress): New function.
8776 (grub_btrfs_extent_read): Add support for LZO compression type.
8777 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
8778 (GRUB_USHRT_MAX): Likewise.
8779 (GRUB_UINT_MAX): Likewise.
8780 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
8781 (UINT_MAX): Likewise.
8782 (CHAR_BIT): Likewise.
8783 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
8784 grub-core/lib/posix_wrap/limits.h
8785 (UCHAR_MAX): Likewise.
8786 * include/grub/file.h (grub_file_filter_id): New compression filter
8787 GRUB_FILE_FILTER_LZOPIO.
8788 * include/grub/file.h (grub_file_filter_id): Set
8789 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
8790 * include/grub/types.h (grub_get_unaligned16): New function.
8791 (grub_get_unaligned32): Likewise.
8792 (grub_get_unaligned64): Likewise.
8793 * util/import_gcry.py (cryptolist): Add adler32.
8795 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
8797 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
8798 in perspective decreases the complexity of build system and fixes
8799 compilation right now.
8801 2011-10-01 Ales Nesrsta <starous@volny.cz>
8803 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
8804 (fixed problem related to using UHCI with coreboot).
8806 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8808 * gentpl.py: Use Autogen macros so that the output template file
8809 (Makefile.tpl) size is reduced.
8811 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
8813 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
8816 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8818 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
8819 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
8821 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8823 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
8826 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8828 Remove extra declaration of sleep for mingw32.
8830 * util/misc.c (sleep) [__MINGW32__]: Removed.
8831 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
8833 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8835 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
8837 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
8839 (NETBSD_BTINFO_BOOTWEDGE): New definition.
8840 (grub_netbsd_btinfo_bootwedge): New struct.
8841 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8843 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
8845 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
8847 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
8850 2011-09-28 Andreas Born <futur.andy@googlemail.com>
8852 Fix incorrect identifiers in bash-completion.
8854 * util/bash-completion.d/grub-completion.bash.in
8855 (_grub_mkpasswd-pbkdf2): Rename to ...
8856 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
8857 (_grub_script-check): Rename to ...
8858 (_grub_script_check): ... this. All users updated.
8860 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
8862 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8863 Return 0 if disk isn't biosdisk.
8865 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8867 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
8869 * Makefile.util.def (grub-fstest): Likewise.
8871 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8873 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
8874 Get sector size from disk label.
8876 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
8878 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
8879 */README* as well as README*.
8880 Reported by: Axel Beckert.
8882 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8884 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
8885 case of less than 256 MiB of RAM.
8887 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8889 * grub-core/commands/wildcard.c (make_regex): Handle @.
8891 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8893 * util/grub-install.in: Move cryptodisk logic to appropriate place.
8895 2011-08-21 Szymon Janc <szymon@janc.net.pl>
8897 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
8898 AC_LANG_CONFTEST macros.
8900 2011-08-20 Szymon Janc <szymon@janc.net.pl>
8902 Add grub-fstest option to uncompress data for commands.
8904 * util/grub-fstest.c (uncompress): New var.
8905 (options): New option -u.
8907 2011-08-20 Szymon Janc <szymon@janc.net.pl>
8909 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
8910 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
8912 2011-08-20 Szymon Janc <szymon@janc.net.pl>
8914 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
8915 file type was not recognized correctly (not gzip or corrupted).
8917 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8919 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
8920 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
8922 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8924 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
8926 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8927 video_radeon_fuloong2e.
8928 * grub-core/video/radeon_fuloong2e.c: New file.
8929 * include/grub/video.h (grub_video_id_t): Add new ID
8930 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
8932 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8934 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
8936 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
8937 that PRID matches the detected subplatform and reset the subplatform
8940 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8942 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
8944 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8946 Fix PCI iterating on functions >= 4.
8948 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
8949 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
8951 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
8952 (grub_pci_read): Fix bitmask.
8953 (grub_pci_read_word): Likewise.
8954 (grub_pci_read_byte): Likewise.
8955 (grub_pci_write): Likewise.
8956 (grub_pci_write_word): Likewise.
8957 (grub_pci_write_byte): Likewise.
8959 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8961 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
8962 can still be specified in TARGET_CFLAGS)
8964 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8966 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
8968 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
8969 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
8970 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
8971 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
8972 (FULOONG): Rename to ...
8973 (FULOONG2F): ... this. All users updated.
8974 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
8975 (machtype_fuloong2f_str): ... this.
8976 (machtype_fuloong2e_str): New string.
8977 Check for machtype_fuloong2e_str.
8978 * grub-core/loader/mips/linux.c (loongson_machtypes)
8979 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
8980 * grub-core/term/serial.c (loongson_defserial)
8981 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
8982 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
8984 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
8986 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
8987 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
8988 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
8989 to IMAGE_FULOONG2F_FLASH. All users updated.
8990 (image_targets): Rename images.
8991 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
8993 2011-08-19 Szymon Janc <szymon@janc.net.pl>
8995 Make enable of disk cache statistics code configurable.
8997 * configure.ac: --enable-cache-stats added.
8998 * config.h.in (DISK_CACHE_STATS): New define.
8999 * grub-core/Makefile.core.def (cacheinfo): New command.
9000 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9001 * grub-core/commands/cacheinfo.c: New file.
9002 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9003 moved to cacheinfo.c.
9004 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9006 * include/grub/disk.h: Likewise.
9008 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9010 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9011 * grub-core/Makefile.am: Likewise.
9013 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9015 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9018 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9020 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9022 (grub_jfs_lookup_symlink): Use correct starting inode.
9024 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9026 * util/grub-setup.c (main): Add missing gcry initialisation.
9028 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9030 Don't accept text modes on EFI when booting Linux.
9032 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9033 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9035 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
9036 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9038 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9039 use of "/path/.." as in grub-install for EFI as well as handling
9041 Fixes Debian bug #637768.
9043 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9045 * util/grub-probe.c: Remove duplicate #include.
9047 2011-08-10 Robert Millan <rmh@gnu.org>
9049 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9051 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9053 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9054 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9056 2011-08-03 Robert Millan <rmh@gnu.org>
9058 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9060 Reported by: Zachary Bedell
9062 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9064 * configure.ac: The Loongson port requires grub-mkfont due to its
9065 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9068 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9070 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9071 processing arguments (otherwise help2man fails when GRUB has not yet
9074 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9076 New script grub-mkstandalone.
9078 * Makefile.util.def (grub-mkstandalone): New script.
9079 * docs/man/grub-mkstandalone.h2m: New file.
9080 * util/grub-mkstandalone.in: Likewise.
9082 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9084 Support ATA disks with 4K sectors.
9086 * include/grub/ata.h (grub_ata): New member log_sector_size.
9087 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9088 (grub_ata_identify): Read sector size.
9089 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9091 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9093 * util/grub-install.in: Don't use uhci outside of x86.
9095 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9097 * util/grub-mkrescue.in: Add missing quotes.
9099 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9101 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9104 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9106 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9108 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9110 * include/grub/video.h: add missing EXPORT_FUND on
9111 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9113 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9115 * include/grub/mips/kernel.h: Fix define conflict.
9117 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9119 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9122 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
9124 Preferred resolution detection for VBE.
9126 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9127 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9128 the Flat Panel extension, in line with the X.org VESA driver.
9129 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9131 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9132 (grub_vbe_bios_read_edid): Likewise.
9133 (grub_vbe_get_preferred_mode): Likewise.
9134 (grub_video_vbe_setup): When the mode is "auto", try to get the
9135 preferred mode from VBE, and use the largest mode that is no larger
9136 than the preferred mode (some BIOSes expose a preferred mode that is
9137 not in their mode list!). If this fails, fall back to 640x480 as a
9138 safe conservative choice.
9139 (grub_video_vbe_get_edid): New function.
9140 (grub_video_vbe_adapter): Add get_edid.
9141 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9142 (struct grub_video_adapter): Add get_edid.
9143 (grub_video_edid_checksum): Add prototype.
9144 (grub_video_edid_preferred_mode): Likewise.
9145 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9148 * grub-core/commands/videoinfo.c (print_edid): New function.
9149 (grub_cmd_videoinfo): Print EDID if available.
9151 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9152 is more appropriate on a wider range of platforms than 640x480.
9153 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9156 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9158 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9160 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9162 * po/POTFILES.in: Regenerate.
9164 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9166 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9167 incorrect memory usage.
9169 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9171 * util/grub-install.in: Source grub-mkconfig_lib.
9173 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9175 Remove getroot.c from core on emu platform.
9177 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9179 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9181 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9182 * util/getroot.c (get_win32_path): ... here.
9183 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9184 * util/getroot.c (fini_libzfs): ... here.
9185 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9186 * util/getroot.c (grub_get_libzfs_handle): ... here.
9187 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9189 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9190 * grub-core/kern/emu/misc.c
9191 (grub_make_system_path_relative_to_its_root): Moved from here...
9192 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9193 * grub-core/kern/emu/getroot.c: Moved from here ...
9194 * util/getroot.c: ... here. All users updated.
9195 * grub-core/kern/emu/raid.c: Moved from here ...
9196 * util/raid.c: ... here. All users updated.
9198 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9200 * po/POTFILES.in: Regenerate.
9202 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9204 Fix compilation on GNU/Linux.
9206 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9208 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9209 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9210 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9212 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9213 2011-07-07 Michael Gorven <michael@gorven.za.net>
9214 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9216 LUKS and GELI support.
9218 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9219 grub-core/disk/luks.c, grub-core/disk/geli.c,
9220 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9221 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9222 grub-core/lib/arg.c.
9223 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9224 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9225 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9226 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9227 (grub-bin2h): Add libgcry.a.
9228 (grub-mkimage): Likewise.
9229 (grub-mkrelpath): Likewise.
9230 (grub-script-check): Likewise.
9231 (grub-editenv): Likewise.
9232 (grub-mkpasswd-pbkdf2): Likewise.
9233 (grub-pe2elf): Likewise.
9234 (grub-fstest): Likewise.
9235 (grub-mkfont): Likewise.
9236 (grub-mkdevicemap): Likewise.
9237 (grub-probe): Likewise.
9238 (grub-ofpath): Likewise.
9239 (grub-mklayout): Likewise.
9240 (example_unit_test): Likewise.
9241 (grub-menulst2cfg): Likewise.
9242 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9243 * grub-core/Makefile.core.def (cryptodisk): New module.
9246 * grub-core/disk/AFSplitter.c: New file.
9247 * grub-core/disk/cryptodisk.c: Likewise.
9248 * grub-core/disk/geli.c: Likewise.
9249 * grub-core/disk/luks.c: Likewise.
9250 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9252 (grub_util_get_dm_abstraction): New function.
9253 (grub_util_follow_gpart_up): Likewise.
9254 (grub_util_get_geom_abstraction): Likewise.
9255 (grub_util_get_dev_abstraction): Use new functions.
9256 (grub_util_pull_device): Pull GELI and LUKS.
9257 (grub_util_get_grub_dev): Handle LUKS and GELI.
9258 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9259 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9260 (follow_geom_up): Removed.
9261 (grub_util_fd_seek): New function.
9262 (open_device): Use grub_util_fd_seek.
9263 (nread): Rename to ..
9264 (grub_util_fd_read): ... this. All users updated.
9265 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9266 (grub_crypto_cbc_decrypt): Likewise.
9267 (grub_crypto_hmac_write): Likewise.
9268 (grub_crypto_hmac_buffer): Likewise.
9269 (grub_password_get): Extend to util.
9270 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9272 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9273 * include/grub/cryptodisk.h: New file.
9274 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9275 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9277 (grub_util_follow_gpart_up): New proto.
9278 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9279 (grub_util_fd_read): Likewise.
9280 (grub_cryptodisk_cheat_mount): Likewise.
9281 (grub_util_cryptodisk_print_uuid): Likewise.
9282 (grub_util_get_fd_sectors): Likewise.
9283 * util/grub-fstest.c (mount_crypt): New var.
9284 (fstest): Mount crypto if requested.
9285 (options): New option -C.
9286 (argp_parser): Parse -C.
9287 (main): Init and fini gcry.
9288 * util/grub-install.in: Support cryptodisk install.
9289 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9290 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9292 (prepare_grub_to_access_device): Likewise.
9293 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9294 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9295 (probe_cryptodisk_uuid): New function.
9296 (probe_abstraction): Likewise.
9297 (probe): Use new functions.
9298 * util/import_gcry.py: Create Makefile.utilgcry.def.
9301 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9303 Lazy device scanning.
9305 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9306 (grub-setup): Remove util/raid.c.
9307 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9308 * grub-core/disk/lvm.c (scan_depth): New variable.
9309 (grub_lvm_iterate): Rescan if necessary.
9310 (find_lv): New function based on grub_lvm_open.
9311 (grub_lvm_open): Use find_lv. Rescan on error.
9312 (is_node_readable): New function.
9313 (is_lv_readable): Likewise.
9314 (grub_lvm_scan_device): Skip already found disks.
9315 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9316 Stop if searched device is found and readable.
9317 * grub-core/disk/raid.c (inscnt): New variable.
9318 (scan_depth): Likewise.
9319 (scan_devices): New function based on grub_raid_register. Abort if
9320 looked for device is found.
9321 (grub_raid_iterate): Rescan if needed.
9322 (find_array): NEw function based on -grub_raid_open.
9323 (grub_raid_open): Use find_array and rescan.
9324 (insert_array): Set became_readable_at.
9325 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9326 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9328 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9329 (grub_util_pull_device): New function.
9330 (grub_util_get_grub_dev): Call grub_util_pull_device.
9331 * util/raid.c: Moved to ..
9332 * grub-core/kern/emu/raid.c: ... here.
9333 (grub_util_raid_getmembers): New parameter "bootable".
9334 All users updated. Support 1.x.
9335 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9337 * include/grub/disk.h (grub_disk_pull_t): New enum.
9338 (grub_disk_dev): Change iterate prototype.
9340 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9342 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9343 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9344 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9345 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9347 * include/grub/util/raid.h: Removed.
9349 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9351 * po/POTFILES.in: Regenerate.
9353 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9355 Unify sparc init with other ieee1275.
9357 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9358 instead of kern/sparc64/ieee1275/init.c.
9359 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
9360 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
9361 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
9362 grub/machine/kernel.h.
9363 (grub_ieee1275_original_stack) [__sparc__]: New variable.
9364 (grub_claim_heap) [__sparc__]: Use sparc version.
9365 (grub_machine_init): Moved args parsing to
9366 (grub_parse_cmdline): ...this.
9367 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
9368 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
9370 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
9372 Move BOOTP to separate file.
9374 * grub-core/Makefile.core.def (net): Add net/bootp.c.
9375 * grub-core/net/net.c: Move all BOOTP functions to
9376 * grub-core/net/bootp.c: ... here.
9378 Use frame interface on PXE.
9380 * grub-core/Makefile.core.def (pxecmd): Removed.
9381 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
9382 * grub-core/commands/i386/pc/pxecmd.c: Removed.
9383 * grub-core/i386/pc/pxe.c: Moved from here ...
9384 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
9385 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
9386 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
9388 EFI network support.
9390 * grub-core/Makefile.core.def (efinet): New module.
9391 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
9393 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
9395 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
9396 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
9397 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
9398 * grub-core/net/drivers/efi/efinet.c: New file.
9399 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
9400 (grub_efi_net_config): New extern var.
9402 Various cleanups and bugfixes.
9404 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
9406 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
9407 disk declared as partition.
9408 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
9410 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
9411 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
9412 (grub_debug_zalloc): Likewise.
9413 (grub_debug_realloc): Likewise.
9414 (grub_debug_memalign): Likewise.
9415 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
9416 Check that target is IPv4.
9417 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
9418 local-mac-address as fallback.
9419 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
9421 * grub-core/net/ip.c (ipchksum): Rename to ...
9422 (grub_net_ip_chksum): ... this. All users updated.
9423 (grub_net_recv_ip_packets): Special handling for DHCP.
9424 * util/grub-mkimage.c (generate_image): Zero-out aout header.
9426 Unify prefix handling
9428 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
9429 (grub_machine_get_bootlocation): ... this.
9430 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
9431 (grub_machine_get_bootlocation): ... this.
9432 (grub_prefix): New variable.
9434 (root_dev): New variable.
9436 (main): Use new variables.
9437 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
9439 (grub_machine_get_bootlocation): ... this.
9440 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
9441 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
9442 (grub_machine_get_bootlocation): ... this.
9443 (grub_machine_set_prefix): Removed.
9444 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
9445 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
9447 (grub_machine_get_bootlocation): ... this.
9448 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
9449 (grub_set_prefix_and_root): ... this. All users updated.
9450 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
9452 (grub_machine_get_bootlocation): ... this.
9453 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
9454 (grub_machine_get_bootlocation): New proto.
9455 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
9457 Less intrusive and more reliable seek on network implementation.
9459 * grub-core/kern/file.c (grub_file_net_seek): Removed.
9460 (grub_file_seek): Don't call grub_file_net_seek.
9461 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
9462 (grub_net_fs_read_real): .. this.
9463 (grub_net_seek_real): Use net->offset.
9464 (grub_net_fs_read): Seek if necessary.
9466 Unify IEEE1275 netwotk config with the other platforms.
9468 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
9470 (grub_machine_get_bootlocation): Support network.
9471 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9472 Support type and device parsing.
9473 (grub_ieee1275_get_device_type): New function.
9474 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
9476 (grub_ieee1275_net_config_real): ... this.
9477 (grub_ofnet_probecards): Removed.
9478 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
9479 * include/grub/ieee1275/ofnet.h: Removed.
9480 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
9482 (grub_ieee1275_get_device_type): New function.
9484 Unify network device closing across platforms and make more robust.
9486 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
9488 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
9490 * grub-core/net/net.c (grub_net_network_level_interface_register):
9492 (grub_net_card_unregister): Close all interfaces.
9493 (receive_packets): Don't poll if no iterfaces are registered.
9495 (grub_net_fini_hw): New function.
9496 (grub_net_restore_hw): Likewise.
9497 (fini_hnd): New variable.
9498 (GRUB_MOD_INIT): Register preboot hook.
9499 (GRUB_MOD_FINI): Run and unregister preboot hook.
9501 Poll network cards when idle.
9503 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
9504 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
9505 * grub-core/net/net.c (receive_packets): Save last poll time.
9506 (grub_net_poll_cards_idle_real): New function.
9507 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
9508 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
9509 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
9511 Rename ofnet interfaces.
9513 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
9514 (grub_ofnet_findcards): Use ofnet_%s names.
9516 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
9518 Cleanup socket opening.
9520 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
9521 (grub_net_fs_close): Likewise.
9522 (grub_net_fs_read_real): Use eof member.
9523 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
9524 (+grub_net_udp_close): New inline function.
9526 * include/grub/net/tftp.h: Moved to the top of ...
9527 * grub-core/net/tftp.c: ... here.
9528 * include/grub/net/ip.h: Moved mostly to the top of ...
9529 * grub-core/net/ip.c: ... here.
9530 * include/grub/net/ethernet.h: Moved mostly to the top of ...
9531 * grub-core/net/ethernet.c: ... here.
9533 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
9535 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
9538 * include/grub/net/ip.h (ipv4_ini): Removed.
9539 (ipv4_fini): Likewise.
9541 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
9542 (grub_net_send_ip_packets): Likewise.
9544 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9546 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
9547 grub_read_cmos prototype.
9549 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9551 VGA text support in qemu-mips
9553 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
9554 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
9555 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
9557 * grub-core/kern/i386/qemu/init.c: Renamed to ...
9558 * grub-core/kern/vga_init.c: ... this.
9559 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
9560 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
9561 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
9563 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
9564 GRUB_MACHINE_PCI_IO_BASE.
9566 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9568 MIPS qemu flash support.
9570 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
9572 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
9573 (grub_machine_init): Probe memory if its size isn't known.
9574 * util/grub-mkimage.c (image_targets): Add flash targets.
9575 (generate_image): Handle flash targets.
9577 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9579 MIPS qemu at_keyboard support.
9581 * gentpl.py (videoinkernel): Add qemu-mips.
9582 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
9583 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
9584 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
9586 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
9587 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
9588 * grub-core/term/serial.c (grub_serial_register)
9589 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
9591 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9593 CMOS support on sparc.
9595 * gentpl.py (cmos): Add powerpc and sparc.
9596 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
9598 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
9599 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
9600 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
9601 grub_set_datetime_cmos.
9602 * grub-core/lib/ieee1275/cmos.c: New file.
9603 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
9604 (find_rtc): Set no_ieee1275_rtc on error.
9605 (grub_get_datetime): Call grub_get_datetime_cmos on error.
9606 (grub_set_datetime): Call grub_set_datetime_cmos on error.
9607 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
9608 fail. Move value to argument. All users updated
9609 (grub_cmos_write): Likewise.
9610 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
9611 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
9612 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
9613 grub_get_datetime_cmos and grub_set_datetime_cmos.
9615 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
9617 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
9618 sourcing grub-mkconfig_lib.
9619 * util/update-grub_lib.in: Likewise.
9620 * util/grub.d/00_header.in: Likewise.
9621 * util/grub.d/10_hurd.in: Likewise.
9622 * util/grub.d/10_kfreebsd.in: Likewise.
9623 * util/grub.d/10_linux.in: Likewise.
9624 * util/grub.d/10_netbsd.in: Likewise.
9625 * util/grub.d/10_windows.in: Likewise.
9626 * util/grub.d/20_linux_xen.in: Likewise.
9627 * util/grub.d/30_os-prober.in: Likewise.
9629 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
9631 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
9632 default_bg_color rather than black.
9633 (grub_gfxterm_fullscreen): Likewise.
9634 (grub_gfxterm_background_color_cmd): Save new background color in
9637 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9639 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
9641 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9643 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
9646 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9648 Chainloading on coreboot support.
9650 * grub-core/Makefile.core.def (chain): Add coreboot.
9651 * grub-core/loader/i386/coreboot/chainloader.c: New file.
9653 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9655 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
9658 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9660 Implement time command.
9662 * grub-core/Makefile.core.def (time): New module.
9663 * grub-core/commands/time.c: New file.
9664 * grub-core/script/parser.y: Remove "time" keyword.
9665 * grub-core/script/yylex.l: Likewise.
9667 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9669 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
9671 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9673 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
9674 when handling leftovers.
9676 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9678 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
9679 so that help2man doesn't fail.
9681 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9683 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
9684 type in pointers on sparc64.
9685 (get_card_packet): Likewise.
9687 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
9689 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
9691 (grub_cmd_videoinfo): Fetch current video mode.
9693 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9695 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
9696 because of underlying system restrictions.
9698 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9700 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
9703 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9705 Coreboot video support.
9707 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
9709 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
9710 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
9712 * grub-core/kern/i386/int.S: ... here.
9713 * grub-core/video/i386/pc/vbe.c: Updated includes.
9714 * grub-core/video/i386/pc/vga.c: Likewise.
9715 * include/grub/i386/coreboot/memory.h
9716 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
9717 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
9718 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
9719 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
9721 * include/grub/i386/pc/vga.h: Removed. All users updated.
9723 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9725 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
9726 definitions for dprintf.
9727 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
9729 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9731 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
9733 (get_card_packet): Likewise.
9735 2011-06-26 Yves Blusseau <blusseau@zetam.org>
9737 Display the path of the file when file is not found
9739 * grub-core/fs/fat.c: Display the filename when file is not found.
9740 * grub-core/fs/fshelp.c: Likewise.
9741 * grub-core/fs/hfs.c: Likewise.
9742 * grub-core/fs/jfs.c: Likewise.
9743 * grub-core/fs/minix.c: Likewise.
9744 * grub-core/fs/ufs.c: Likewise.
9745 * grub-core/fs/btrfs.c: Likewise.
9746 * grub-core/commands/i386/pc/play.c: Likewise.
9748 2011-06-26 Szymon Janc <szymon@janc.net.pl>
9750 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
9751 pointer checks before calling grub_free().
9752 * grub-core/commands/wildcard.c (match_devices): Likewise.
9753 * grub-core/commands/wildcard.c (match_files): Likewise.
9754 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
9755 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
9756 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
9757 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
9758 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
9759 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
9760 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
9761 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9762 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
9764 2011-06-25 Patrick <p55@mailinator.com>
9766 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
9768 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9770 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
9771 (grub_pxe_send): Likewise.
9772 (GRUB_MOD_INIT): Fix types.
9774 2011-06-24 Szymon Janc <szymon@janc.net.pl>
9776 * grub-core/io/xzio.c: Fix code style issues
9778 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9779 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
9781 Network infrastructure.
9782 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
9784 * include/grub/net/arp.h: New file.
9785 * include/grub/net/device.h: Likewise.
9786 * include/grub/net/ethernet.h: Likewise.
9787 * include/grub/net/ip.h: Likewise.
9788 * include/grub/net/netbuff.h: Likewise.
9789 * include/grub/net/tftp.h: Likewise.
9790 * include/grub/net/udp.h: Likewise.
9791 * include/grub/ieee1275/ofnet.h: Likewise.
9792 * include/grub/emu/export.h: Likewise.
9793 * include/grub/net.h: Likewise.
9794 * grub-core/net/arp.c: Likewise.
9795 * grub-core/net/ethernet.c: Likewise.
9796 * grub-core/net/ip.c: Likewise.
9797 * grub-core/net/udp.c: Likewise.
9798 * grub-core/net/tftp.c: Likewise.
9799 * grub-core/net/netbuff.c: Likewise.
9800 * grub-core/net/net.c: Likewise.
9801 * grub-core/net/drivers/emu/emunet.c: Likewise.
9802 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
9803 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
9805 * grub-core/Makefile.core.def (net): New module.
9809 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
9811 * grub-core/kern/device.c (grub_net_open) : New variable.
9812 (grub_device_open): Handle network device.
9813 (grub_device_close): Likewise.
9814 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
9815 (grub_grubnet_fini): Likewise.
9816 (grub_file_seek): Seek in network device.
9817 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
9818 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
9820 (grub_machine_fini): Call grub_grubnet_fini.
9821 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
9823 (grub_ieee1275_get_aliasdevname): New function.
9824 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9825 Add unofficial Solaris network info.
9826 (grub_multiboot_make_mbi): Likewise.
9827 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
9828 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
9829 * include/grub/device.h (grub_fs): Removed.
9830 * include/grub/err.h (grub_err_t): Add network-related values.
9831 * include/grub/i386/pc/pxe.h: Removed bootp parts.
9832 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
9833 (grub_ieee1275_get_aliasdevname): New proto.
9834 * include/grub/net.h: Rewritten.
9836 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9838 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
9841 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9843 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
9844 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
9845 it truncates the output.
9846 Reported by: Ximin Luo.
9848 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9850 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
9852 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9854 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9855 partmap before abstraction.
9857 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
9859 * util/grub-mkconfig_lib.in: Add missing quotes.
9861 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9863 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
9864 old method if mountinfo would return /dev/root and /dev/root doesn't
9867 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9871 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
9872 (decomp_table): Add zlib entries.
9873 (zio_read): USe 8 bits for compression function rather than 3.
9874 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
9876 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9878 * grub-core/disk/ahci.c: Add missing license statements.
9879 * grub-core/fs/romfs.c: Likewise.
9880 * grub-core/lib/ia64/setjmp.S: Likewise.
9881 * grub-core/loader/i386/pc/freedos.c: Likewise.
9882 * grub-core/loader/ia64/efi/linux.c: Likewise.
9883 * grub-core/video/colors.c: Likewise.
9884 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
9886 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9890 * grub-core/Makefile.core.def (ata_pthru): Removed.
9893 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
9895 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
9897 (grub_hdparm_do_check_powermode_cmd): Likewise.
9898 (grub_hdparm_do_smart_cmd): Likewise.
9899 (grub_hdparm_set_val_cmd): Likewise.
9900 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
9901 * grub-core/disk/ahci.c: New file.
9902 * grub-core/disk/ata.c: Factor out the low-level part into ...
9903 * grub-core/disk/pata.c: ... here.
9904 * grub-core/disk/ata_pthru.c: Contents moved to ...
9905 * grub-core/disk/pata.c: ... here.
9906 * grub-core/disk/scsi.c (grub_scsi_names): New array.
9907 (grub_scsi_iterate): Use grub_scsi_names.
9908 (grub_scsi_open): Likewise.
9909 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
9910 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
9911 (grub_ata_regs_t): New struct.
9912 (grub_disk_ata_pass_through_parms): Likewise.
9913 (grub_ata_device): Renamed to ...
9914 (grub_ata): ... this.
9915 (grub_ata_dev): New struct.
9916 Removed all low-level inline functions.
9917 * include/grub/scsi.h: Add PATA and AHCI subsystems.
9918 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
9919 iterate hooks and open. All users updated.
9920 * util/grub-install.in: Handle AHCI disk module.
9922 2011-06-23 Szymon Janc <szymon@janc.net.pl>
9924 Add support for DRI and RSTn markers in JPEG files.
9926 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
9927 (JPEG_MARKER_RST0): Likewise.
9928 (JPEG_MARKER_RST1): Likewise.
9929 (JPEG_MARKER_RST2): Likewise.
9930 (JPEG_MARKER_RST3): Likewise.
9931 (JPEG_MARKER_RST4): Likewise.
9932 (JPEG_MARKER_RST5): Likewise.
9933 (JPEG_MARKER_RST6): Likewise.
9934 (JPEG_MARKER_RST7): Likewise.
9935 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
9936 (grub_jpeg_decode_dri): New function.
9937 (grub_jpeg_decode_sos): Move image data related part into
9938 grub_jpeg_decode_data function.
9939 (grub_jpeg_decode_data): New function.
9940 (grub_jpeg_reset): New function.
9941 (grub_jpeg_decode_jpeg): Handle new markers.
9943 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9945 * util/ieee1275/ofpath.c (check_sas): Close fd.
9946 (main): Free of_path.
9947 Reported by: David Volgyes <dvolgyes>.
9949 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9951 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
9952 Reported by: David Volgyes <dvolgyes>.
9954 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9956 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
9958 Reported by: David Volgyes <dvolgyes>.
9960 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9962 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
9964 Reported by: David Volgyes <dvolgyes>.
9966 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9968 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
9969 Prevent memory leak.
9971 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9973 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
9975 Reported by: David Volgyes <dvolgyes>.
9977 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9979 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
9980 to continue if allocation is failed.
9982 Reported by: David Volgyes <dvolgyes>.
9984 2011-06-23 David Volgyes <dvolgyes>
9986 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
9989 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9991 Fix spurious warning.
9993 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
9994 (acorn_partition_map_find): Use .bin member.
9996 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9998 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
9999 /dev/root as a valid device.
10001 2011-06-23 Jim Meyering <meyering@redhat.com>
10003 Avoid NULL deref in grub_device_open.
10005 * grub-core/kern/device.c (grub_device_open): Don't dereference
10006 a NULL pointer upon failed grub_env_get.
10008 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10010 Support non-512B sectors and agglomerate reads.
10012 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10013 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10014 (disk_io_guid): Removed.
10015 (make_devices): Locate solely by BlockIO.
10016 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10017 (grub_efidisk_read): Use read_blocks.
10018 (grub_efidisk_write): Use write_blocks.
10019 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10021 (get_safe_sectors): Handle non-512B sectors.
10022 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10024 (grub_biosdisk_write): Handle non-512B sectors.
10025 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10026 (grub_scsi_read): Remove special non-512B block handling (now handled
10028 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10029 and do sanity checks.
10030 (grub_disk_adjust_range): Handle non-512B sectors.
10031 (transform_sector): New function.
10032 (grub_disk_read_small): Likewise.
10033 (grub_disk_read): Rewritten.
10034 (grub_disk_write): Handle non-512B sectors.
10035 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10037 (open_device): Use log_sector_size.
10038 (grub_util_biosdisk_read): Likewise.
10039 (grub_util_biosdisk_write): Likewise.
10040 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10042 (pc_partition_map_embed): Likewise.
10043 * include/grub/disk.h (grub_disk): New field log_sector_size.
10044 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10045 (GRUB_DISK_CACHE_BITS): Increased to 6.
10046 * util/grub-fstest.c (fstest): New command testload.
10047 (argp_parser): Likewise.
10049 2011-06-16 Robert Millan <rmh@gnu.org>
10051 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10052 `ata' driver on kernel of FreeBSD 9.
10054 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10055 (get_ataraid_disk_name): New functions.
10056 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10057 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10058 get_ataraid_disk_name() and get_ada_disk_name().
10060 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
10062 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10065 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
10067 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10068 `ftp.gnu.org' for `alpha.gnu.org'.
10070 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10072 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10073 partitions under /dev/disk/by-id/.
10075 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10077 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10078 after ten consecutive open failures. Scanning all the way up to
10079 10000 is excessive and can cause serious performance problems in
10080 some configurations.
10081 Fixes Ubuntu bug #787461.
10083 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10085 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10088 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
10089 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10091 Don't stat devices unless we have to.
10093 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10094 dir == /dev/mapper.
10095 (grub_guess_root_device): Use already known os_dev if possible.
10096 * grub-core/kern/emu/hostdisk.c
10097 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10098 if device is known to be a dm one.
10100 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
10102 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10103 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10104 Reported by: Pawel Tecza.
10106 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10108 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10109 (lsefisystab): Likewise.
10111 (lsefimmap): Likewise.
10112 (hdparm): Enable on qemu-mips.
10113 (setjmp): Add ia64 nodist.
10114 (serial): Simplify tags.
10116 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10118 * Makefile.util.def (grub-ofpathname): Install manual page.
10120 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10122 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10124 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10126 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10128 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10130 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10133 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10135 Use full 64-bit division.
10137 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10138 (grub_divmod64): ... this.
10139 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10142 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10144 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10147 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10149 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10150 to avoid accidents when debugging with 'sh -x'.
10151 * grub-core/gensyminfo.sh.in: Likewise.
10152 * tests/example_scripted_test.in: Likewise.
10153 * tests/grub_cmd_regexp.in: Likewise.
10154 * tests/grub_script_blanklines.in: Likewise.
10155 * tests/grub_script_dollar.in: Likewise.
10156 * tests/grub_script_expansion.in: Likewise.
10157 * tests/grub_script_final_semicolon.in: Likewise.
10158 * tests/partmap_test.in: Likewise.
10159 * tests/util/grub-shell-tester.in: Likewise.
10160 * tests/util/grub-shell.in: Likewise.
10162 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10164 Move gfxmenu color handling to video, so that gfxterm can use it
10167 * grub-core/gfxmenu/named_colors.c: Move to ...
10168 * grub-core/video/colors.c: ... here. Rename
10169 grub_gui_get_named_color to grub_video_get_named_color.
10170 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10171 * grub-core/video/colors.c (my_isxdigit): ... here.
10172 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10174 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10175 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10177 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10179 * include/grub/gui.h (grub_gui_color_t): Move to ...
10180 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10181 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10182 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10183 * include/grub/gui.h (grub_gui_map_color): Move to ...
10184 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10185 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10187 * include/grub/video.h (grub_video_get_named_color): ... here.
10188 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10189 * include/grub/video.h (grub_video_parse_color): ... here.
10191 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10193 (gfxmenu): Remove gfxmenu/named_colors.c.
10194 (video) [videomodules]: Add video/colors.c.
10196 Add a background_color command.
10198 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10200 (GRUB_MOD_INIT): Register background_color command.
10201 (GRUB_MOD_FINI): Unregister background_color command.
10202 (redraw_screen_rect): Allow blend/replace of text layer to be
10203 controlled independently from whether there is a background bitmap.
10204 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10207 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10209 Patch BPB in ntldr and chainloader --bpb.
10211 * grub-core/fs/fat.c: Include grub/fat.h.
10212 (grub_fat_bpb): Moved to ...
10213 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10214 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10216 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10218 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10220 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10222 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10223 (GRUB_MOD_INIT): Show --bpb.
10224 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10225 * grub-core/normal/main.c (features): New variable.
10226 (GRUB_MOD_INIT): Set feature_* variables.
10227 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10229 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10231 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10233 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10236 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10238 FreeDOS direct loading support.
10240 * docs/grub.texi (Supported OS): Add FreeDOS.
10241 * grub-core/Makefile.core.def (freedos): New module.
10242 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10244 (grub_relocator16_boot): Handle %ebx.
10245 * grub-core/lib/i386/relocator16.S: Likewise.
10246 * grub-core/loader/i386/pc/freedos.c: New file.
10248 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10250 Long Linux command line support.
10252 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10253 (maximal_cmdline_size): New variable.
10254 (allocate_pages): Use maximal_cmdline_size.
10255 (grub_cmd_linux): Set and use maximal_cmdline_size.
10256 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10257 (allocate_pages): Use maximal_cmdline_size.
10258 (grub_cmd_linux): Set and use maximal_cmdline_size.
10259 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10260 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10263 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10264 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10266 Improve devmapper support
10268 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10269 (grub_util_is_lvm): New function.
10270 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10271 than lvm if not dmraid.
10272 Handle mapped md nodes.
10273 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10274 (grub_util_device_is_mapped): ... this. Make always available. All users
10276 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10277 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10279 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10281 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10283 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10285 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10286 * grub-core/modinfo.sh.in: New file.
10287 * grub-core/Makefile.core.def (modinfo.sh): New script.
10288 * util/grub-mknetdir.in: Use modinfo.sh.
10289 * util/grub-mkrescue.in: Likewise.
10291 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10293 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10294 Fix potential usage of Elf32 instead of Elf64 when compiling on
10295 32-bit architecture. Add endianness macros while on it.
10297 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10299 Use mipsel- rather than mips- in directories involving mipsel ports to
10300 allow both endiannesses coexist.
10302 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10303 mips. All conditions adjusted.
10304 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10306 * util/grub-install.in: Adjust conditions to take renaming into account.
10307 * util/grub-mkimage.c (image_targets): Likewise. New target
10308 mips-qemu_mips-elf for bigendian mips.
10310 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10312 Avoid unnecessary copying on MIPS.
10314 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10315 early if src == dest.
10316 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10317 compression is none.
10319 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10321 Reduce memory footprint on SGI by putting modules before the kernel
10322 as opposed to after.
10324 * grub-core/Makefile.core.def (kernel): Increase linking address.
10325 (none_decompress): Likewise.
10326 (xz_decompress): Likewise.
10327 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10329 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10331 (grub_arch_modules_addr): New function.
10332 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10333 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10334 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10336 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10337 (grub_total_modules_size): ... this. Make global.
10338 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10339 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10341 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10342 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10343 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10344 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10345 * util/grub-mkimage.c (image_target_desc): New flag
10346 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10347 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10348 (generate_image): Handle images with modules before kernel.
10350 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10352 Prevent potential loss of memory map by overwrite on qemu-mips.
10354 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10355 Save ram size in $s4.
10356 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10357 All users changed to grub_arch_memsize.
10358 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
10360 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
10361 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
10362 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
10365 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10367 * .bzrignore: Remove grub-dumpbios.
10369 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10371 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
10372 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
10373 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
10374 existing options which append).
10375 * docs/grub.texi (Simple configuration): Document new options.
10376 Reported by: Ian Jackson. Fixes Debian bug #617538.
10378 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10380 * util/grub-fstest.c (cmd_cat): New function.
10381 (fstest): Handle CMD_CAT.
10382 (options): Add cat.
10383 (argp_parser): Handle cat.
10385 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10387 * Makefile.util.def (grub-bin2h): Don't install.
10388 * docs/man/grub-bin2h.h2m: Remove.
10390 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10392 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
10395 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10397 Reenable qemu-mips port.
10399 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
10400 Fix small arc bug while on it.
10401 * gentpl.py: Handle qemu_mips.
10402 * grub-core/Makefile.am: Likewise.
10403 * grub-core/Makefile.core.def: Likewise.
10404 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
10405 inappropriate includes.
10406 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
10407 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
10408 * grub-core/kern/main.c (grub_modules_get_end)
10409 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
10410 * grub-core/kern/mips/qemu-mips: Moved to ..
10411 * grub-core/kern/mips/qemu_mips: ... this.
10412 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
10413 (grub_machine_init): Call terminfo_init and serial_init.
10414 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
10415 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10417 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
10419 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
10420 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
10421 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
10422 * include/grub/mips/qemu_mips/cmos.h: New file.
10423 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
10424 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
10426 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
10427 Use correct mips-style address.
10428 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
10429 (GRUB_TICKS_PER_SECOND): Removed.
10430 (grub_get_rtc): Likewise.
10431 (grub_cpu_idle): Likewise.
10432 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
10434 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
10435 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
10436 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
10437 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
10438 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10439 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10440 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
10441 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
10443 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10447 * Makefile.util.def (libgrubmods.a): Add dvh.c.
10448 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
10450 * configure.ac: New target mips-arc.
10451 * gentpl.py: Likewise.
10452 * grub-core/Makefile.am: Likewise.
10453 * grub-core/Makefile.core.def: Likewise.
10454 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
10455 (none_decompress): Likewise.
10456 (lsdev): New module.
10457 (datetime): Use lib/arc/datetime.c on ARC.
10458 (part_dvh): New module.
10459 * grub-core/commands/arc/lsdev.c: New file.
10460 * grub-core/disk/arc/arcdisk.c: Likewise.
10461 * grub-core/kern/mips/arc/init.c: Likewise.
10462 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
10464 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
10466 (grub_arch_dl_relocate_symbols): Likewise.
10467 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
10468 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
10469 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
10471 * grub-core/lib/arc/datetime.c: New file.
10472 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
10473 pci.h on non-loongson.
10474 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
10475 (grub_linux_boot): Set unused registers to 0.
10476 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
10477 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
10478 * grub-core/mmap/mips/uppermem.c: ...here.
10479 * grub-core/partmap/dvh.c: New file.
10480 * grub-core/term/arc/console.c: Likewise.
10481 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
10482 (grub_terminfo_set_current): Add terminal "arc".
10483 (grub_terminfo_readkey): Support ARC sequences.
10484 * include/grub/arc/arc.h: New file.
10485 * include/grub/arc/console.h: Likewise.
10486 * include/grub/disk.h (grub_disk_dev_id): Add
10487 GRUB_DISK_DEVICE_ARCDISK_ID.
10488 * include/grub/mips/arc/kernel.h: New file.
10489 * include/grub/mips/arc/memory.h: Likewise.
10490 * include/grub/mips/arc/time.h: Likewise.
10491 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
10492 * include/grub/mips/kernel.h (grub_halt): ... here.
10493 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
10495 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
10496 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
10497 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
10498 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
10500 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
10502 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
10503 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
10504 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
10505 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
10506 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
10507 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
10508 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
10509 (grub_phys_addr_t): Moved from here ...
10510 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
10511 (grub_vtop): Moved from here ...
10512 * include/grub/mips/memory.h (grub_vtop): ... here.
10513 (grub_map_memory): Moved from here ...
10514 * include/grub/mips/memory.h (grub_map_memory): ... here.
10515 (grub_unmap_memory): Moved from here ...
10516 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
10517 (grub_machine_mmap_iterate): Moved from here ...
10518 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
10519 (grub_mmap_get_lower): Moved from here ...
10520 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
10521 (grub_mmap_get_upper): Moved from here ...
10522 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
10523 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10525 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10526 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
10528 * include/grub/mips/time.h (grub_get_rtc): ... here.
10529 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10531 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10532 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
10534 * include/grub/mips/time.h (grub_cpu_idle): ... here.
10535 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
10537 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
10538 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
10539 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
10540 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
10541 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10542 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10543 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
10544 (GRUB_MACHINE_LINK_ADDR): Likewise.
10545 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
10547 * util/grub-install.in: Run dvhtool on ARC.
10548 * util/grub-mkimage.c (image_targets): Add mips-arc.
10549 (generate_image): Handle ECOFF output for mips-arc.
10551 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10553 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
10556 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10558 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
10559 after enabling port.
10561 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10563 Skip incorrect USB devices.
10565 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
10567 * include/grub/usb.h (grub_usb_err_t): New enum value
10568 GRUB_USB_ERR_BADDEVICE.
10570 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10572 Fuloong video init support.
10574 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
10576 (grub_vga_read_arx): New function.
10577 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
10579 (framebuffer): New members io, mmioptr and mmiobase.
10580 (read_sis_cmd): New function.
10581 (write_sis_cmd): Likewise.
10582 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
10583 rather than 640x400.
10584 * grub-core/video/sis315_init.c: New file.
10586 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10588 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
10590 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
10591 to grub_dl_register_symbol.
10593 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10595 Fix compilation errors.
10597 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
10598 potentially unused.
10599 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
10600 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
10601 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
10602 to loongson machines.
10604 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10606 Several FS mtime support.
10608 * grub-core/fs/affs.c (grub_affs_time): New struct.
10609 (grub_affs_file): New field mtime.
10610 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
10611 type. Removed 'size'. New field 'di'. All users updated.
10612 (grub_affs_mount): Simplify checsum checking.
10613 (grub_affs_iterate_dir): New helper grub_affs_create_node.
10614 (grub_affs_dir): Handle mtime.
10615 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
10616 (grub_cpio_dir): Likewise.
10617 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
10618 (grub_hfs_filerec): New field mtime.
10619 (grub_hfs_dir): Handle mtime.
10620 (grub_hfs_mtime): New function.
10621 (grub_hfs_fs): Register grub_hfs_mtime.
10622 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
10623 (grub_iso9660_dir): New field mtime.
10624 (grub_fshelp_node): New field dirent.
10625 (iso9660_to_unixtime): New function.
10626 (iso9660_to_unixtime2): Likewise.
10627 (grub_iso9660_read_symlink): Use node->dirent.
10628 (grub_iso9660_iterate_dir): Likewise.
10629 (grub_iso9660_dir): Set mtime.
10630 (grub_iso9660_mtime): New function.
10631 (grub_iso9660_fs): Register grub_iso9660_mtime.
10632 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
10633 (grub_jfs_inode): New fields atime, ctime and mtime.
10634 (grub_jfs_dir): Set mtime.
10635 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10636 * grub-core/fs/ntfs.c (list_file): Set mtime.
10637 (grub_ntfs_dir): Likewise.
10638 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
10639 (grub_reiserfs_iterate_dir): Set mtime.
10640 (grub_reiserfs_dir): Likewise.
10641 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
10642 (grub_fshelp_node): Likewise.
10643 (grub_sfs_iterate_dir): Set mtime.
10644 (grub_sfs_dir): Likewise.
10645 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
10646 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
10647 (grub_xfs_inode): New fields atime, mtime, ctime.
10648 (grub_xfs_dir): Set mtime.
10649 * include/grub/datetime.h (grub_datetime2unixtime): New function.
10650 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
10651 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
10653 Support UDF symlinks.
10655 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
10656 (grub_ufs_read_symlink): New function. All users updated.
10658 Check amiga partmap checksum.
10660 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
10661 (grub_amiga_partition): Likewise.
10662 (amiga_partition_map_checksum): New function.
10663 (amiga_partition_map_iterate): Check checksum.
10665 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10669 * Makefile.util.def (libgrubmods.a): Add romfs.
10670 * grub-core/Makefile.core.def (romfs): New module.
10671 * grub-core/fs/romfs.c: New file.
10673 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10675 Squashfs v4 support.
10677 * Makefile.util.def (libgrubmods.a): Add squash4.
10678 * grub-core/Makefile.core.def (squash4): New module.
10679 * grub-core/fs/squash4.c: New file.
10680 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
10681 disk_input_start, disk_input.
10682 (get_byte): Handle disk_input.
10683 (grub_zlib_disk_read): New function.
10684 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
10686 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10687 2011-05-15 Feiran Zheng <famcool@gmail.com>
10689 * Makefile.util.def (libgrubmods.a): Add minix3.
10690 * grub-core/Makefile.core.def (minix3): New module.
10691 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
10692 (GRUB_MINIX_BSIZE): Removed.
10693 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
10694 (grub_minix_ino_t): New type.
10695 (grub_minix_le_to_cpu_ino): New macro.
10696 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
10697 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
10698 (grub_minix_data): New field block_size.
10699 (grub_minix_read_file): Handle 64-bit correctly.
10700 * grub-core/fs/minix3.c: New file.
10702 2011-05-15 Tristan Gingold <gingold@free.fr>
10703 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
10704 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10708 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
10709 * configure.ac: Add ia64-efi target.
10710 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
10711 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
10712 * gentpl.py: Add ia64_efi platform.
10713 Rename x86_efi to efi and Add ia64-efi. All users updated.
10714 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
10715 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
10716 Remove kern/generic/rtc_get_time_ms.c on EFI.
10717 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
10718 kern/ia64/dl_helper.c on ia64-efi.
10719 Add kern/emu/cache.c on emu.
10720 (linux): Use on loader/ia64/efi/linux.c on ia64.
10721 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
10722 whether symbol is a function.
10723 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
10724 (grub_symbol): New field 'isfunc'.
10725 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
10726 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
10727 (grub_dl_load_segments): Place all sections into the same region.
10728 [__ia64__]: Create trampolines and got.
10729 [GRUB_MACHINE_EMU]: Call mprotect.
10730 (grub_dl_resolve_symbols): Resolve symbol type as well.
10731 [__ia64__]: Create function descriptors.
10732 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
10733 (grub_rtc_get_time_ms): ... this. Expressions simplified.
10734 (grub_get_rtc): New function.
10735 * grub-core/kern/emu/cache.c [__ia64__]: New file.
10736 * grub-core/kern/emu/cache.S: Renamed to ...
10737 * grub-core/kern/emu/cache_s.S: ... this.
10738 [__ia64__]: Add a nop.
10739 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
10740 [__ia64__]: New function.
10741 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
10742 * grub-core/kern/ia64/dl.c: New file.
10743 * grub-core/kern/ia64/dl_helper.c: Likewise.
10744 * grub-core/kern/ia64/efi/init.c: New file.
10745 * grub-core/kern/ia64/efi/startup.S: Likewise.
10746 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
10747 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
10748 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
10749 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
10750 * grub-core/loader/ia64/efi/linux.c: New file.
10751 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
10752 (GRUB_MOD_DEP): Likewise.
10753 (grub_dl) [__ia64__]: New fields got and tramp.
10754 (grub_dl): New field 'base'.
10755 (grub_dl_register_symbol): New argument isfunc. All users updated.
10756 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
10757 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
10758 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
10759 (grub_ia64_dl_get_tramp_got_size): New proto.
10760 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
10761 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
10762 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
10763 * include/grub/efi/api.h: Skip call wrappers on ia64.
10764 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
10765 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
10766 * include/grub/elf.h (ELF_ST_INFO): New definition.
10767 * include/grub/ia64/efi/kernel.h: New file.
10768 * include/grub/ia64/efi/memory.h: Likewise.
10769 * include/grub/ia64/efi/time.h: Likewise.
10770 * include/grub/ia64/kernel.h: Likewise.
10771 * include/grub/ia64/setjmp.h: Likewise (from glibc).
10772 * include/grub/ia64/time.h: New file.
10773 * include/grub/ia64/types.h: Likewise.
10774 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
10775 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
10777 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
10778 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10779 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
10780 * util/grub-mkimage.c (image_target_desc): New field pe_target.
10782 (EFI64_HEADER_SIZE): New definition. All users updated.
10783 (image_targets): Add ia64-efi.
10784 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
10785 jumpers_addr. All users updated.
10786 Create function descriptors.
10787 (count_funcs): New function.
10788 (unaligned_uint32): New struct.
10789 (MASK20): New definition.
10790 (MASK19): Likewise.
10791 (MASKF21): Likewise.
10792 (add_value_to_slot_20b): New function.
10793 (add_value_to_slot_21_real): Likewise.
10794 (add_value_to_slot_21): Likewise.
10795 (ia64_kernel_trampoline): New struct.
10796 (nopm): New variable.
10798 (make_trampoline): New function.
10799 (relocate_addresses): Handle ia64.
10800 (make_reloc_section): Likewise.
10801 (load_image): Likewise.
10803 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10805 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
10806 warning. Move variables before code while on it.
10808 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10812 * configure.ac: Rename yeeloong platform to loongson. All users updated.
10813 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
10814 * grub-core/boot/mips/loongson/fuloong.S: New file.
10815 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
10816 Explicitly init CS5536.
10817 [FULOONG]: Don't use serial until CS5536 is available.
10818 Set GPIO based on dumps.
10819 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
10820 [FULOONG]: Handle GPIO and memory controller differences.
10821 Parse machine type in $a2.
10822 * grub-core/boot/mips/startup_raw.S: Determine and save the
10824 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
10825 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
10826 init on architecture type.
10827 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10828 SIS315E. Don't init at_keyboard on fuloong.
10829 (grub_halt): Support Fuloong.
10830 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
10831 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
10832 (loongson_machtypes): New array.
10833 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
10835 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
10836 config. All users updated. Handle CS5536 serial.
10837 * grub-core/term/serial.c (grub_serial_register): Conditionalise
10838 default port on machine type. Register serial as inactive.
10839 * grub-core/video/sis315pro.c: New file.
10840 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
10842 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
10843 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
10844 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
10845 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
10846 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
10847 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
10849 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
10850 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
10852 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
10853 (grub_arch_machine): New extern var.
10854 * include/grub/mips/loongson/serial.h
10855 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
10856 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
10857 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
10858 (GRUB_MACHINE_SERIAL_PORT0): ... this.
10859 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
10860 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
10861 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
10862 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
10863 * include/grub/term.h (grub_term_register_input_inactive): New inline
10865 (grub_term_register_output_inactive): Likewise.
10866 * include/grub/video.h (grub_video_driver_id): New value
10867 GRUB_VIDEO_DRIVER_SIS315PRO.
10868 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
10869 New field "names". All users updated.
10870 New field value IMAGE_FULOONG_FLASH.
10871 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
10873 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
10875 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
10876 and add some clarification.
10878 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10880 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
10881 platforms if kernel is compressed.
10883 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10885 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
10886 unused modules since currently referrence counter isn't reliable and
10887 there isn't much memory to recover there anyway.
10889 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10891 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
10892 rather than resetting it to allow modules to reference themselves
10895 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10897 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
10898 counter on dependencies since grub_dl_unref already handles this.
10900 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10902 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
10903 on error if not already done.
10905 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10907 Fix few potential memory misusage.
10909 * grub-core/font/font.c (load_font_index): Don't free char_index to
10911 (grub_font_load): Zero-fill font at alloc for safety.
10912 Close file on error.
10913 (free_font): Free bmp_idx.
10915 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10917 * docs/grub.texi (Installation): Fix several outdated claims.
10919 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10921 Handle module_license on windows.
10923 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
10925 (insert_string): Make argument const char * instead of char *.
10926 (write_section_data): Handle long section names.
10927 Handle module_license.
10929 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10931 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
10932 handle class-free menuentries.
10933 (grub_normal_add_menu_entry): Add a check to be sure.
10935 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10937 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
10940 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10942 * configure.ac: Bump version to 1.99.
10944 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10946 Give ATA device a bit more time on first try in order to allow disks
10949 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
10950 if dev->present is 1. Reset dev->present on failure.
10951 (grub_ata_device_initialize): Set dev->present to 1.
10952 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
10953 (grub_ata_device): New member 'present'.
10955 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10957 * util/grub-mkimage.c (generate_image): Update hash.
10959 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10961 Flush caches on DMA memory.
10963 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
10964 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
10965 (grub_dma_free): Likewise.
10966 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
10968 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10970 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
10971 to avoid asm treating ld and sd as macros.
10973 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10975 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
10978 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10980 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
10981 grub_decompress_core since later would fail if grub_decompress_core
10984 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10986 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
10987 R_MIPS_JALR since it's used by newer compiler.
10989 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10991 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
10993 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10995 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
10996 file_path to 0 for surety.
10997 (grub_chainloader_boot): Set exit_data to NULL.
10998 Unset the loader once done.
10999 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11001 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11003 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11004 unknown key into a dprintf.
11006 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11008 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11009 on first non-existant partition.
11011 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11013 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11015 Reported by: Mark Korenberg.
11017 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11019 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11022 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11024 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11025 before closing to ensure that it will be readable by grub-setup.
11027 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11029 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11030 (devpath_1): Use MAKE_PIWG_PATH.
11031 (devpath_2): Likewise.
11032 (devpath_3): Likewise.
11033 (devpath_4): Likewise.
11034 (devpath_5): Likewise.
11035 (devpath_6): Likewise.
11037 The appleldr.mod was checked that to be binary identical to previous
11040 2011-05-05 Zach <mikezackles>
11042 Support 2010 Macbooks.
11044 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11045 (devs): Add devpath_6.
11047 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11049 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11050 /dev/random. /dev/urandom is good enough for our purposes (salting).
11052 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11054 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11056 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11058 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11061 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11063 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11064 and not 0 on failure.
11066 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11068 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11069 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11070 disk; otherwise grub_fs_probe will not fall back to the next
11072 (grub_pxefs_open): Likewise, for consistency.
11073 Reported and tested by: Ezekiel Grave.
11075 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11077 * tests/partmap_test.in: Don't hardcode path to parted.
11078 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11080 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
11082 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11083 of `ls' to find out which devices are available.
11085 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11087 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11088 than source address for efi mmap buffer.
11090 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11092 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11093 wrong action on non-detecting the magic.
11095 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11097 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11098 already supplied by another part of the module (fixes compilation on
11101 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11103 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11104 match the one used by mdadm.
11106 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11108 * po/README: Add instructions for creating po/LINGUAS.
11110 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11112 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11115 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11116 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11117 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11118 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11119 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11120 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11121 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11122 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11123 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11124 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11125 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11126 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11127 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11128 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11129 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11130 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11131 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11132 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11133 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11134 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11135 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11136 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11138 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11140 * grub-core/kern/emu/getroot.c
11141 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11142 test that was incorrectly reintroduced in r3214.
11143 Reported by: Ian Dall. Fixes Savannah bug #33133.
11145 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11147 Fix stack pointer handling in 16-bit relocator.
11149 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11150 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11151 Fixes Ubuntu bug #683904.
11153 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11155 * configure.ac: Bump version to 1.99~rc2.
11157 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11159 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11160 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11161 * grub-core/lib/x86_64/setjmp.S: Likewise.
11162 * grub-core/lib/mips/setjmp.S: Likewise.
11163 * grub-core/lib/powerpc/setjmp.S: Likewise.
11164 * grub-core/lib/sparc64/setjmp.S: Likewise.
11166 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11168 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11169 * grub-core/lib/efi/datetime.c: Likewise.
11171 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11173 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11175 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11176 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11177 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11179 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11181 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11183 (grub_gfxterm_term_init): Likewise.
11185 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11187 Take into account the decorations the computing menu entry width.
11189 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11190 (grub_gfxmenu_create_box): Register get_border_width.
11191 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11193 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11196 2011-04-18 Endres Puschner <code@e7p.de>
11198 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11199 Don't skip first class.
11201 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11203 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11205 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11207 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11209 Complete 64-bit division support.
11211 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11212 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11213 * include/grub/misc.h (grub_divmod64): Rename to ...
11214 (grub_divmod64_full): ... this.
11215 (grub_divmod64): New inline function.
11217 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11219 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11221 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11223 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11224 performing the necessary test.
11226 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11228 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11229 (kfreebsd.elf): Likewise.
11230 (pc-chainloader.elf): Likewise.
11231 (ntldr.elf): Likewise.
11233 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11235 Identify RAID by its UUID rather than (guessed) name.
11237 * grub-core/disk/raid.c (ascii2hex): New function.
11238 (grub_raid_open): Accept mduuid/%s specification.
11239 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11240 (get_mdadm_uuid): ... this.
11241 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11243 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11245 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11248 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11250 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11252 * util/grub.d/20_linux_xen.in: Likewise.
11254 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11256 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11257 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11259 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11260 Build a list of relevant visible mounts using the mnt_id and
11261 parent_mnt_id fields, and then scan that list at the end.
11263 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11265 * docs/grub.texi (normal): New section.
11266 (normal_exit): New section.
11267 (Embedded configuration): Add reference to normal.
11268 (GRUB only offers a rescue shell): Likewise.
11269 * docs/grub-dev.texi (Error Handling): Fix typo.
11271 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11273 * NEWS: Drop obsolete entry about probe-only btrfs support.
11275 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11277 * util/import_gcry.py: Fix typo.
11279 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11281 * NEWS: Add btrfs support.
11283 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11284 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11286 BtrFS support. Written by me (Vladimir) with important bugfixes and
11287 even more important testing by Colin.
11289 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11290 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11291 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11292 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11293 mem_input_off and mem_input. All users updated to accept in-RAM input.
11294 (gzio_seek): New function.
11295 (test_zlib_header): Likewise.
11296 (grub_gzio_read): Likewise.
11297 (grub_zlib_decompress): Likewise.
11298 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11299 Accept partial and non-virtual mounts.
11300 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11301 avoid receiving /dev/dm-X as device.
11302 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11303 Handle bind and partial mounts.
11304 * grub-core/lib/crc.c: New file.
11305 * include/grub/deflate.h: Likewise.
11306 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11308 * include/grub/lib/crc.h: New file.
11310 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11312 Implement automatic module license checking according to new GNU
11315 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11316 (grub_dl_load_core): Use grub_dl_check_license.
11317 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11318 (GRUB_MOD_LICENSE): Likewise.
11319 (GRUB_MOD_DUAL_LICENSE): Likewise.
11320 All modules updated.
11322 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11324 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11325 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11327 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11329 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11331 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11333 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11335 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11338 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11340 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11341 parenthesis in the middle of the filename.
11343 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11345 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11346 rather than trying to put initrd way too high.
11347 Reported by: Ryan Lortie <desrt@desrt.ca>
11349 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11351 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11352 improperly removed string.
11354 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11356 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11358 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
11359 (open_device) Likewise.
11360 (grub_util_biosdisk_close): Likewise.
11361 Reported by: Mark Korenberg.
11363 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
11365 * util/grub-mkconfig_lib.in: Add missing quotes.
11367 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
11369 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
11372 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11374 Dynamically count the number of lines for the lower banner.
11376 * grub-core/normal/menu_entry.c (per_term_screen): New member
11378 (print_down): Use num_entries.
11379 (update_screen): Likewise.
11380 (grub_menu_entry_run): Set num_entries.
11381 * grub-core/normal/menu_text.c (menu_viewer_data): New member
11383 (grub_print_message_indented): Move real part to ...
11384 (grub_print_message_indented_real): ... here. Additional argument
11386 (draw_border): Additional argument num_entries.
11387 (print_message): Additional argument dry_run.
11388 (print_entries): Receive menu viewer data.
11389 (grub_menu_init_page): New argment num_entries.
11390 (menu_text_set_chosen_entry): Use num_entries.
11391 (grub_menu_try_text): Likewise.
11392 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
11394 (grub_ucs4_count_lines): New function.
11395 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
11396 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
11397 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
11398 (grub_term_border_height): Likewise.
11399 (grub_term_num_entries): Likewise.
11401 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11403 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
11404 Remove now unused string.
11406 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
11408 * docs/grub-dev.texi (Finding your way around): Update for 1.99
11410 (Getting started): GRUB is developed in Bazaar now, not Subversion.
11412 (Comment): Fix typo.
11413 (Getting started): General copy-editing.
11414 (Typical Development Experience): Likewise.
11415 (Error Handling): Likewise.
11416 (Video API): Likewise.
11418 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
11420 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
11423 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11425 * util/grub-mkimage.c (main): Handle special naming of yeeloong
11428 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
11430 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
11431 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
11434 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11436 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
11437 grub_strcpy since the lines aren't necessarily 0-terminated.
11439 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11441 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
11444 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11446 * grub-core/commands/probe.c (options): Argument to set isn't optional.
11447 (GRUB_MOD_INIT): DEVICE isn't optional.
11449 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11451 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
11452 word on new line if it's too long anyway. Fixes a hang.
11454 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11456 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
11458 * util/grub-setup.c (main): Reuse md device name if available.
11459 * util/raid.c (grub_util_raid_getmembers): Receive device name and
11460 not GRUB name as argument.
11461 Based on patch by: Florian Wagner <fwagner>.
11463 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11465 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11466 Place mbi on low memory for better compatibility.
11468 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11470 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
11472 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11473 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
11475 * autogen.sh: Ensure that collate and ctype locale is C.
11476 * conf/Makefile.common: Likewise.
11478 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11480 * grub-core/normal/menu.c: Add missing include.
11482 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11484 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
11486 2011-04-08 Martin Zuther <mzuther@mzuther.de>
11488 * util/grub-mkconfig.in: Ignore emacsen backup.
11490 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11492 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
11494 (grub_util_biosdisk_close): Likewise.
11496 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11498 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
11499 const attribute and use grub_isdigit.
11501 2011-04-06 Andrey <dev_null@ukr.net>
11503 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
11506 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11508 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
11509 useful grub_dprintf's.
11511 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11513 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
11515 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11517 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
11519 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11521 Output errors if theme loading failed.
11523 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
11524 grub_gfxterm_fullscreen on error paths to ...
11525 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
11526 theme loading error.
11528 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11530 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
11531 space for older compilers.
11532 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11534 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11536 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
11537 and report them as not RAID members since they are useless for GRUB.
11538 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11540 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11542 Increase LVM implementation robustness in order not to crash on
11543 configurations like pvmove. Previously code assumed that in some places
11544 only lvs or only pvs are used whereas it seems that they are used
11547 * grub-core/disk/lvm.c (read_node): New function.
11548 (read_lv): Use read_node.
11549 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
11550 Match volumes only at the end when all lvs are found. Take both
11551 pvs (first) and lvs (second) into account.
11552 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
11553 mirror_* into node_*. All users updated.
11554 (grub_lvm_stripe): Merge this ...
11555 (grub_lvm_mirror): ... and this ...
11556 (grub_lvm_node): ... into this. All users updated.
11558 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11560 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
11561 of function to allow further scanning for LVMs.
11563 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11565 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
11566 on failed seek as it breaks open fd reusage.
11568 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11570 * util/grub-install.in: Add a recommendation to use --recheck before
11573 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11575 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
11578 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11580 GRUB developper manual based on existing Internals section and
11581 contributions by the various authors with active copyright assignment.
11583 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
11584 * docs/font_char_metrics.png: New file.
11585 * docs/font_char_metrics.txt: Likewise.
11586 * docs/grub-dev.texi: Likewise.
11587 * docs/grub.texi (Internals): Move from here ...
11588 * docs/grub-dev.texi: ... here.
11590 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
11592 Store the loopback device as data on loopback grub_disk structures,
11593 rather than the file it points to. This fixes use of freed memory
11594 if an existing loopback device is replaced.
11596 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
11597 disk->data, not dev->file.
11598 (grub_loopback_read): Adjust file assignment to match.
11599 Fixes Ubuntu bug #742967.
11601 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
11603 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
11604 when replacing an existing device.
11606 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11608 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
11609 memory corruptions.
11611 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
11613 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
11614 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
11615 (grub_jfs_read_inode): Likewise.
11616 (grub_jfs_opendir): Likewise. Remove now useless casts.
11617 (grub_jfs_getent): Likewise.
11618 Make ino a grub_uint32_t rather than int.
11619 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
11620 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
11621 division and module with bit operations.
11622 (grub_jfs_find_file): Make ino a grub_uint32_t.
11623 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
11625 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
11627 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
11628 warning. (This was in fact always initialised before use, but GCC
11629 wasn't smart enough to prove that.)
11630 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11632 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11634 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
11636 (efi_wrap_1): Likewise.
11637 (efi_wrap_2): Likewise.
11638 (efi_wrap_3): Likewise.
11639 (efi_wrap_4): Likewise.
11640 (efi_wrap_5): Likewise.
11641 (efi_wrap_6): Likewise.
11642 (efi_wrap_10): Likewise.
11643 Based on information by: Red Hat/Peter Jones.
11645 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
11647 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
11648 set-but-not-used variable.
11650 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
11652 * docs/grub.texi (Simple configuration): Be more explicit about
11653 GRUB_DEFAULT, and add an example.
11654 Reported by: Leslie Rhorer.
11656 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11658 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
11661 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11663 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
11664 * util/grub.d/20_linux_xen.in: Likewise.
11666 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11668 * util/grub.d/10_linux.in: Try alternative config filenames where
11669 we parse config file.
11670 * util/grub.d/20_linux_xen.in: Likewise.
11672 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11674 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
11675 * util/grub.d/20_linux_xen.in: Likewise.
11677 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11679 * grub-core/disk/raid.c (insert_array): Add few potentially
11680 useful grub_util_info.
11681 (grub_raid_register): Likewise.
11683 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11685 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
11686 Preserve partition number in mdadm code path.
11688 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11690 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
11691 few potentially useful grub_util_info.
11693 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11695 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
11697 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11699 * docs/grub.texi (default): Use @example rather than nested
11700 itemized lists to avoid breaking gendocs.
11702 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11704 * docs/grub.texi (Future): Update.
11706 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11708 * docs/grub.texi (Environment): New chapter.
11709 (Changes from GRUB Legacy): Link to "Environment block" section for
11710 details of limitations.
11711 (Simple configuration): Likewise. Link to documentation of gfxmode
11712 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
11714 (Shell-like scripting): Note that normal variables are stored in the
11716 (gettext): Link to documentation of lang and locale_dir.
11717 (list_env): New section.
11718 (load_env): New section.
11719 (save_env): New section.
11721 (Reporting bugs): Fix typo.
11723 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11725 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
11728 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11730 * grub-core/term/at_keyboard.c (set_scancodes)
11731 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
11733 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11735 * docs/grub.texi (Menu-specific commands): Remove some semantics
11736 that were true in GRUB Legacy but not in GRUB 2.
11737 (submenu): New section.
11738 (false): New section.
11739 (read): New section.
11740 (true): New section.
11742 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11744 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
11746 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11748 * docs/grub.texi (Simple configuration): Explain some of the
11749 current limitations of grub-mkconfig.
11750 Reported by: Leslie Rhorer.
11752 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11754 Old macs search for boot.efi rather than for bootia32.efi.
11756 * util/grub-install.in: Copy bootia32.efi to boot.efi.
11757 * util/grub-mkrescue.in: Likewise.
11758 Suggested by: Peter Jones.
11760 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11762 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
11764 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11766 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
11767 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
11768 (grub_lvm_mirror): New struct.
11769 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
11770 (grub_lvm_iterate): Iterate only visible volumes.
11771 (grub_lvm_read): Factor out to ..
11772 (read_lv): ... this. Support mirrors.
11773 (grub_lvm_read): New wrapper function.
11774 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
11775 stripped or mirrored.
11777 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11779 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
11781 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
11783 * docs/grub.texi (loopback): New section.
11785 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
11787 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
11790 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
11792 * docs/grub.texi (BIOS installation): New section, partly based on
11793 previous text in other sections.
11794 (Installing GRUB using grub-install): Replace BIOS discussion with a
11796 (Images): Likewise.
11798 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11800 * grub-core/kern/emu/hostdisk.c (find_partition_start)
11801 [HAVE_DIOCGDINFO]: Add safety checks.
11803 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11805 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
11806 per default compiled in kernel and prior to 8.0 isn't shipped at all.
11808 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
11810 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
11811 real_sb->size is zero (e.g. RAID-0), get the disk size from
11812 real_sb->data_size instead.
11813 Fixes Ubuntu bug #743136.
11815 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11817 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
11818 printf clauses for printing size and start.
11820 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11822 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
11823 Reported and tested by: Timothy Nikkel.
11825 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11827 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
11828 (dirty_region_add_real): ... this.
11829 (dirty_region_add): Don't discard margin refresh when performing
11832 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11834 * grub-core/lib/relocator.c (allocate_regstart)
11835 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
11836 terminals are capabple of malloc-free operation.
11837 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11838 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11840 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
11842 * util/grub-setup.c: Copy the partition table zone if floppy support
11843 is disabled, even if no partition table is found.
11845 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
11846 during POST if an invalid partition table is contained in the PBR
11847 of the active partition when GRUB is installed to a partition.
11849 2011-03-28 Colin Watson <cjwatson@debian.org>
11851 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
11854 2011-03-28 Colin Watson <cjwatson@debian.org>
11856 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
11857 to be specific about what kind of RAID device we're scanning for.
11859 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
11861 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
11862 return freed string.
11864 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11866 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
11868 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11870 Use libgeom on FreeBSD to detect partitions.
11872 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
11873 (grub-mkrelpath): Likewise.
11874 (grub-script-check): Likewise.
11875 (grub-editenv): Likewise.
11876 (grub-mkpasswd-pbkdf2): Likewise.
11877 (grub-fstest): Likewise.
11878 (grub-mkfont): Likewise.
11879 (grub-mkdevicemap): Likewise.
11880 (grub-probe): Likewise.
11881 (grub-setup): Likewise.
11882 (grub-ofpathname): Likewise.
11883 (grub-mklayout): Likewise.
11884 (example_unit_test): Likewise.
11885 (grub-menulst2cfg): Likewise.
11886 * grub-core/Makefile.core.def (grub-emu): Likewise.
11887 (grub-emu-lite): Likewise.
11888 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
11889 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
11890 define HAVE_DIOCGDINFO.
11891 (follow_geom_up) [FreeBSD]: New function.
11892 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
11893 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
11894 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
11895 unconditionally of HAVE_DIOCGDINFO.
11897 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11899 Fix FreeBSD compilation problem.
11901 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
11902 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
11904 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
11906 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
11907 Switch back to page zero before loading a kernel, since some kernel
11908 drivers expect that.
11909 Thanks to: Felix Kuehling.
11911 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11913 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
11914 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
11915 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
11917 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11919 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
11920 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
11922 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11924 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
11925 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
11926 malloc is disabled.
11928 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11930 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
11931 for modules headers when counting the needed allocation size.
11933 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11935 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
11936 if no ASCII character is found to prevent crash.
11938 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
11940 * grub-core/video/bitmap.c (match_extension): Ignore case.
11942 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11944 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
11946 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11948 * grub-core/script/parser.y: Declare "time" as valid argument.
11950 2011-03-23 Peter Jones <pjones@redhat.com>
11952 Fix incorrect assert failure reporting.
11954 * grub-core/tests/example_functional_test.c (example_test): Add
11956 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
11957 (failure_start): ...this. Check that malloc succeeded.
11958 Don't call xvasprintf. Return failure struct.
11959 (failure_append_vtext): New function.
11960 (failure_append_text): Likewise.
11961 (add_failure): Likewise.
11962 (grub_test_assert_helper): Likewise.
11963 * include/grub/test.h (grub_test_assert_helper): New declaration.
11964 (grub_test_assert): Macro rewritten.
11966 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11968 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
11970 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11972 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
11974 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11976 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
11977 into GRUB-style one.
11979 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11981 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
11982 error and not grub_errno.
11983 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
11985 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11987 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
11988 GRUB_USB_SPEED_NONE in case of failure and not the error code.
11990 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11992 * grub-core/efiemu/i386/pc/cfgtables.c
11993 (grub_machine_efiemu_init_tables): Make declaration a prototype.
11994 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
11995 (grub_xnu_unlock): Likewise.
11996 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
11998 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12000 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12001 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12002 * grub-core/commands/hashsum.c (aliases): Likewise.
12003 * grub-core/commands/setpci.c (pci_registers): Likewise.
12004 * grub-core/disk/usbms.c (attach_hook): Likewise.
12005 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12006 (zio_checksum_table): Likewise.
12007 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12008 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12009 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12010 * grub-core/lib/relocator.c (leftovers): Likewise.
12011 (extra_blocks): Likewise.
12012 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12013 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12014 (modules_last): Likewise.
12015 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12016 (devices): Likewise.
12017 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12018 (modules_last): Likewise.
12019 * grub-core/normal/auth.c (users): Likewise.
12020 * grub-core/normal/context.c (initial_menu): Likewise.
12021 (current_menu): Likewise.
12022 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12023 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12024 (grub_serial_terminfo_input_template): Likewise.
12025 (grub_serial_terminfo_output_template): Likewise.
12026 (grub_serial_terminfo_input): Likewise.
12027 (grub_serial_terminfo_output): Likewise.
12028 (registered): Likewise.
12029 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12031 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12033 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12034 grub_video_mode_type_t.
12035 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12036 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12037 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12039 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12041 * util/grub-install.in: Correct the x86-64 name as x86_64.
12043 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
12045 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12046 initial chunk read from the kernel always includes GRUB's multiboot
12047 header, which is now outside the first sector.
12049 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12051 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12052 cached mmap_size, so that this works correctly when called multiple
12054 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12056 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12058 * docs/grub.texi (Simple configuration): Tidy up formatting.
12060 2011-03-07 Szymon Janc <szymon@janc.net.pl>
12062 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12063 Set-but-not-used variable removed.
12065 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12067 Workaround yet another IEEE1275 bug.
12069 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12070 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12071 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12072 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12074 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12075 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12077 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12079 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12082 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
12084 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12085 empty, since in that case we can only generate either nothing or a
12086 syntactically invalid configuration file.
12087 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12089 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12091 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12092 (Making a GRUB bootable CD-ROM): Likewise.
12093 (Invoking grub-mkrescue): New section.
12094 Reported by: Yann Dirson. Fixes Debian bug #612585.
12096 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12098 * util/grub-install.in: Remove unnecessary brackets from tr
12100 * util/grub.d/10_hurd.in: Likewise.
12101 * util/grub.d/10_kfreebsd.in: Likewise.
12102 * util/grub.d/10_linux.in: Likewise.
12103 * util/grub.d/20_linux_xen.in: Likewise.
12104 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12106 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
12108 * include/grub/file.h (not_easly_seekable): Rename to ...
12109 (not_easily_seekable): ... this. Update all users.
12111 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
12113 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12116 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12118 * util/grub-mkimage.c (generate_image): Refuse to create the images
12119 bigger than the actual flash (512K) in Loongson machines. 512K is also
12120 the biggest chip supported by them.
12122 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12124 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12126 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
12128 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12129 super_offset field.
12131 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12133 * util/grub-install.in: Ignore install device on platforms
12134 where it doesn't make sense. Always use UUIDs except on pc, efi and
12136 Reported by: Daniel Kahn Gillmor.
12138 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12140 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12142 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12144 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12145 (iterate_real): Don't rely on partition being non-NULL.
12147 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12149 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12150 supported platforms. Put a compile time assert for this rather than
12151 generate a warning with 32-bit shift.
12153 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12155 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12156 logical expression more readable.
12158 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12160 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12161 even if some elements have a name.
12162 Reported by: Alexander GQ Gerasiov.
12164 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12166 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12167 path unreadable if `grub-probe -t abstraction' fails, for example if
12168 memberlist fails on an LVM volume group.
12169 Reported by: Darius Jahandarie.
12171 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12173 * docs/grub.texi (Simple configuration): Document
12174 GRUB_PRELOAD_MODULES.
12176 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
12178 * .bzrignore: Remove nonexistent grub-pbkdf2.
12180 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12182 * configure.ac: Bump version to 1.99~rc1.
12184 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12186 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12189 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12191 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12194 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12196 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12198 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12200 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12203 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12205 Fix compilation on cygwin.
12207 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12208 -R .drectve on cygwin.
12209 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12210 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12211 (COND_CYGWIN): New condition.
12212 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12213 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12214 not @TARGET_OBJ2ELF@.
12215 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12216 type to determine whether aux is to be used.
12218 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12220 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12221 realpath'ed device string.
12222 Handle floppy (somewhat).
12223 Issue error in unknown case rather than garbage.
12224 Reported by: Axel Beckert.
12226 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12228 * util/grub.d/00_header.in (load_video): Handle the case when no video
12230 Thanks to: Axel Beckert.
12232 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12234 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12235 variable. Fixes problem on big endian platforms.
12237 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12239 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12240 It doesn't work well there.
12242 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12244 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12246 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12247 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12250 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12252 Use alias->path rather than buggy "canon".
12254 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12255 (ofdisk_hash_add): New argument curcan. All users updated.
12257 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12259 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12261 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12263 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12264 loadmask before doing any calculations. Use correct type for offset.
12265 (grub_linux_load64): Likewise.
12267 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12269 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12271 (console_grub_equivalences_unshift): Likewise.
12272 Reported by: Daniel Dehennin.
12274 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12276 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12277 (set_env_limn_ro): Likewise.
12278 (GRUB_MOD_INIT): Likewise.
12279 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12280 ARRAY_SIZE while on it.
12281 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12282 * grub-core/normal/context.c (grub_env_export): Move from here ...
12283 * grub-core/kern/env.c (grub_env_export): ... here.
12284 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12286 * grub-core/kern/main.c (grub_main): Export root and prefix.
12287 * include/grub/env.h (grub_env_export): Export.
12288 Reported by: Seth Goldberg.
12290 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12292 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12293 Take into account space used by ELF sections and multiboot palette.
12294 Reported by: Grégoire Sutre.
12296 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12300 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12302 Pass more appropriate video id to Linux.
12304 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12305 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12307 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12308 shift params->lfb_size.
12309 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12311 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12313 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12315 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12317 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12318 separator and pass bootpath/devid even if only one of them is available.
12319 Reported by: Seth Goldberg.
12321 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12323 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12324 implementations bug on them.
12326 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12328 (filter_memory_map): Likewise.
12330 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12332 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12333 Reported by: nebuchadnezzar.
12335 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12337 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12338 Reported by: nebuchadnezzar.
12340 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12342 Submenu default support.
12344 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12345 auto_boot. All users updated.
12347 Handle chosen and default with submenus.
12348 (grub_menu_execute_with_fallback): Declared static.
12349 Don't notify failure if autobooted. Upper level does it.
12350 (menuentry_eq): New function.
12351 (get_entry_number): Use menuentry_eq.
12352 (show_menu): New parameter "autobooted". All users updated.
12353 (grub_show_menu): Likewise.
12354 * include/grub/normal.h (grub_show_menu): Likewise.
12355 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12356 (grub_menu_execute_with_fallback): Likewise.
12358 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12360 * util/grub-mklayout.c (usage): Update help text.
12362 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12364 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
12366 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12368 * util/grub-menulst2cfg.c (main): Trim the line.
12370 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12372 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
12373 (grub_machine_init): Don't check amount of low memory as reportedly
12374 INT 12h can be broken and if low memory is too low we wouldn't have
12375 gotten into grub_machine_init anyway.
12377 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12379 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
12380 (grub_machine_mmap_iterate): Take low memory into account
12382 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12384 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
12386 Reported by: TiCPU.
12388 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12390 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
12393 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12395 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
12396 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
12398 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12400 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
12401 openbsd and netbsd types being in part_bsd module.
12403 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12405 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
12406 (_FILE_OFFSET_BITS): Likewise.
12407 Reported by: Seth Goldberg.
12409 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12411 * configure.ac: Check for libdevmapper header.
12413 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12415 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
12417 (fzap_lookup): Likewise.
12418 (dnode_get): Likewise.
12419 (make_mdn): Likewise.
12420 (zfs_mount): Likewise.
12421 (fzap_iterate): Use temporary pointer to avoid aliasing.
12422 (grub_zfs_read): Likewise.
12423 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
12424 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
12425 pointers to avoid aliasing.
12426 (grub_cmd_xnu_kernel64): Likewise.
12427 (grub_xnu_load_driver): Likewise.
12429 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12431 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
12433 (grub_cmd_terminal_output): Likewise.
12434 Reported and tested by: Grégoire Sutre.
12436 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12438 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
12440 Reported and tested by: Grégoire Sutre.
12442 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12444 * configure.ac: Do CPU substitution even if it's specified explicitly.
12445 Reported and tested by: Alain Greppin.
12447 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12449 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
12450 Reported and tested by: Alain Greppin.
12452 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12454 Satisfy some bison versions need for inttypes.h.
12456 * grub-core/lib/posix_wrap/inttypes.h: New file.
12457 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
12458 (int16_t): Likewise.
12459 (int32_t): Likewise.
12460 (int64_t): Likewise.
12461 Reported and tested by: Alain Greppin.
12463 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12465 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
12466 Silence spurious warning.
12467 Reported and tested by: Alain Greppin.
12469 2011-01-07 Szymon Janc <szymon@janc.net.pl>
12471 * docs/grub.texi (Support automatic decompression): Update with xz
12472 decompression support.
12474 2011-01-07 Szymon Janc <szymon@janc.net.pl>
12476 Improve loaders' kernel command line handling.
12478 * grub-core/lib/cmdline.c: New file.
12479 * include/grub/lib/cmdline.h: Likewise.
12480 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
12481 grub_create_loader_cmdline to create kernel command line.
12482 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12483 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
12484 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
12485 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
12486 (linux): Add lib/cmdline.c on common.
12488 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12490 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
12491 inopos might be unaligned.
12493 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12495 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
12496 endian transformations.
12497 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12498 Based on report by: Doug Nazar.
12500 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
12502 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
12503 array->members[i].start_sector.
12504 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
12506 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12508 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
12509 Reported and tested by: Grégoire Sutre.
12511 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
12513 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
12514 avoid causing test failures by clearing the screen.
12516 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
12518 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12519 Fix prefix check to handle the case where dir ends with a slash
12520 (most significantly, "/" itself).
12521 Reported by: Michael Vogt.
12523 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12525 Run terminfo_cls on initing terminfo output to clear the screen and
12526 move the cursor to (0,0).
12528 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
12529 Call grub_terminfo_output_init.
12530 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
12531 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
12532 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
12534 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12536 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
12539 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12541 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
12544 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12546 The E820 type 5 is BADRAM, not EXEC_CODE.
12548 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12549 (GRUB_E820_BADRAM): New define.
12550 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
12551 into reserved. Propagate BADRAM.
12552 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12553 (GRUB_E820_BADRAM): New define.
12555 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12557 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
12558 Ignore the memory post-4G.
12559 (grub_relocator_firmware_alloc_region): Additional debug statement.
12561 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12563 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
12565 Reported by: David Pravec.
12567 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12569 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
12572 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12574 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
12576 (grub_reed_solomon_recover): Likewise.
12578 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12580 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
12582 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12584 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
12587 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
12589 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
12590 descriptions of extract_legacy_entries_source and
12591 extract_legacy_entries_configfile.
12592 Reported by: Seung Soo, Ha.
12594 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
12596 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
12597 on devices that do not implement function 0.
12599 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
12601 * grub-core/fs/hfsplus.c: Make parent unsigned.
12602 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
12604 (grub_hfsplus_cmp_extkey): Likewise
12606 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12608 * util/grub-install.in: Correctly use bootloader_id and not
12609 GRUB_DISTRIBUTOR on efibootmgr line.
12611 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12613 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
12615 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
12617 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
12618 Xen and reorder menu item wording to make it clearer that this entry
12619 will launch Xen. Print separate messages when loading Xen and
12622 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12624 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
12625 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
12626 loop in case of incorrect amiga partmap.
12628 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12630 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
12631 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
12634 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12636 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
12638 Reported by: crocket
12640 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12642 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
12644 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
12646 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12648 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
12650 (grub_cmd_xnu_kextdir): Likewise.
12651 (grub_cmd_xnu_splash): Likewise.
12653 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12655 Avoid using Reed-Solomon with 0 redundancy.
12657 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
12658 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
12660 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
12661 (grub_reed_solomon_recover): Likewise.
12663 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12665 Don't use disk subsystem in freebsd_boot.
12667 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
12668 (freebsd_biosdev): Likewise.
12669 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
12670 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
12672 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12674 Handling of files of unknown size is currently limited. They can't be
12675 used e.g. for initrd or modules. Moreover gzip handling of not
12676 easily seekable files is buggy. Disable unknown file size for now. May
12677 be inefficient but works.
12679 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
12680 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
12682 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
12684 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
12687 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
12689 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
12691 2010-12-25 Shea Levy <shlevy>
12693 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
12695 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12697 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
12698 Windows Server 2008.
12699 Reported by: Devin Giddings.
12701 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12703 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
12704 writing an error message because of async power management.
12705 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
12706 (grub_reboot): Likewise.
12708 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
12710 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
12711 keep unit tests from failing when they shouldn't.
12713 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
12715 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
12716 previous patch increased the size of the RS code by 20 bytes (at
12717 least with gcc-4.4), so increase this by 20 bytes to match.
12718 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12720 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
12722 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
12723 scratch area. Make sure to initialise chosen in standalone mode as
12724 well as non-standalone.
12725 Reported by: Robert Hooker and Andy Whitcroft.
12726 Tested by: Andy Whitcroft.
12728 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
12730 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
12731 constructing a new unescaped string and passing it to grub_xputs in
12732 one go, rather than passing characters to grub_printf one at a time.
12734 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
12736 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
12737 initialising utf16.
12739 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
12741 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
12742 comment. Add an extra layer of quotation, requiring the output of
12743 this function to be used in a printf format string.
12744 (gettext_printf): New function.
12745 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
12746 Extract translatable strings from here-documents and use a temporary
12747 variable instead, so that xgettext can find them.
12748 * util/grub.d/10_kfreebsd.in: Likewise.
12749 * util/grub.d/10_linux.in: Likewise.
12750 * util/grub.d/20_linux_xen.in: Likewise.
12752 * po/grub.d.sed: New file.
12753 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
12754 arguments. Set c-format flags on all strings extracted from
12755 util/grub.d/ (xgettext refuses to include these itself for strings
12756 it extracted from a shell file, but these really are c-format).
12758 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12760 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
12761 Avoid next pointing to nowhere.
12763 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12765 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
12766 rather than assuming than rootblock is exactly in the middle.
12767 (grub_affs_label): Likewise.
12769 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12771 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
12772 reserved_first_sector to 0.
12773 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
12774 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
12775 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
12777 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12779 Fix handling of UTF-16 UDF labels.
12781 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
12782 (read_string): .. here.
12783 (grub_udf_label): Use read_string.
12785 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
12787 * grub-core/normal/menu_entry.c (run): Execute commands from menu
12788 editor under argument scope.
12789 Reported by: Jordan Uggla
12791 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12793 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
12795 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
12797 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
12798 line, and other keys scroll an entire page (previous handling was
12799 for \r and \n to scroll a page and other keys to scroll two lines).
12801 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12803 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12804 Set ptrdest to correct get_physical_target_address rather than
12805 incorrect get_virtual_current_address.
12807 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
12809 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
12810 correct cat to grub_uint8_t * rather than grub_uint32_t *.
12812 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
12814 * .bzrignore: Ignore grub-core/rs_decoder.S.
12816 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
12818 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
12819 .mo/.mo.gz opening sequence to ...
12820 (grub_mofile_open_lang): ... here.
12821 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
12822 * util/grub.d/00_header.in (grub_lang): Include country part of
12824 Reported by: Mario Limonciello.
12826 2010-12-09 Robert Millan <rmh@gnu.org>
12828 * NEWS: Document addition of ZFS support.
12830 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
12832 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
12833 rather than `/ 2', as the latter requires -Wa,--divide which would
12834 require bumping our minimum binutils version.
12836 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
12838 * util/grub-script-check.c (main): Print script line number on
12841 2010-12-01 Robert Millan <rmh@gnu.org>
12843 * grub-core/fs/zfs/zfs.c: New file.
12844 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
12845 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
12846 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
12847 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12849 * include/grub/zfs/dmu.h: Likewise.
12850 * include/grub/zfs/dmu_objset.h: Likewise.
12851 * include/grub/zfs/dnode.h: Likewise.
12852 * include/grub/zfs/dsl_dataset.h: Likewise.
12853 * include/grub/zfs/dsl_dir.h: Likewise.
12854 * include/grub/zfs/sa_impl.h: Likewise.
12855 * include/grub/zfs/spa.h: Likewise.
12856 * include/grub/zfs/uberblock_impl.h: Likewise.
12857 * include/grub/zfs/vdev_impl.h: Likewise.
12858 * include/grub/zfs/zap_impl.h: Likewise.
12859 * include/grub/zfs/zap_leaf.h: Likewise.
12860 * include/grub/zfs/zfs.h: Likewise.
12861 * include/grub/zfs/zfs_acl.h: Likewise.
12862 * include/grub/zfs/zfs_znode.h: Likewise.
12863 * include/grub/zfs/zil.h: Likewise.
12864 * include/grub/zfs/zio.h: Likewise.
12865 * include/grub/zfs/zio_checksum.h: Likewise.
12867 * Makefile.util.def: Build ZFS into libgrubmods.
12868 * grub-core/Makefile.core.def: Build zfs.mod.
12870 2010-11-30 Szymon Janc <szymon@janc.net.pl>
12872 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
12874 * grub-core/commands/wildcard.c (match_files): Likewise.
12876 2010-11-30 Robert Millan <rmh@gnu.org>
12878 * grub-core/loader/i386/bsd.c
12879 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
12880 whether kernel is loaded using grub_loader_is_loaded(), rather
12881 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
12882 certain error conditions.
12884 2010-11-30 Robert Millan <rmh@gnu.org>
12886 * grub-core/commands/echo.c: Include `<grub/term.h>'.
12887 (grub_cmd_echo): Call grub_refresh() after printing a message.
12889 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12891 Avoid using tricks for initialising endian variables.
12893 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
12895 (GRUB_MOD_INIT): Don't byte-swap.
12896 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12897 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
12898 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
12899 (grub_swap_bytes32_compile_time): Likewise.
12900 (grub_cpu_to_le32_compile_time): Likewise.
12901 (grub_cpu_to_le16_compile_time): Likewise.
12903 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12905 * util/grub-setup.c (setup): Stop recommending --force. People who
12906 understand the dangers of blocklists are able to find this option
12907 anyway and the ones who don't shouldn't use it anyway.
12909 2010-11-26 Robert Millan <rmh@gnu.org>
12911 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
12914 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
12916 Fix LVM-on-RAID probing.
12918 * util/grub-probe.c (probe): Remember which disk was detected as
12919 RAID (perhaps an LVM physical volume). Use that disk's raidname
12920 rather than that of the top-level disk.
12922 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
12924 Fix cmdline argument quotes for setparams command of menuentry
12927 * grub-core/commands/menuentry.c (setparams_prefix): Use single
12928 quotes for arguments.
12929 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
12930 grub_strchrsub function instead.
12932 * include/grub/misc.h (grub_strchrsub): New function.
12934 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
12936 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
12937 effort by skipping "." and ".." entries up-front.
12938 Suggested by: Michael Lazarev.
12940 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
12942 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
12943 ldflags to ldadd, to fix link line ordering.
12944 (none_decompress): Likewise.
12946 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
12948 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
12950 (grub-emu-lite): Remove kern/emu/cache.S.
12952 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
12954 * util/deviceiter.c (compare_devices): If the by-id link for a
12955 device couldn't be resolved, fall back to sorting by the by-id link
12956 rather than segfaulting.
12957 Reported and tested by: Daniel Mierswa.
12959 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
12961 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
12962 ldflags, to fix link line ordering.
12964 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
12966 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
12967 linkers are picky about this.
12969 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
12971 * grub-core/Makefile.am (command.lst): Adjust sed expression
12972 ordering so that extended and priority commands aren't treated as
12975 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
12977 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12978 Remove byte-swapping function calls, which are not valid in
12979 structure initialisers.
12980 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
12982 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
12983 grub_gpt_partition_type_bios_boot.
12985 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
12987 Fix test program build on GNU/kFreeBSD.
12989 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
12990 $(LIBNVPAIR)' library dependencies.
12992 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
12994 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
12996 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
12998 * util/grub-install.in: Remove excessive quoting that broke
12999 installations to RAID devices.
13001 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13003 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13004 bootloader version instead of 0.
13006 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13008 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13011 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13013 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13014 retrieve the metadat sector if size isn't known.
13015 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13017 2010-11-18 Robert Millan <rmh@gnu.org>
13019 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13020 with grub_memcmp().
13022 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13024 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13026 Reported by: Jordan Uggla.
13028 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13030 Make better UTF compliant.
13032 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13033 sequences as incorrect.
13034 (grub_is_valid_utf8): Likewise.
13035 (grub_utf8_to_ucs4): Likewise.
13036 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13037 (grub_ucs4_to_utf8_alloc): Likewise.
13038 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13040 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13042 Make legacy_source behave like source.
13044 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13046 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13048 2010-11-16 Colin Watson <cjwatson@debian.org>
13050 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13051 (-Wunused implies -Wunused-parameter, but not vice versa).
13053 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
13055 * configure.ac: Make error messages less confusing by testing for
13056 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13057 accepted, but produces a diagnostic if something else is wrong).
13059 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13061 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13062 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13064 (grub_keyboard_controller_init)
13065 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13066 read the initial state since controller isn't inited yet.
13068 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13070 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13071 allocate_regbeg may need to create new chunk header.
13073 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13075 Fix quoting in legacy parser.
13077 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13079 (grub_legacy_parse): Likewise.
13080 Reported by: Jordan Uggla.
13081 Tested by: Jordan Uggla.
13083 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13085 Don't add -lgcc on i386 and x86_64.
13087 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13088 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13089 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13091 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13093 * configure.ac: Add -Wno-trampolines when supported.
13095 2010-11-14 Modestas Vainius <modax@debian.org>
13097 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13100 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13102 Add generic logical block size support for UDF.
13104 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13105 (GRUB_UDF_BLKSZ): Removed.
13106 (struct grub_udf_data): New field "lbshift" to hold the logical block
13107 size of the file system in log2 format. All users updated.
13108 (sblocklist): Change type to unsigned.
13109 (grub_udf_mount): Change type of "sblklist" to unsigned.
13110 Move AVDP search before VRS recognition, because the latter requires
13111 knowledge of the logical block size, which is detected during the
13113 Detect and validate logical block size during AVDP search, adding
13114 support for block sizes 512, 1024 and 4096.
13115 Make VRS recognition independent of block size.
13117 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13119 Properly handle deleted files on UDF.
13121 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13122 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13125 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13127 Support reading files larger than 2 GiB.
13129 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13130 "offset" to grub_off_t.
13131 (grub_udf_read_file): Likewise for parameter "pos".
13133 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13135 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13137 (Simple configuration): Refer to Changes from GRUB Legacy about
13138 save_env availability.
13140 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13142 * util/grub-install.in: Ignore empty partition table detection
13143 instead of trying to include part_ module.
13145 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13147 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13148 LVM on RAID support.
13150 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13152 Properly define WORDS_BIGENDIAN in wrapped environments.
13154 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13156 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13158 Reported by: Manoel Rebelo Abranches.
13159 Tested by: Manoel Rebelo Abranches.
13161 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13163 * util/grub-mkconfig.in: Fix quoting.
13165 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13167 Support big ext2 files.
13169 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13170 (grub_ext2_read_block): Support triple indirect blocks.
13171 (grub_ext2_read_file): Use 64-bit types and read size_high.
13172 (grub_ext2_open): Read size_high.
13173 Reported by: Ximin Luo.
13174 Tested by: Manoel Rebelo Abranches.
13176 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13178 * util/grub-install.in: Handle filenames containing spaces.
13179 Reported by: Jordan Uggla.
13180 Tested by: Jordan Uggla.
13182 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13184 * util/grub-mkconfig.in (grub_script_check): New variable.
13185 Use grub_script_check instead of grub-script-check.
13186 Reported by: Barry Jackson.
13188 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13190 * docs/grub.texi (menu): Correct the order.
13191 Reported by: D. Hugh Redelmeier.
13193 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13195 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13198 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13200 * include/grub/elfload.h (grub_elf32_size): New parameter.
13202 Return maximum segments alignment.
13203 (grub_elf64_size): Likewise.
13204 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13205 Return maximum segments alignment.
13206 (grub_elf64_size): Likewise.
13207 * grub-core/loader/powerpc/ieee1275/linux.c:
13208 (grub_linux_claimmap_iterate): New function. Uses the
13209 "available" property in the "memory" node for memory allocation
13210 for kernel in the PowerPC loader.
13211 (grub_linux_load32): Correctly find linux entry point offset.
13212 (grub_linux_load64): Likewise.
13214 2010-11-07 Robert Millan <rmh@gnu.org>
13216 On mips-yeeloong, build with -march=loongson2f when this flag is
13217 available (GCC >= 4.4).
13218 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13220 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13221 or otherwise add -march=mips3.
13223 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13225 Suppress shell expansion on echo '*' and echo "*" like cases.
13226 Reported by: Jordan Uggla.
13228 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13229 string arguments before shell expansion.
13230 * tests/grub_cmd_echo.in: New testcases.
13232 2010-11-07 Robert Millan <rmh@gnu.org>
13234 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13237 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13239 * grub-core/kern/emu/hostdisk.c
13240 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13242 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13244 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13245 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13246 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13248 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13250 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13252 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13254 * util/grub-install.in: Replace useless recomendation to pass
13255 --modules with a recomendation to report a bug.
13257 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13259 Properly register serial terminfo.
13260 Reported by: Jordan Uggla
13262 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13264 (grub_serial_terminfo_output_template): Likewise.
13265 (grub_cmd_serial): Register "serial" with terminfo.
13266 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13267 grub_serial_terminfo_output.
13269 2010-11-05 Robert Millan <rmh@gnu.org>
13271 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13274 2010-11-05 Robert Millan <rmh@gnu.org>
13276 On Yeeloong, pass machine type information to Linux.
13278 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13279 (LOONGSON_MACHTYPE): New macro, set to
13280 "machtype=lemote-yeeloong-2f-8.9inches".
13281 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13282 additional argument to Linux.
13284 2010-11-04 Robert Millan <rmh@gnu.org>
13286 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13287 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13288 (its SATA disks are detected as slaveless IDE master drives on
13290 Reported by Carsten Aulbert.
13292 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
13294 * util/bin2h.c (main): Fix spelling error in generated output.
13296 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13298 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13300 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13302 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13303 vga= option is supplied.
13305 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13307 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13308 * util/grub.d/10_kfreebsd.in: Likewise.
13309 * util/grub.d/10_linux.in: Likewise.
13310 * util/grub.d/20_linux_xen.in: Likewise.
13312 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13314 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13315 argument as an argument to no-argument option.
13317 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13319 * util/grub.d/10_linux.in: Add missing load_video with explicit
13320 GRUB_GFXPAYLOAD_LINUX.
13322 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13324 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13326 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13328 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13329 elements with invlid index.
13330 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13331 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13333 * include/grub/raid.h (grub_raid_member): New struct.
13334 (grub_raid_array): Transform devices and start_sector into usage of
13335 grub_raid_member. All users updated
13336 (allocated_devs): New member.
13338 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13340 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13343 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13345 NetBSD build fix for getline function conflict from gnulib.
13347 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13348 components that depend on gnulib headers.
13349 (libgrubmods.a): Renamed from earlier libgrub.a.
13350 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13352 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13354 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13355 install rather than creating a broken install.
13357 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13359 * util/grub-setup.c (argp): Remove misleading example of installing to
13362 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13364 * util/grub-setup.c (setup): Clarify the error message.
13366 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13368 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
13370 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13372 * grub-core/kern/emu/misc.c
13373 (grub_make_system_path_relative_to_its_root)
13374 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
13376 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13378 * grub-core/kern/emu/misc.c
13379 (grub_make_system_path_relative_to_its_root): Revert r2882.
13381 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13383 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
13384 useless field head. All users updated.
13385 (free_subchunk): Correct handling of IN_REGION subchunk.
13387 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
13389 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
13390 (Supported kernels): Likewise.
13392 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13394 Make mktemp invocations portable.
13396 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
13397 exit if mktemp fails.
13398 * tests/grub_script_blockarg.in: Likewise.
13399 * tests/partmap_test.in: Likewise.
13400 * tests/util/grub-shell-tester.in: Likewise.
13401 * tests/util/grub-shell.in: Likewise.
13402 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13403 * Makefile.am: Likewise, and chain shell commands with `&&'
13405 * util/grub-mkrescue.in: Use the same explicit template as above, and
13406 exit if mktemp fails.
13408 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
13410 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
13411 Linux kernel, reported by Dennis Schridde.
13413 2010-10-17 Szymon Janc <szymon@janc.net.pl>
13415 * grub-core/normal/auth.c (grub_auth_check_authentication):
13416 Set-but-not-used variable removed.
13418 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13420 * docs/grub.texi (GNU/Linux): Document APM unavailability with
13421 32-bit linux protocol.
13423 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13425 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
13426 cursor shape for sanity.
13428 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13430 * docs/grub.texi (Installation): Document buggy BIOS install.
13432 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13434 * docs/grub.texi (Installation): Indent.
13436 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13438 * util/grub-setup.c (setup): New parameter allow_floppy.
13439 (arguments): New member allow_floppy.
13440 (argp_parser): Handle --allow-floppy.
13441 (main): Pass allow_floppy.
13442 * util/grub-install.in: New option --allow-floppy passed though to
13445 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13447 * util/grub-install.in: Handle partitionless disks.
13449 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13451 * util/grub-setup.c (setup): Don't clean blocklists before readability
13454 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13456 * docs/grub.texi (Installation): Document embedding zone. Remove
13457 obsolete grub-install example.
13459 2010-10-16 Szymon Janc <szymon@janc.net.pl>
13461 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13462 Set-but-not-used variable ifdef'ed.
13463 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
13464 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
13466 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
13467 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
13468 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13469 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
13470 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
13471 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13472 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
13473 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
13474 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
13475 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
13476 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
13479 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13481 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
13482 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
13485 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13487 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
13488 synonym to _S5_. Needed for some DSDTs.
13490 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13492 Userspace ACPI parser debugging.
13494 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
13495 headers and add relevant defines. Don't include standard headers.
13496 (main) [GRUB_DSDT_TEST]: New function.
13497 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
13498 Don't declare functions.
13500 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13502 Remove dead grub_efi_mm_fini.
13504 * grub-core/kern/efi/mm.c (allocated_page): Removed.
13505 (ALLOCATED_PAGES_SIZE): Likewise.
13506 (MAX_ALLOCATED_PAGES): Likewise.
13507 (allocated_pages): Likewise.
13508 (grub_efi_allocate_pages): Don't record allocated pages.
13509 (grub_efi_free_pages): Likewise.
13510 (grub_efi_mm_init): Likewise.
13511 (grub_efi_mm_fini): Removed.
13513 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13515 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
13516 (grub_efi_mm_init): Take into account the memory map size increase.
13518 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13520 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
13521 (serial_hw_put): Wait based on real time rather than port reads. Don't
13523 * include/grub/serial.h (grub_serial_port): New field broken.
13525 2010-10-16 Robert Millan <rmh@gnu.org>
13527 * grub-core/kern/emu/misc.c
13528 (grub_make_system_path_relative_to_its_root): Fix premature return
13529 when processing non-root ZFS filesystems.
13530 Reported by Sergio Talens-Oliag.
13532 2010-10-15 Robert Millan <rmh@gnu.org>
13534 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
13535 guarantee compressed ones are processed first.
13537 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13539 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
13540 grub_efiemu_autocore.
13542 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13544 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
13546 (grub_console_getkey): Use correct jae opcode rather than ja.
13548 2010-10-12 Robert Millan <rmh@gnu.org>
13550 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
13551 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
13552 variable. All references updated.
13554 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
13556 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
13558 Correctly distinguish mdraid flavours.
13560 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
13561 (insert_array): New argument raid.
13562 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
13563 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
13564 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
13566 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
13568 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
13569 handling of special keys.
13571 2010-10-02 Aleš Nesrsta <starous@volny.cz>
13573 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
13574 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
13576 2010-10-02 Aleš Nesrsta <starous@volny.cz>
13578 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
13579 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
13581 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
13582 Use right endpoint when querying descriptor.
13584 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13586 Clear out 0x80 color bit on EFI.
13588 Reported by: decoder and meta tech.
13590 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
13591 (grub_console_setcolorstate): Clear out 0x80 bit.
13592 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
13593 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
13594 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
13596 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13598 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
13601 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13603 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
13604 mo_file after freeing.
13606 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13608 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
13610 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13612 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
13615 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13617 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
13620 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13622 Put terminfo into core on ieee1275 and yeeloong (needed for console).
13624 * gentpl.py: New groups terminfoinkernel and terminfomodule.
13625 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
13626 and terminfo.h when needed.
13627 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
13628 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
13629 (terminfo): Enable only on terminfokernel.
13630 (extcmd): Likewise.
13631 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
13632 * include/grub/lib/arg.h: Likewise.
13633 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
13634 incorrect usage of ->.
13636 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13638 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
13639 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
13641 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13643 Fix coreboot compilation.
13645 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13646 Take VBE info into account even if only text is supported.
13647 (fill_vbe_info): Take into account the case when only VGA text
13649 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
13650 on coreboot, multiboot and qemu.
13652 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13654 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
13656 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
13658 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13660 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
13663 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13665 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
13666 if they were BSD-style.
13668 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13670 * grub-core/boot/i386/pc/lnxboot.S: Replace
13671 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
13672 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
13674 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13676 Write embedding zone using Reed-Solomon.
13678 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
13679 * grub-core/Makefile.am (rs_decoder.S): New target.
13680 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
13681 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
13682 (multiboot): Move to RS part.
13683 (post_reed_solomon): New label.
13684 (grub_boot_drive): Move to non-RS part since it's modified in memory
13686 Include rs_decoder.S.
13687 * grub-core/lib/reed_solomon.c: New file.
13688 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
13690 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
13691 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
13692 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
13693 * include/grub/partition.h (grub_partition_map): Change prototype of
13694 embed to allow returning additional sectors.
13695 * include/grub/reed_solomon.h: New file.
13696 * util/grub-setup.c (setup): Handle Reed-Solomon.
13698 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
13700 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13701 i386 and x86-64 definedness tests.
13703 2010-09-27 Yves Blusseau <blusseau@zetam.org>
13705 Fix generation of kernel_syms.lst
13707 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
13710 2010-09-26 Robert Millan <rmh@gnu.org>
13712 Support degraded ZFS arrays in "grub-probe -t device" resolution.
13714 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
13715 the pool is an array of devices, iterate through it and return the
13716 first device that passes a stat() test (instead of blindly returning
13719 2010-09-26 Robert Millan <rmh@gnu.org>
13721 Build fixes for GNU/kFreeBSD.
13723 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
13724 to programs that require ZFS conversion.
13725 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
13726 kernels that don't have FLOPPY_MAJOR.
13728 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13730 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
13732 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13734 Fix grub-emu build.
13736 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
13737 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
13738 mdraid09 and mdraid1x.
13740 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
13742 Re-enable grub-extras.
13744 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
13745 avoid confusing Automake. Run autogen only twice, once for the top
13746 level and once for grub-core. Add Makefile.util.def and
13747 Makefile.core.def from extra modules to the appropriate autogen
13748 invocations. If Makefile.common exists in an extra module, include
13749 it in both Makefile.util.am and grub-core/Makefile.core.am;
13750 similarly, include any Makefile.util.common file in Makefile.util.am
13751 and any Makefile.core.common file in grub-core/Makefile.core.am.
13752 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
13753 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
13754 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
13755 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
13757 * gentpl.py (gvar_add): Turn GVARS into a set.
13758 (global_variable_initializers): Sort global variables on output.
13759 (vars_init): New function.
13760 (first_time): Likewise.
13761 (library): Ensure that non-global variable initialisations are
13762 emitted before the first time we emit code for a library block.
13763 Append to variables rather than setting them. Only emit
13764 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
13765 each conditional path.
13766 (program): installdir() emits an Autogen macro, so must be passed to
13767 var_add rather than gvar_add.
13769 (script): Likewise.
13770 (rules): New function, centralising handling for different target
13771 types. Set up Guile association lists for first_time and vars_init,
13772 and send most output to a diversion so that variable initialisations
13773 can be emitted first.
13774 (module_rules): Use new rules function.
13775 (kernel_rules): Likewise.
13776 (image_rules): Likewise.
13777 (library_rules): Likewise.
13778 (program_rules): Likewise.
13779 (script_rules): Likewise.
13780 (data_rules): Likewise.
13782 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
13784 * .bzrignore: Add contrib and grub-core/contrib. Remove
13785 grub-core/Makefile.gcry.am.
13787 2010-09-24 Yves Blusseau <blusseau@zetam.org>
13789 * grub-core/lib/LzFind.c: Add missing include.
13790 * grub-core/lib/LzmaEnc.c: Likewise.
13791 * grub-core/script/lexer.c: Likewise.
13792 * grub-core/script/yylex.l: Likewise.
13793 * util/grub-macho2img.c: Likewise.
13794 * util/grub-menulst2cfg.c: Likewise.
13795 * util/grub-mklayout.c: Likewise.
13796 * util/grub-mkpasswd-pbkdf2.c
13797 * util/grub-mkrelpath.c: Likewise.
13798 * util/resolve.c: Likewise.
13800 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
13802 * Makefile.util.def (example_unit_test): Add
13803 grub-core/gnulib/libgnu.a.
13805 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
13807 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
13809 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13811 Support xz compression on yeeloong.
13813 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
13814 * configure.ac: Check for LZMA.
13815 * grub-core/Makefile.core.def (xz_decompress): New target.
13816 (none_decompress): Likewise.
13817 * grub-core/boot/decompressor/minilib.c: New file.
13818 * grub-core/boot/decompressor/none.c: Likewise.
13819 * grub-core/boot/decompressor/xz.c: Likewise.
13820 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
13821 * grub-core/kern/mips/cache_flush.S: Likewise.
13822 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
13823 * grub-core/kern/mips/startup.S: Move first stage to ...
13824 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
13826 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
13827 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
13828 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
13829 Allocate statically.
13830 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
13831 Allocate statically or use scratch. Don't check CRC32.
13832 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
13833 Allocate statically. Don't check CRC32.
13834 * include/grub/decompressor.h: New file.
13835 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
13837 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
13838 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
13839 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
13840 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
13841 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
13842 * util/grub-mkimage.c (grub_compression_t): New type.
13843 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
13844 (image_target_desc): New field default_compression.
13845 (image_targets): Adjust yeeloong targets.
13846 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
13847 (compress_kernel): New parameter comp.
13848 (generate_image): Likewise. Handle new compression case.
13849 (options): New option --compression
13851 (main): Handle new option.
13853 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
13855 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
13857 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
13859 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13860 typo in __i386__ conditional.
13862 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13864 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
13867 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13869 Implement EFI and ACPI multiboot2 extensions.
13871 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
13872 new tags as supported.
13873 (acpiv2_size): New function.
13874 (grub_multiboot_get_mbi_size): Take new tags into account.
13875 (grub_multiboot_make_mbi): Add new tags.
13876 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
13878 2010-09-21 Aleš Nesrsta <starous@volny.cz>
13880 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
13881 Added missing configuration of USB device.
13883 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13885 * grub-core/normal/menu_entry.c (run): Make sure we always return
13888 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13890 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
13891 NumberOfPages is UINT64 according to the UEFI specification, not
13892 UINTN. Fix printf format.
13894 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13896 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
13897 `err' to grub_usb_err_t.
13898 Reported and tested by: KESHAV P.R.
13900 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13902 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
13903 tpart non-const, so that we can assign to it. (Since this is a
13904 typedef, the constness refers to the pointer rather than what it
13907 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13909 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
13910 $(top_srcdir)/grub-core/gnulib as well as
13911 $(top_builddir)/grub-core/gnulib.
13912 Reported by: KESHAV P.R.
13914 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13916 * util/grub-install.in: Fix the bootloader ID option to be
13917 consistently --bootloader-id, not --bootloader_id.
13918 Reported by: KESHAV P.R.
13920 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13922 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
13923 check hash checksum." consistently translatable.
13925 2010-09-21 Yves Blusseau <blusseau@zetam.org>
13927 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
13930 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13932 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
13933 (GRUB_MOD_INIT): Register sha1sum command.
13934 (GRUB_MOD_FINI): Unregister sha1sum command.
13936 2010-09-21 Yves Blusseau <blusseau@zetam.org>
13938 Keep boot and grub directory names in sync with utils scripts
13940 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
13941 * config.h.in: Add previous macros.
13942 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
13943 * util/grub-install.in: Use $bootdir and $grubdir variables.
13945 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13947 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
13948 convert partition names to disk names if the new `convert' parameter
13950 (grub_util_biosdisk_get_grub_dev): If opening the disk device
13951 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
13952 disk in its own right. This can happen with Xen disk images.
13954 2010-09-21 Yves Blusseau <blusseau@zetam.org>
13956 * util/grub-editenv.c: Update strings to avoid warnings when generating
13958 * util/grub-setup.c: Likewise.
13960 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13962 * configure.ac: Change version to 1.99~beta0.
13964 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13966 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13968 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
13970 * include/multiboot.h: Resynced with specification.
13971 * include/multiboot2.h: Likewise.
13973 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13975 Fix po directory handling.
13977 * configure.ac: Create po/Makefile.in rather than po/Makefile.
13978 * grub-core/gnulib/Makefile.am: Import gettext module.
13979 * m4/gnulib-cache.m4: Likewise.
13980 * m4/gnulib-comp.m4: Likewise.
13981 * m4/gettext.m4: New file, from gnulib.
13982 * m4/glibc2.m4: Likewise.
13983 * m4/iconv.m4: Likewise.
13984 * m4/intdiv0.m4: Likewise.
13985 * m4/intl.m4: Likewise.
13986 * m4/intldir.m4: Likewise.
13987 * m4/intlmacosx.m4: Likewise.
13988 * m4/intmax.m4: Likewise.
13989 * m4/inttypes-pri.m4: Likewise.
13990 * m4/lcmessage.m4: Likewise.
13991 * m4/lib-ld.m4: Likewise.
13992 * m4/lib-link.m4: Likewise.
13993 * m4/lib-prefix.m4: Likewise.
13994 * m4/lock.m4: Likewise.
13995 * m4/nls.m4: Likewise.
13996 * m4/po.m4: Likewise.
13997 * m4/printf-posix.m4: Likewise.
13998 * m4/progtest.m4: Likewise.
13999 * m4/threadlib.m4: Likewise.
14000 * m4/uintmax_t.m4: Likewise.
14001 * m4/visibility.m4: Likewise.
14002 * po/Makefile.am: Remove.
14003 * po/Makefile.in.in: New file, from gettext.
14004 ($(DOMAIN).pot-update): Support POTFILES-shell.
14005 * po/Makevars: New file.
14006 * po/POTFILES-shell: Rename to ...
14007 * po/POTFILES-shell.in: ... this. Update.
14008 * po/POTFILES: Rename to ...
14009 * po/POTFILES.in: ... this. Update.
14010 * po/Rules-quot: New file, from gettext.
14011 * po/boldquot.sed: Likewise.
14012 * po/en@boldquot.header: Likewise.
14013 * po/en@quot.header: Likewise.
14014 * po/insert-header.sin: Likewise.
14015 * po/quot.sed: Likewise.
14016 * po/remove-potcdate.sin: Likewise.
14018 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14020 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14022 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14024 * util/grub.d/20_linux_xen.in: Use submenus.
14026 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14030 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14031 parameter submenu. All users updated.
14032 * grub-core/normal/main.c (free_menu): Rename to ...
14033 (grub_normal_free_menu): ... this. Made global.
14034 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14036 * grub-core/normal/menu_entry.c (screen): New field submenu.
14037 (make_screen): Set submenu.
14038 (run): Open new context if requested.
14039 * include/grub/menu.h (grub_menu_entry): New field submenu.
14040 * include/grub/normal.h (grub_normal_free_menu): New proto.
14042 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14044 Menu entries extractor.
14046 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14048 (GRUB_MOD_INIT): Register new variants.
14049 (GRUB_MOD_FINI): Unregister new variants.
14050 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14051 into grub_cmd_legacy_source.
14052 (grub_cmd_legacy_source): Implement extractor variants.
14053 (GRUB_MOD_INIT): Register new variants.
14054 (GRUB_MOD_FINI): Unregister new variants.
14055 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14057 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14058 search as an extractor.
14059 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14060 test as an extractor.
14061 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14063 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14064 (grub_env_new_context): New function.
14065 (grub_env_context_open): Likewise.
14066 (grub_env_extractor_open): Likewise.
14067 (grub_env_extractor_close): Likewise.
14068 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14069 grub_extractor_level.
14070 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14071 * include/grub/env.h (grub_env_extractor_open): New proto.
14072 (grub_env_extractor_close): Likewise.
14073 * include/grub/normal.h (grub_extractor_level): New external variable.
14075 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14077 Make cutmem accept a region specification.
14078 Suggested by: Samuel Thibault
14080 * grub-core/mmap/mmap.c (parsemem): New function.
14081 (grub_cmd_cutmem): Handle new arguments.
14083 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14085 New command cutmem.
14087 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14088 (GRUB_MOD_INIT): Register new command.
14089 (GRUB_MOD_FINI): Unregister new command.
14091 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14093 Support some annoying BSD and Minix subpartitions.
14095 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14096 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14097 Properly handle concatenation.
14098 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14099 * grub-core/normal/completion.c (iterate_partition): Likewise.
14100 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14101 contain partition. All users updated.
14102 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14104 (grub_openbsdlabel_partition_map): Likewise.
14105 (bsdlabel_partition_map_iterate): Rename to ..
14106 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14107 (bsdlabel_partition_map_iterate): New function.
14108 (netopenbsdlabel_partition_map_iterate): Likewise.
14109 (netbsdlabel_partition_map_iterate): Likewise.
14110 (openbsdlabel_partition_map_iterate): Likewise.
14111 (GRUB_MOD_INIT): Register new partmaps.
14112 (GRUB_MOD_FINI): Unregister new partmaps.
14113 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14114 (grub_partition_msdos_iterate): ... this. All users updated.
14115 Don't support embedding other than in a minix partition.
14116 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14118 * include/grub/partition.h (grub_partition): New field msdostype.
14119 * util/grub-install.in: Handle openbsd and netbsd types being in
14122 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14124 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14126 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14127 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14128 (mdraid09): ... this.
14129 (mdraid1x): New module.
14130 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14131 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14133 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14135 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14138 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14140 * grub-core/commands/efi/lsefimmap.c: Correct header.
14143 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14145 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14146 as printf format strings; the translations might contain '%' which
14147 could cause a crash.
14149 * util/grub-fstest.c (argp_parser): Likewise.
14150 * util/grub-setup.c (argp_parser): Likewise.
14153 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14155 Use argp in grub-fstest.
14157 * util/grub-fstest.c: Don't include getopt.h.
14159 (root): New variable.
14160 (args_count): Likewise.
14162 (num_disks): Likewise.
14163 (images): Likewise.
14165 (debug_str): Likewise.
14167 (options): Transformed to argp.
14169 (main): Split argument parsing into ...
14170 (argp_parser): ... this. Changed to argp format.
14171 (argp): New variable.
14172 (main): Use argp_parse.
14174 2010-09-20 Tristan Gingold <gingold@free.fr>
14175 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
14176 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14178 * grub-core/commands/efi/lsefimmap.c: New file.
14179 * grub-core/Makefile.core.def (lsefimmap): New module.
14180 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14182 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14184 Pause the execution (10s max) if any errors are displayed so the user
14185 has a chance to see them.
14187 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14188 (grub_print_error): Increment grub_err_printed_errors.
14189 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14190 execution if any errors were displayed.
14191 (show_menu): Remove old code for pause.
14192 * grub-core/normal/menu_entry.c (run): Likewise.
14193 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14195 (grub_normal_get_char_counter): Likewise.
14196 * include/grub/err.h (grub_err_printed_errors): New external variable.
14197 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14199 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14201 Support multiboot VBE info.
14203 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14204 Take VBE info into account.
14205 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14206 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14207 Call fill_vbe_info when appropriate.
14208 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14209 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14211 (grub_multiboot_get_mbi_size): Take new tags into account.
14212 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14213 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14214 Call fill_vbe_tag when appropriate.
14215 (grub_multiboot_make_mbi): Properly align tags.
14216 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14218 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14220 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14222 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14224 Suport manual terminal geometry specification.
14226 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14227 Save state in grub_ofconsole_terminfo_output.
14228 (grub_ofconsole_term): Use grub_terminfo_getwh.
14229 (grub_ofconsole_getwh): Removed.
14230 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14231 (grub_serial_term): Use grub_terminfo_getwh.
14232 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14233 (options): New struct.
14234 (OPTION_*): New enum.
14235 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14236 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14238 (grub_terminfo_getwh): New proto.
14239 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14241 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14243 Handle legacy "terminal" command.
14245 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14247 (legacy_commands): Add terminal and title.
14248 (grub_legacy_parse): Handle terminal. Simplify title handling.
14250 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14252 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14253 parameters overflow.
14255 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14257 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14260 * docs/grub.texi (Shell-like scripting): Document `!'.
14261 (Network): Simplify using new i386-pc-pxe format. Mention
14266 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14268 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14269 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14272 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14274 * grub-core/commands/efi/lsefisystab.c: Correct header.
14275 * grub-core/commands/efi/lssal.c: Likewise.
14276 * grub-core/commands/testload.c: Likewise.
14278 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14280 * util/grub-mkrescue.in: Add explicit root argument to --set to
14281 prevent the UUID being interpreted as an argument to --set (matches
14282 previous change to prepare_grub_to_access_device).
14284 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14286 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14287 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14288 the verbosity of later #ifs.
14289 (find_partition_start): Define this function on FreeBSD too.
14290 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14292 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14295 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14297 * util/grub-editenv.c: Use argp instead of getopt.
14299 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14301 * util/grub-setup.c: Use argp instead of getopt.
14303 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14305 Use gnulib-tool to create gnulib source files.
14307 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14308 grub-core/gnulib directories
14309 * .bzignore: Add **/.deps and autogenerated gnulib files
14310 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14311 of gnulib macros, add grub-core/gnulib/Makefile
14312 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14313 include m4 directory to aclocal.
14314 * Makefile.util.def: Remove direct compilation of gnulib source files
14315 and use the new grub-core/gnulib/libgnu.a.
14316 * build-aux/config.rpath: move config.rpath from top directory to
14318 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14320 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14321 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14322 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14324 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14327 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14329 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14330 grub-core/genmod.sh and grub-core/gensyminfo.sh
14332 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14334 Add a test for echo command options.
14336 * tests/grub_cmd_echo.in: New test.
14337 * Makefile.util.def: Rules for new test.
14339 2010-09-20 Szymon Janc <szymon@janc.net.pl>
14341 Remove crc.mod and move crc command to hashsum.mod.
14342 Remove lib/crc.c - users updated to use gcrypt implementation.
14344 * grub-core/commands/crc.c: Removed.
14345 * grub-core/Makefile.core.def (crc): Module removed.
14346 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14347 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14348 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14349 * grub-core/lib/crc.c: Removed.
14350 * include/grub/lib/crc.h: Removed.
14351 * Makefile.util.def (crc): Remove lib/crc.c
14352 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14353 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14354 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14355 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14356 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14357 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14359 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14361 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
14363 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14365 Split config.h for util and core.
14367 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
14368 (ADDR32): Likewise.
14369 (DATA32): Likewise.
14370 (BSS_START_SYMBOL): Likewise.
14371 (END_SYMBOL): Likewise.
14372 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
14373 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
14374 * config.h.in: New file.
14375 * configure.ac: Use config-util.h as config define file.
14376 Rename MACHINE into GRUB_MACHINE. All users updated.
14377 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
14379 (NESTED_FUNC_ATTR): Likewise.
14380 Substitue new variables.
14381 (COND_HAVE_ASM_USCORE): New conditional.
14382 * grub-core/Makefile.am (ASM_PREFIX): New variable.
14383 (kernel_syms.lst): Use ASM_PREFIX.
14384 * grub-core/kern/emu/console.c: Include config-util.h.
14385 * grub-core/kern/emu/misc.c: Likewise.
14386 * grub-core/kern/emu/mm.c: Likewise.
14387 * include/grub/emu/misc.h: Likewise.
14388 * include/grub/libgcc.h: Likewise.
14390 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14392 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
14394 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
14395 Fix GRUB_TERM_KEY_* constants usage.
14396 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
14398 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14400 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
14402 * grub-core/bus/usb/uhci.c: Remove empty define.
14403 (grub_uhci_check_transfer): Add missing cast.
14404 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
14406 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
14408 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
14410 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14412 * grub-core/Makefile.core.def (legacycfg): Add
14413 lib/i386/pc/vesa_modes_table.c on emu.
14415 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14417 Reduce number of temporary files generated by build system.
14419 * grub-core/gencmdlist.sh: Removed.
14420 * grub-core/genfslist.sh: Removed.
14421 * grub-core/genhandlerlist.sh: Removed.
14422 * grub-core/genmodsrc.sh: Removed.
14423 * grub-core/genpartmaplist.sh: Removed.
14424 * grub-core/genparttoollist.sh: Removed.
14425 * grub-core/gentermiinallist.sh: Removed.
14426 * grub-core/genvideolist.sh: Removed.
14428 * grub-core/genmod.sh.in: New file.
14429 * grub-core/gensyminfo.sh.in: New file.
14431 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
14432 * conf/Makefile.extra-dist: Update with new files.
14433 * gentpl.py: Remove rules related to unnecessary temporary files.
14434 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
14436 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
14438 * grub-core/bus/usb/uhci.c: Remove empty #define.
14439 * grub-core/genmoddep.awk: Updated with new syminfo format.
14440 * util/bash-completion.d/Makefile.am: Add config.log to
14443 2010-09-19 Yves Blusseau <blusseau@zetam.org>
14445 * Makefile.util.def: Add forgotten $(LIBINTL) library.
14447 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14449 * util/grub-mkconfig.in: Check the config script for syntax errors
14452 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
14453 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14455 * Makefile.util.def (grub-install): Use util/grub-install.in on all
14457 * util/grub-install.in: Add EFI and IEEE1275 support.
14458 * util/i386/efi/grub-install.in: Removed.
14459 * util/ieee1275/grub-install.in: Likewise.
14461 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14463 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
14464 (grub_cmd_cmosclean): Likewise.
14465 (GRUB_MOD_INIT): Register command cmosclean.
14466 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
14467 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
14469 2010-09-18 Carles Pina i Estany <carles@pina.cat>
14470 2010-09-18 Aleš Nesrsta <starous@volny.cz>
14471 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14473 Add keyboard layouts support.
14475 * Makefile.util.def (grub-mklayout): New file.
14476 (grub-kbdcomp): New script.
14477 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
14478 Add keyboard_layouts.h.
14479 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
14480 commands/boot.c on yeeloong.
14481 (keylayouts): New module.
14482 * grub-core/bus/usb/ohci.c
14483 * grub-core/bus/usb/uhci.c
14484 * grub-core/bus/usb/usbhub.c (rescan): New variable.
14485 (grub_usb_add_hub): Poll interrupt pipe for device handling.
14486 (attach_root_port): Likewise.
14487 (poll_nonroot_hub): Likewise.
14488 (grub_usb_poll_devices): Likewise.
14489 (detach_device): Close transfer.
14490 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
14492 (grub_usb_bulk_setup_readwrite): Likewise.
14493 (grub_usb_bulk_finish_readwrite): Likewise.
14494 * grub-core/commands/keylayouts.c: New file.
14495 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
14496 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
14498 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
14499 support scancode 2.
14500 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
14501 * include/grub/keyboard_layouts.h: New file.
14502 * util/grub-mklayout.c: New file.
14503 * util/grub-kbdcomp.in: Likewise.
14505 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14507 Unify memory types.
14509 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
14510 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
14512 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
14513 (grub_upper_mem): Likewise.
14514 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
14515 * include/grub/memory.h (grub_memory_type_t): New enum.
14518 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14520 * grub-core/Makefile.core.def (lsapm): New module.
14521 * grub-core/commands/i386/pc/lsapm.c: New file.
14522 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
14523 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
14525 * include/grub/i386/pc/apm.h: New file.
14526 * include/multiboot.h (multiboot_apm_info): New struct.
14528 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14530 GRUB-legacy configuration file support.
14532 * Makefile.util.def (grub-menulst2cfg): New util.
14533 * docs/man/grub-menulst2cfg.h2m: New file.
14534 * grub-core/Makefile.core.def (legacycfg): New module.
14535 * grub-core/commands/legacycfg.c: New file.
14536 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
14537 (grub_normal_add_menu_entry): ... this.
14538 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
14539 (grub_normal_set_password): ...this.
14540 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
14541 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
14542 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
14543 * grub-core/lib/legacy_parse.c: New file.
14544 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
14545 * include/grub/i386/pc/vesa_modes_table.h: New file.
14546 * include/grub/legacy_parse.h: Likewise.
14547 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
14548 * util/grub-menulst2cfg.c: New file.
14550 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
14552 * grub-core/kern/emu/hostdisk.c
14553 (convert_system_partition_to_system_disk): Initialise node.
14555 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
14557 * grub-core/kern/emu/hostdisk.c
14558 (convert_system_partition_to_system_disk): Fix devmapper memory pool
14560 Reported and based on patch by: Modestas Vainius.
14562 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
14564 Fix DM-RAID probing with recent versions of device-mapper udev
14567 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
14568 canonicalise device paths under /dev/mapper/.
14569 (convert_system_partition_to_system_disk): Compare the
14570 uncanonicalised path to /dev/mapper/ rather than the canonicalised
14571 path, since device nodes under /dev/mapper/ are often symlinks.
14573 2010-09-17 Yves Blusseau <blusseau@zetam.org>
14575 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
14577 2010-09-16 Yves Blusseau <blusseau@zetam.org>
14579 * configure.ac: Avoid some annoying error messages if freetype-config
14580 program is not found.
14582 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
14584 Support RAID on virtio devices, and others.
14586 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
14588 [__MINGW32__] (grub_find_device): ... this.
14589 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
14590 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
14591 reasonable default if dir is NULL.
14592 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
14594 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
14595 (grub_guess_root_device): Update callers.
14596 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
14598 * util/raid.c (grub_util_getdiskname): Remove.
14599 (grub_util_raid_getmembers): Use grub_find_device rather than
14600 grub_util_getdiskname.
14602 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
14604 * docs/grub.texi (serial): Remove obsolete comment about GRUB
14605 needing to be compiled with serial support.
14606 (ls): Indicate that multiple files are accepted.
14607 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
14608 indicate that multiple files are accepted.
14610 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
14612 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
14613 libgrub_a_init.c, and util/bash-completion.d/grub.
14615 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14617 * util/grub-setup.c (setup): Fix incorrect container semantics.
14619 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14621 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
14623 Reported by: J. Nick Terry
14625 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14627 Move embedding routines to partmap sources files.
14629 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
14630 [GRUB_UTIL]: New variable.
14631 (gpt_partition_map_iterate): Set part.parent.
14632 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
14633 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
14634 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
14636 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
14637 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
14638 (grub_partition_map) [GRUB_UTIL]: New field embed.
14639 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
14640 (setup): Use ->embed.
14642 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14644 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
14646 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
14647 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
14649 2010-09-15 Yves Blusseau <blusseau@zetam.org>
14651 Add function to get completions from usage.
14653 * util/bash-completion.d/grub-completion.bash.in: Add function to get
14654 completions from usage. Use LC_ALL=C to get options properly.
14656 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14658 * grub-core/gnulib/basename-lgpl.c: Imported.
14659 * grub-core/gnulib/basename.c: Likewise.
14660 * grub-core/gnulib/dirname-lgpl.c: Likewise.
14661 * grub-core/gnulib/dirname.c: Likewise.
14662 * grub-core/gnulib/dirname.h: Likewise.
14663 * grub-core/gnulib/stripslash.c: Likewise.
14665 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14667 * grub-core/gnulib/error.c: Resynced.
14668 * grub-core/gnulib/getopt.c: Likewise.
14669 * grub-core/gnulib/getopt_int.h: Likewise.
14670 * grub-core/gnulib/regex.h: Likewise.
14671 * grub-core/gnulib/regex_internal.c: Likewise.
14672 * grub-core/gnulib/regex_internal.h: Likewise.
14674 2010-09-15 Szymon Janc <szymon@janc.net.pl>
14676 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
14677 CRC calculations and validity checks.
14678 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
14681 2010-09-15 Szymon Janc <szymon@janc.net.pl>
14683 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
14685 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14687 Fix incorrect echo options handling.
14688 Reported by: Yves Blusseau.
14690 * include/grub/command.h (grub_command_flags_t): New flags
14691 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
14692 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
14693 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
14695 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14697 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
14699 (GRUB_COMMAND_FLAG_MENU): Likewise.
14700 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14701 (GRUB_COMMAND_FLAG_TITLE): Removed.
14702 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14703 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
14704 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
14705 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
14706 (grub_command_flags_t): New enum. All users updated.
14708 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
14710 Fix solaris compilation.
14712 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
14713 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
14714 (grub-emu-list): Likewise.
14716 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14718 Remove deprecated root command.
14720 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
14723 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14725 * util/i386/pc/grub-setup.c: Merge this ...
14726 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
14727 * util/grub-setup.c: ... into this.
14728 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
14731 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14733 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
14736 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14738 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
14741 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14743 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14744 explicit root argument to set to prevent UUID to be interpreted as
14747 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14749 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
14751 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14753 Don't export grub_gate_a20.
14755 * grub-core/kern/i386/pc/init.c: Remove leftovers.
14756 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
14758 (grub_gate_a20): ... this. All users updated.
14759 * include/grub/i386/pc/init.h: Removed. All users updated.
14761 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14763 Create euro.pf2 which supports most European languages.
14765 * Makefile.am (grubdata_DATA): Add euro.pf2.
14766 (euro.pf2): New target.
14767 (CLEANFILES): Add euro.pf2.
14769 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14771 * configure.ac: Disable emu-usb by default to prevent inadvertent
14774 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14776 Disable usbserial on grub-emu since our libusb code isn't good enough
14779 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
14780 (usbserial_pl2303): Likewise.
14781 (usbserial_ftdi): Likewise.
14783 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14785 * include/grub/disk.h (grub_disk): Remove has_partitions.
14787 * disk/loopback.c (grub_loopback): Remove has_partitions.
14789 (options): Remove partitions. All users updated.
14790 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
14791 * util/i386/pc/grub-setup.c (setup): copy partition table only when
14792 actual partition table is found.
14794 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14796 Remove readability checks (too many false negatives).
14798 * util/grub-install.in: Remove readability checks.
14799 * util/grub-mkconfig.in: Likewise.
14800 * util/grub.d/10_hurd.in: Likewise.
14801 * util/grub.d/10_kfreebsd.in: Likewise.
14802 * util/grub.d/10_linux.in: Likewise.
14803 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
14806 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14808 Enable acpi shutdown on all ACPI platforms.
14810 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
14811 on coreboo, multiboot and EFI.
14812 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
14813 (grub_acpi_halt): Likewise.
14814 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
14815 (grub_cmd_halt): Don't call grub_acpi_halt directly.
14816 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
14817 * grub-core/lib/i386/halt.c (grub_halt)
14818 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
14820 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14822 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
14825 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14827 * grub-core/video/efi_gop.c: Fix over-80-chars line.
14828 * grub-core/video/efi_uga.c: Likewise.
14830 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14832 Filter devaliases and never open same device twice.
14834 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
14835 (last_ihandle): Likewise.
14836 (ofdisk_hash_ent): New member shortest.
14837 (ofdisk_hash_add): Add canonical path too.
14838 (scan): New function.
14839 (grub_ofdisk_iterate): Iterate over hashed entries.
14840 (compute_dev_path): Don't add :0.
14841 (grub_ofdisk_open): Don't really open the disk.
14842 (grub_ofdisk_close): Avoid closing unrelated disk.
14843 (grub_ofdisk_read): Implement reopen logic.
14844 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
14846 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
14849 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14853 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
14854 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
14855 right address. Add sparc64_ieee1275_ldflags.
14856 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
14857 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
14858 to grub_host_to_target_addr
14859 (load_image): Likewise.
14861 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14863 * grub-core/normal/completion.c (complete_file): Handle device
14865 Fix based on patch by Doug Nazar.
14867 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14869 grub-mknetdir script.
14871 * Makefile.util.def (grub-mknetdir): New module.
14872 * tests/util/grub-shell.in: Support boot=net
14873 * util/grub-mknetdir.in: New file.
14875 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14877 videoinfo on non-vbe.
14879 * grub-core/Makefile.core.def (vbeinfo): Removed.
14880 (vbetest): Removed.
14881 (videoinfo): New module.
14882 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
14883 * grub-core/commands/i386/pc/vbetest.c: Removed.
14884 * grub-core/commands/videoinfo.c: New file.
14885 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
14887 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
14889 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
14890 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
14891 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
14892 mode_number. New parameter mode. All users updated.
14893 (grub_video_gop_iterate): New function.
14894 (grub_video_efi_gop): New member iterate.
14895 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
14896 (grub_vbe_set_video_mode): Remove setting useless fields.
14897 (vbe2videoinfo): New function.
14898 (grub_video_vbe_iterate): Likewise.
14899 (grub_video_vbe_setup): Use vbe2videoinfo.
14900 (grub_video_vbe_print_adapter_specific_info): New function.
14901 (grub_video_vbe_adapter): New fields iterate and
14902 print_adapter_specific_info.
14903 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
14905 (grub_video_mode_info): New field mode_number.
14906 (grub_video_adapter): New fields iterate and
14907 print_adapter_specific_info.
14909 2010-09-13 Tristan Gingold <gingold@free.fr>
14910 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
14911 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14913 * grub-core/commands/efi/lsefisystab.c: New file.
14914 * grub-core/commands/efi/lssal.c: Likewise.
14915 * grub-core/Makefile.core.def (lsacpi): New module.
14916 (lsefisystab): Likewise.
14917 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
14918 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
14919 (grub_efi_sal_system_table): New struct.
14920 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
14921 (grub_efi_sal_system_table_memory_descriptor): Likewise.
14922 (grub_efi_sal_system_table_platform_features): Likewise.
14923 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
14924 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
14925 (grub_efi_sal_system_table_ap_wakeup): Likewise.
14926 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
14928 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14930 Support explicit user claim that a device is BIOS-visible.
14932 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
14933 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
14934 * grub-core/kern/emu/hostdisk.c
14935 (convert_system_partition_to_system_disk): Support mdX.
14936 (find_system_device): New parameter add. All users updated.
14937 (grub_util_biosdisk_is_present): New function.
14938 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
14941 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14943 Search hints support.
14945 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
14948 2010-09-13 Yves Blusseau <blusseau@zetam.org>
14950 Bash completion script for util commands
14952 * Makefile.am: Add util/bash-completion.d directory
14953 * configure.ac: Likewise.
14954 * util/bash-completion.d/Makefile.am: New file.
14955 * util/bash-completion.d/grub-completion.bash.in: Likewise.
14957 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14959 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
14960 (print_backlog): set backlog_ucs4 and backlog_glyphs.
14961 Reported by: Yves Blusseau.
14963 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14965 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
14966 partition size and offset.
14968 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14970 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
14972 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14974 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
14976 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14978 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
14979 (grub_xvasprintf): Likewise.
14981 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14983 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
14985 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14987 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
14988 args ending with NULL.
14990 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14992 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
14995 2010-09-11 Szymon Janc <szymon@janc.net.pl>
14997 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
14999 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15001 Shutdown using ACPI.
15003 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15004 * grub-core/commands/acpihalt.c: New file.
15005 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15006 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15007 (grub_acpi_halt): New proto.
15008 (GRUB_ACPI_SLP_EN): New const.
15009 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15010 (GRUB_ACPI_OPCODE_*): New enum.
15011 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15013 2010-09-11 Tristan Gingold <gingold@free.fr>
15014 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
15015 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15017 * commands/lsacpi.c: New file.
15018 * grub-core/Makefile.core.def (lsacpi): New module.
15019 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15020 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15021 (grub_acpi_madt_entry_header): New struct.
15022 (grub_acpi_madt): Likewise.
15023 (grub_acpi_madt_entry_interrupt_override): Likewise.
15024 (grub_acpi_madt_entry_sapic): Likewise.
15025 (grub_acpi_madt_entry_lsapic): Likewise.
15026 (grub_acpi_madt_entry_platform_int_source): Likewise.
15027 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15028 (PRIuGRUB_UINT32_T): Likewise.
15029 (PRIxGRUB_UINT64_T): Likewise.
15031 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15033 Implement loading palette on ieee1275_fb.
15035 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15036 (have_setcolors): Likewise.
15037 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15038 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15039 (grub_video_ieee1275_set_palette): Implement.
15041 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15042 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
15044 * util/grub-install.in (grub_partition): New variable.
15045 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15046 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15047 Fixes a bug reported by Yves Blusseau.
15049 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15053 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15054 =grub_cpu_flush_cache on all mips and not only yeeloong.
15055 * configure.ac (COND_mips): New conditional.
15056 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15058 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15059 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15060 [GRUB_LINKER_HAVE_INIT]: New function.
15061 (grub_emu_post_init): Likewise.
15062 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15063 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15064 * include/grub/cache.h (_mips): Include mips/cache.h.
15065 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15066 LVM and RAID prototypes.
15067 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15068 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15071 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15073 * util/grub-install.in: Don't try to verify core.img until after
15074 running grub-mkimage to create it.
15076 2010-09-10 Robert Millan <rmh@gnu.org>
15078 * util/grub.d/10_hurd.in: Add misc readability checks.
15079 * util/grub.d/10_kfreebsd.in: Likewise.
15080 * util/grub.d/10_linux.in: Likewise.
15082 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15084 * util/grub-install.in: ${imgext} won't be defined here until the
15085 install branch is merged. For the meantime, only verify core.img on
15086 i386-pc and sparc64-ieee1275 platforms.
15088 2010-09-10 Robert Millan <rmh@gnu.org>
15090 Solaris support in grub_find_zpool_from_dir(). Thanks
15091 Seth Goldberg for referring to getextmntent() facility.
15093 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15095 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15097 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15098 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15099 method for finding zpool name.
15101 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15103 grub-fstest needs the host and hostfs modules while other utilities
15104 actively require those modules to be absent, so grub-fstest needs
15105 its own initialisation and finalisation code.
15107 * Makefile.am (grub_fstest.pp): New target.
15108 (grub_fstest_init.lst): Likewise.
15109 (grub_fstest_init.c): Likewise.
15110 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15112 2010-09-10 Robert Millan <rmh@gnu.org>
15114 * configure.ac: Check for `struct statfs.f_fstypename' and
15115 `struct statfs.f_mntfromname'.
15117 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15118 kFreeBSD-specific code.
15120 2010-09-10 Robert Millan <rmh@gnu.org>
15122 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15123 on ZFS. Now non-main filesystems are supported as / too.
15125 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
15127 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15128 and grub-core/disk/host.c to ...
15129 (grub-fstest): ... here. Having the host disk implementation
15130 present confuses grub-probe and other utility programs.
15132 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15133 when writing to a file, not when writing to stdout.
15135 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15137 * tests/partmap_test.in: New test for partitions.
15138 * Makefile.util.def: Rules for new test.
15140 2010-09-09 Robert Millan <rmh@gnu.org>
15142 * util/grub-probe.c (probe): Fix a pair of unhandled error
15145 2010-09-09 Robert Millan <rmh@gnu.org>
15147 Basic Btrfs support (detection and UUID).
15149 * grub-core/fs/btrfs.c: New file.
15150 * Makefile.util.def (library): Register btrfs.c.
15151 * grub-core/Makefile.core.def: Likewise.
15153 2010-09-08 Robert Millan <rmh@gnu.org>
15155 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15156 with (optional) parameters to specify device and relative path.
15157 * util/grub-install.in: Use is_path_readable_by_grub() to
15158 verify readability of a few critical files.
15159 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15160 verify readability of grub.cfg.new.
15162 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15164 Split minix.mod into minix.mod and minix2.mod.
15166 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15167 * grub-core/Makefile.core.def (minix2): New module.
15168 * grub-core/fs/minix.c: Use definitions instead of runtime version
15170 * grub-core/fs/minix2.c: New file.
15172 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15174 Add new --boot-directory option to replace --root-directory
15176 * util/grub-install.in: Add new --boot-directory option
15177 * util/grub-reboot.in: Likewise.
15178 * util/grub-set-default.in: Likewise.
15180 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15182 * util/grub-mkconfig.in: Use new variable.
15184 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15186 * configure.ac: Define some useful variables.
15188 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15190 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15191 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15192 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15193 Use terminfo and don't use cursor-on/cursor-off unless it's known
15195 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15196 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15198 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
15200 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15201 starts with "(,", fill the drive containing the loaded image in
15202 between those two characters, but expect that a full partition
15203 specification including partition map names will follow.
15205 2010-09-08 Robert Millan <rmh@gnu.org>
15207 * configure.ac: Remove `--enable-grub-fstest' option.
15208 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15210 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15211 `grub-fstest' instead of `grub-probe' for readability verification.
15212 * util/grub-probe.c (probe): Remove readability verification kludge.
15214 2010-09-08 Robert Millan <rmh@gnu.org>
15216 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15217 initializing `GRUB_FS'.
15219 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15221 Not command (!) support to GRUB script.
15223 * tests/grub_script_not.in: New test.
15224 * Makefile.util.def: Rules for new test.
15226 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15227 ! command as a special case.
15228 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15230 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15232 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15235 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15237 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15239 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15241 * docs/grub.texi (Shell-like scripting): Documentation for break,
15242 continue, shift and return commands.
15244 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15246 Rename CD-ROM to cd on BIOS.
15248 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15250 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15252 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15254 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15255 * util/grub-probe.c (main): Likewise.
15256 * util/i386/pc/grub-setup.c (main): Likewise.
15257 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15258 Reported and debugged by: alexxy
15260 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15262 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15265 2010-09-05 Jo Shields <directhex@apebox.org>
15267 * util/grub.d/30_os-prober.in: Add missing classes.
15269 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15271 * docs/grub.texi (Theme file format): Document new position format.
15273 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15275 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15276 a table. Use @code instead of @verbatim.
15278 2010-09-05 Colin D Bennett <colin@gibibit.com>
15280 Gfxmenu documentation.
15282 * docs/grub.texi (Theme file format): New chapter.
15284 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15286 * grub-core/Makefile.core.def (xzio): New module.
15287 * grub-core/io/xzio.c: New file.
15288 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15289 * grub-core/lib/xzembed/xz_config.h: Likewise.
15290 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15291 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15292 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15293 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15294 * grub-core/lib/xzembed/xz_private.h: Likewise.
15295 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15296 * include/grub/file.h (grub_file_filter_id): New compression filter
15297 GRUB_FILE_FILTER_XZIO.
15299 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15301 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15302 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15305 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15307 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15308 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15310 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15312 Uncompressed checksum support.
15314 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15315 (check_list): New parameter uncompress.
15316 (grub_cmd_hashsum): Handle --uncompress.
15318 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15320 Reintroduce testload.
15322 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15324 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15325 (GRUB_MOD_INIT): New function.
15326 (GRUB_MOD_FINI): Likewise.
15327 * grub-core/Makefile.core.def (testload): New module.
15329 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15331 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15332 (uint8_t): New type.
15333 (uint16_t): Likewise.
15334 (uint32_t): Likewise.
15335 (uint64_t): Likewise.
15337 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15339 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15341 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15343 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15345 (grub_gzfile_open): Removed. All users updated.
15346 (GRUB_MOD_INIT): New function.
15347 (GRUB_MOD_FINI): Likewise.
15348 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15349 (grub_file_filters_enabled): Likewise.
15350 (grub_file_open): Handle filters.
15351 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15352 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15353 * include/grub/file.h (grub_file_filter_id_t): New type.
15354 (grub_file_filter_t): Likewise.
15355 (grub_file_filters_all): New extern variable.
15356 (grub_file_filters_enabled): Likewise.
15357 (grub_file_filter_register): New inline function.
15358 (grub_file_filter_unregister): Likewise.
15359 (grub_file_filter_disable): Likewise.
15360 (grub_file_filter_disable_compression): Likewise.
15361 * include/grub/gzio.h: Removed.
15363 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15365 Filename expansion support for wildcards in GRUB script.
15367 * tests/grub_script_expansion.in: New test.
15368 * Makefile.util.def: Rule for new test.
15370 * grub-core/commands/wildcard.c: New file, implements filename
15371 expansion support for GRUB script.
15372 * grub-core/Makefile.core.def: Rule update for regexp.mod.
15373 * grub-core/script/argv.c: Cosmetic changes.
15374 * grub-core/script/execute.c (grub_script_arglist_to_argv):
15375 Refactored to perform wildcard expansion on arguments.
15376 * include/grub/script_sh.h (grub_script_wildcard_translator): New
15379 * tests/util/grub-shell.in: Fix quoting for read input.
15381 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15383 Support for updating environment variables with matched substrings
15386 * tests/grub_cmd_regexp.in: New test.
15387 * Makefile.util.def: Rule for new test.
15389 * grub-core/commands/regexp.c: New option -s to update environment
15390 variables with regexp matches.
15392 2010-09-04 Szymon Janc <szymon@janc.net.pl>
15394 * include/grub/file.h (grub_file): New member not_easly_seekable.
15395 (grub_file_seekable): New inline function.
15396 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
15398 (grub_gzio_open): Set not_easly_seekable.
15399 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
15400 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
15402 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15404 Support for options to appear multiple times on cmdline.
15406 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
15407 * grub-core/commands/extcmd.c: Support for repeatable option.
15408 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
15409 repeatable option support.
15411 Refactor menuentry into a regular command.
15413 * grub-core/commands/menuentry.c: New file, menuentry command
15415 * grub-core/Makefile.core.def: Rule update for normal.mod.
15416 * grub-core/normal/main.c: Moved menuentry creation to
15417 grub-core/commands/menuentry.c.
15418 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
15419 (grub_menu_execute_entry_real): Removed.
15420 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
15422 (grub_script_execute_menuentry): Removed.
15423 * grub-core/script/parser.y (menuentry): Removed.
15424 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
15425 * grub-core/script/yylex.l (menuentry): Removed.
15426 * include/grub/menu.h (grub_menu_init): New prototype.
15427 (grub_menu_fini): New prototype.
15428 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
15429 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
15430 (grub_script_execute_sourcecode): New prototype.
15432 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15434 "return" command for GRUB script functions.
15436 * tests/grub_script_return.in: New test.
15437 * Makefile.util.def: Rules for new test.
15439 * grub-core/script/execute.c (grub_script_return): New function.
15440 * grub-core/script/main.c: Register/unregister return commaond.
15441 * include/grub/script_sh.h (grub_script_return): New prototype.
15443 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15445 "setparams" command to update positional parameters.
15447 * tests/grub_script_setparams.in: New test.
15448 * Makefile.util.def: Rules for new test.
15450 * grub-core/script/argv.c (grub_script_argv_make): New function.
15451 * grub-core/script/execute.c (replace_scope): New function.
15452 (grub_script_setparams): New function.
15453 * grub-core/script/lexer.c: Remove unused variables.
15454 * grub-core/script/main.c: Register/unregister setparams command.
15455 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
15456 (grub_script_setparams): New prototype.
15458 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15460 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
15463 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15465 Support for passing block of commands as an argument to extcmds.
15467 * Makefile.util.def: Rules for new test.
15468 * tests/grub_script_blockarg.in: New test.
15469 * grub-core/tests/test_blockarg.c: New file, block argument
15470 command used in the test.
15472 * include/grub/extcmd.h (grub_extcmd_context): New struct.
15473 (grub_register_extcmd_prio): New function prototype.
15474 (grub_extcmd_dispatcher): New function prototype.
15475 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
15477 * include/grub/script_sh.h (struct grub_script): New members
15478 `children', `next_siblings' and `refcnt' for block arguments and
15479 reference counting.
15480 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
15481 (grub_script_arg): New member `script' for block argument.
15482 (grub_script_argv): New member `script' for block argument.
15483 (grub_parser_param): New member `scripts' for block argument.
15484 (grub_script_mem_free): New extern function prototype.
15485 (grub_script_ref): New function prototype.
15486 (grub_script_unref): New function prototype.
15488 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
15489 extcmd form to support block arguments.
15490 * grub-core/script/argv.c: Block arguments support.
15491 * grub-core/script/execute.c: Likewise.
15492 * grub-core/script/lexer.c: Likewise.
15493 * grub-core/script/main.c: Likewise.
15494 * grub-core/script/script.c: Likewise.
15495 * grub-core/script/parser.y: Likewise. New `block' and `block0'
15498 * grub-core/commands/acpi.c: Update extcmd implementations with
15499 grub_extcmd_context_t.
15500 * grub-core/commands/cat.c: Likewise.
15501 * grub-core/commands/echo.c: Likewise.
15502 * grub-core/commands/extcmd.c: Likewise.
15503 * grub-core/commands/hashsum.c: Likewise.
15504 * grub-core/commands/hdparm.c: Likewise.
15505 * grub-core/commands/help.c: Likewise.
15506 * grub-core/commands/hexdump.c: Likewise.
15507 * grub-core/commands/i386/cpuid.c: Likewise.
15508 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15509 * grub-core/commands/i386/pc/halt.c: Likewise.
15510 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15511 * grub-core/commands/iorw.c: Likewise.
15512 * grub-core/commands/keystatus.c: Likewise.
15513 * grub-core/commands/loadenv.c: Likewise.
15514 * grub-core/commands/ls.c: Likewise.
15515 * grub-core/commands/lspci.c: Likewise.
15516 * grub-core/commands/memrw.c: Likewise.
15517 * grub-core/commands/probe.c: Likewise.
15518 * grub-core/commands/search_wrap.c: Likewise.
15519 * grub-core/commands/setpci.c: Likewise.
15520 * grub-core/commands/sleep.c: Likewise.
15521 * grub-core/disk/loopback.c: Likewise.
15522 * grub-core/hello/hello.c: Likewise.
15523 * grub-core/loader/i386/bsd.c: Likewise.
15524 * grub-core/loader/xnu.c: Likewise.
15525 * grub-core/term/gfxterm.c: Likewise.
15526 * grub-core/term/serial.c: Likewise.
15527 * grub-core/tests/lib/functional_test.c: Likewise.
15529 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15531 Multi-line quoted strings support.
15533 * grub-core/script/lexer.c (append_newline): Removed.
15534 (grub_script_lexer_yywrap): Refactored.
15535 (grub_script_lexer_init): Refactored.
15536 * grub-core/script/yylex.l (yywrap): New function.
15537 (grub_lexer_resplit): New function.
15538 (grub_lexer_unput): New function.
15539 * include/grub/script_sh.h (grub_lexer_param): New members, unput
15541 * tests/grub_script_echo1.in: Added few more testcases.
15543 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15545 * grub-core/kern/misc.c: Don't add abort alias in utils.
15546 Reported by: echoline.
15548 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
15550 Add missing files into "make dist" tarball for other platforms.
15552 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
15553 * conf/Makefile.common (dist_noinst_DATA): New variable.
15554 * conf/Makefile.extra-dist: Added missing make dist files.
15555 * grub-core/Makefile.core.def: Likewise.
15557 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15559 Compress grub_prefix.
15561 * grub-core/boot/i386/pc/lnxboot.S: Use
15562 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
15563 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
15564 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
15565 GRUB_MACHINE_PREFIX_END. All users updated.
15566 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
15567 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
15569 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15570 * util/grub-mkimage.c (image_target_desc): Change data_end to
15571 prefix_end. All users updated.
15573 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15575 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
15577 (grub_openbsd_boot): Likewise.
15578 (grub_netbsd_boot): Likewise.
15579 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
15580 (grub_xnu_boot): Likewise.
15582 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15584 * configure.ac: Clean LIBS variable after tests.
15586 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
15588 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
15590 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15592 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
15593 echo if libdevmapper will be used.
15595 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
15597 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
15598 constant for the same file.
15600 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15602 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
15604 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
15606 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
15609 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
15611 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
15612 required by the boot protocol.
15614 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
15615 ebp and edi members.
15616 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
15617 state.ebp and state.edi.
15618 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
15619 %ebp and %edi according to grub_relocator32_ebp and
15620 grub_relocator32_edi respectively.
15621 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
15624 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15626 Add i386-pc-pxe image target.
15628 * util/grub-mkimage.c (image_target_desc): New enum value
15630 (image_targets): New target i386-pc-pxe.
15631 (generate_image): Handle i386-pc-pxe image.
15633 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15637 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
15638 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
15640 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
15641 (grub_pxe_pxenv): Correct type.
15643 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
15645 * NEWS: Document most of the important changes since 1.98.
15647 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
15649 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
15650 generated manual page) a little.
15652 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
15654 * docs/grub.texi: Add myself as an author.
15656 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15658 * Makefile.util.def (libgrub.a): Add missing sunpc.
15659 Reported by: Seth Goldberg.
15661 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15663 Interrupt wrapping and code simplifications.
15665 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
15666 x86_noieee1275 which are functionaly equivalent in this case.
15667 (grub-install): Make source on each platform explicit. Enable on
15669 * gentpl.py (x86_efi_pc): Removed group.
15670 (x86_noefi): Likewise.
15671 (i386_noefi): Likewise.
15672 (x86_noieee1275): Likewise.
15673 (i386_noieee1275): Likewise.
15674 (i386_noefi_noieee1275): Likewise.
15675 (i386_pc_qemu_coreboot): Likewise.
15676 (i386_coreboot_multiboot): Likewise.
15677 (i386_pc_coreboot_multiboot_qemu): Likewise.
15678 (x86_noefi_mips): Likewise.
15679 (noieee1275): Likewise.
15680 (ieee1275_mips): Likewise.
15681 (noemu_noieee1275): Likewise.
15684 (videoinkernel): Likewise.
15685 (videomodules): Likewise.
15686 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
15687 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
15688 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
15689 include/grub/loader.h, include/grub/msdos_partition.h,
15690 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
15691 include/grub/machine/console.h, include/grub/machine/vga.h,
15692 include/grub/machine/vbe.h, include/grub/machine/init.h,
15693 include/grub/machine/kernel.h, include/grub/cpu/time.h,
15694 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
15695 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
15696 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
15697 * grub-core/Makefile.core.def (kernel): Explicit the source for
15698 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
15699 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
15700 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
15701 Use videoinkernel tag.
15702 (usb): Enable on all usb.
15703 (usbserial_common): Likewise.
15704 (usbserial_pl2303): Likewise.
15705 (usbserial_ftdi): Likewise.
15706 (uhci): Enable on all x86.
15707 (ohci): Enable on all pci.
15708 (cmostest): Enable on all CMOS.
15709 (acpi): Include commands/acpi.c on all platforms.
15710 (halt): Add relevant lib/*/halt.c.
15711 (hdparm): Enable on all pci.
15713 (usbtest): Enable on all usb.
15714 (ata): Enable on all pci.
15715 (ata_pthru): Likewise.
15716 (usbms): Enable on all usb.
15717 (usb_keyboard): Likewise.
15718 (font): Use tag videomodules.
15720 (datetime): Use tag cmos. Enable on all noemu.
15721 (mmap): Use tags common and x86.
15722 (gfxterm): Use tag videomodules.
15723 (bitmap): Likewise.
15724 (bitmap_scale): Likewise.
15725 (video_fb): Likewise.
15727 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
15728 adjust padding accordingly. All users updated.
15729 (grub_ohci_transaction): Fix bad format specification.
15730 (GRUB_MOD_INIT): Add asserts for struct size.
15731 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
15732 (grub_alloc_td): Likewise.
15733 (grub_free_queue): Likewise.
15734 (grub_uhci_transfer): Likewise.
15735 (grub_uhci_transaction): Fix bad format specification.
15736 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15737 (grub_usb_bulk_readwrite): Likewise.
15738 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
15739 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
15741 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
15743 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
15744 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
15745 Transformed into C.
15746 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
15747 Moved from here ...
15748 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
15749 ... here. Transformed into C. Made static.
15750 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
15751 Moved from here ...
15752 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
15753 ... here. Transformed into C. Made static.
15754 * grub-core/kern/i386/pc/startup.S
15755 (grub_biosdisk_check_int13_extensions): Moved from here ...
15756 * grub-core/disk/i386/pc/biosdisk.c
15757 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
15759 * grub-core/kern/i386/pc/startup.S
15760 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
15761 * grub-core/disk/i386/pc/biosdisk.c
15762 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
15763 Transformed into C. Made static.
15764 * grub-core/kern/i386/pc/startup.S
15765 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
15766 * grub-core/disk/i386/pc/biosdisk.c
15767 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
15768 Transformed into C. Made static.
15769 * grub-core/kern/i386/pc/startup.S
15770 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
15771 * grub-core/disk/i386/pc/biosdisk.c
15772 (grub_biosdisk_get_diskinfo_standard): ... here.
15773 Transformed into C. Made static.
15774 * grub-core/kern/i386/pc/startup.S
15775 (grub_biosdisk_get_num_floppies): Moved from here ...
15776 * grub-core/disk/i386/pc/biosdisk.c
15777 (grub_biosdisk_get_num_floppies): ... here.
15778 Transformed into C. Made static.
15779 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
15781 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
15782 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
15783 Transformed into C. Made static.
15784 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
15785 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
15786 Transformed into C. Made static.
15787 * grub-core/kern/i386/ieee1275/init.c: Removed.
15788 * grub-core/kern/i386/misc.S: Likewise.
15789 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
15790 Splitted from here ...
15791 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
15792 Transformed into C. Made static. All users updated.
15793 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
15794 Transformed into C. Made static. All users updated.
15795 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
15797 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
15798 Transformed into C. Made static. All users updated.
15799 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
15801 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
15802 Transformed into C. Made static. All users updated.
15803 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
15804 Removed (replaced by C version).
15805 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
15807 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
15808 Transformed into C. Made static.
15809 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
15811 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
15812 ... here. Transformed into C.
15813 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
15815 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
15816 ... here. Transformed into C.
15817 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
15819 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
15820 ... here. Transformed into C. Made static.
15821 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
15823 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
15824 ... here. Transformed into C.
15825 * grub-core/kern/i386/pc/startup.S
15826 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
15827 * grub-core/video/i386/pc/vbe.c
15828 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
15829 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
15831 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
15832 ... here. Transformed into C.
15833 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
15835 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
15836 ... here. Transformed into C.
15837 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
15839 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
15840 ... here. Transformed into C.
15841 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
15843 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
15844 ... here. Transformed into C.
15845 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
15847 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
15848 ... here. Transformed into C. Made static.
15849 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
15851 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
15852 ... here. Transformed into C. Made static.
15853 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
15855 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
15856 ... here. Transformed into C. Made static.
15857 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
15858 pxe_rm_entry as third argument.
15859 (grub_bios_interrupt): New function.
15860 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
15861 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
15862 of calling grub_stop.
15863 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
15864 * grub-core/lib/efi/halt.c (grub_halt): ...here.
15865 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
15866 * grub-core/lib/emu/halt.c (grub_halt): ... here.
15867 * grub-core/lib/i386/halt.c: Moved from here ...
15868 * grub-core/lib/i386/halt.c: ... here.
15869 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
15870 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
15871 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
15873 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
15874 * include/grub/i386/coreboot/init.h: Removed.
15875 * include/grub/i386/multiboot/init.h: Likewise.
15876 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
15877 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
15878 * include/grub/i386/pc/int.h: New file.
15879 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
15880 (grub_pxe_scan): Removed.
15881 (grub_pxe_call): Update prototype.
15882 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
15884 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
15885 * include/grub/i386/qemu/init.h: Removed.
15886 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
15888 (grub_halt): Likewise.
15889 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
15890 (grub_reboot): Likewise.
15891 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
15892 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
15893 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
15895 2010-08-30 Robert Millan <rmh@gnu.org>
15897 * NEWS: Document addition of ZFS support in `grub-install' and
15900 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
15902 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
15905 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15907 Remove leftover embedding of font objects.
15909 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15910 * util/grub-install.in (font): Removed.
15911 * util/grub-mkimage.c (generate_image): Remove font support. All users
15914 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15916 Remove leftover embedding of font objects.
15918 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15919 * util/grub-install.in (font): Removed.
15920 * util/grub-mkimage.c (generate_image): Remove font support. All users
15923 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15925 * docs/grub.texi (Network): Fix reference to pxe_blksize.
15926 Reported by: Ian Turner
15928 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15930 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
15931 timeout to avoid indefinite boot stalling.
15933 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15935 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
15936 (grub_env_write_color_highlight): Likewise.
15938 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15940 * grub-core/normal/term.c (print_more): Return to normal and not
15941 to standard state after printing "---MORE---".
15943 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15945 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
15946 Mask out the bit 0x80 since it has other meaning that specifiing color.
15948 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15950 New relocator. Allows for more kernel support and more straightforward
15953 * Makefile.am (BOOTTARGET): New variable.
15954 (QEMU32): Likewise.
15955 (linux.init.x86_64): New target.
15956 (linux.init.i386): Likewise.
15957 (multiboot.elf): Likewise.
15958 (kfreebsd.elf): Likewise.
15959 (kfreebsd.aout): Likewise.
15960 (pc-chainloader.elf): Likewise.
15961 (pc-chainloader.bin): Likewise.
15962 (ntldr.elf): Likewise.
15963 (ntldr.bin): Likewise.
15964 (multiboot2.elf): Likewise.
15965 (kfreebsd.init.x86_64): Likewise.
15966 (kfreebsd.init.i386): Likewise.
15967 (knetbsd.init.i386): Likewise.
15968 (kopenbsd.init.i386): Likewise.
15969 (knetbsd.init.x86_64): Likewise.
15970 (kopenbsd.init.x86_64): Likewise.
15971 (linux-initramfs.i386): Likewise.
15972 (linux-initramfs.x86_64): Likewise.
15973 (kfreebsd-mfsroot.i386.img): Likewise.
15974 (knetbsd.image.i386): Likewise.
15975 (kopenbsd.image.i386): Likewise.
15976 (kopenbsd.image.x86_64): Likewise.
15977 (knetbsd.miniroot-image.i386.img): Likewise.
15978 (kfreebsd-mfsroot.x86_64.img): Likewise.
15979 (knetbsd.image.x86_64): Likewise.
15980 (knetbsd.miniroot-image.x86_64.img): Likewise.
15981 (kfreebsd-mfsroot.i386.gz): Likewise.
15982 (bootcheck-kfreebsd-i386): Likewise.
15983 (kfreebsd-mfsroot.x86_64.gz): Likewise.
15984 (bootcheck-kfreebsd-x86_64): Likewise.
15985 (knetbsd.miniroot-image.i386.gz): Likewise.
15986 (bootcheck-knetbsd-i386): Likewise.
15987 (bootcheck-kopenbsd-i386): Likewise.
15988 (bootcheck-kopenbsd-x86_64): Likewise.
15989 (knetbsd.miniroot-image.x86_64.gz): Likewise.
15990 (bootcheck-knetbsd-x86_64): Likewise.
15991 (bootcheck-linux-i386): Likewise.
15992 (bootcheck-linux-x86_64): Likewise.
15993 (bootcheck-linux16-i386): Likewise.
15994 (bootcheck-linux16-x86_64): Likewise.
15995 (bootcheck-multiboot): Likewise.
15996 (bootcheck-multiboot2): Likewise.
15997 (bootcheck-kfreebsd-aout): Likewise.
15998 (bootcheck-pc-chainloader): Likewise.
15999 (bootcheck-ntldr): Likewise.
16000 (CLEANFILES): Add new targets.
16001 (BOOTCHECKS): New variable.
16002 (.PHONY): Add bootchecks.
16003 (SUCCESSFUL_BOOT_STRING): New variable.
16004 (BOOTCHECK_TIMEOUT): Likewise.
16005 (bootcheck): New target
16006 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16007 * configure.ac: Correct efiemu excuse.
16008 * docs/grub.texi (Supported kernels): New chapter.
16009 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16010 include/grub/mm_private.h. Simplify inclusion of
16011 include/grub/boot.h, include/grub/loader.h
16012 and include/grub/msdos_partition.h
16013 (KERNEL_HEADER_FILES) [i386_coreboot]:
16014 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16015 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16016 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16017 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16018 include/grub/machine/loader.h.
16019 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16020 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16022 (pci.mod): Enable on i386-multiboot.
16023 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16024 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16026 (relocator.mod): Rewritten.
16027 (aout.mod): Enable on all x86.
16028 (bsd.mod): Likewise.
16029 (ntldr.mod): New module.
16030 (linux.mod): Use loader/i386/linux.c on all x86.
16031 (xnu.mod): Enable on all x86.
16032 (vga_text.mod): disable on EFI and QEMU.
16033 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16034 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16035 * grub-core/efiemu/loadcore.c: Likewise.
16036 * grub-core/efiemu/main.c: Likewise.
16037 (grub_efiemu_exit_boot_services): Removed.
16038 (grub_efiemu_finish_boot_services): Likewise.
16039 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16041 * grub-core/efiemu/i386/nocfgtables.c: New file.
16042 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16043 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16044 (grub_efi_finish_boot_services): Moved from here ...
16045 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16046 Fille finish memory map and related data.
16047 (finish_mmap_buf): New variable.
16048 (grub_efi_uintn_t finish_mmap_size): Likewise.
16049 (grub_efi_uintn_t finish_key): Likewise.
16050 (grub_efi_uintn_t finish_desc_size): Likewise.
16051 (grub_efi_uint32_t finish_desc_version): Likewise.
16052 (grub_efi_is_finished): Likewise.
16053 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16055 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16056 (grub_elf64_phdr_iterate): Likewise.
16057 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16058 (grub_os_area_size): Likewise.
16059 (grub_machine_init): Don't reserve os area.
16060 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16061 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16062 * grub-core/kern/i386/loader.S: Removed.
16063 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16064 (grub_os_area_size): Likewise.
16065 (grub_machine_init): Don't reserve os area.
16066 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16067 Don't call grub_dl_unload_all.
16068 Don't include loader.S.
16069 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16070 Declare the memory after _end as available.
16071 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
16072 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
16073 (GRUB_MM_ALLOC_MAGIC): Moved from here...
16074 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16075 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16076 * include/grub/mm_private.h (grub_mm_header): ... here.
16077 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16078 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
16079 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16080 (grub_mm_region): ..here. Removed addr. Added pre_size.
16082 * grub-core/kern/mm.c (base): Renamed to ...
16083 (grub_mm_base): ... this. Made global.
16084 (grub_real_malloc): Alloc from end of region.
16085 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16086 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16087 * grub-core/kern/powerpc/cache_flush.S: ... here.
16088 * grub-core/lib/efi/relocator.c: New file.
16089 * grub-core/lib/i386/relocator.c: Rewritten.
16090 * grub-core/lib/i386/relocator16.S: New file.
16091 * grub-core/lib/i386/relocator32.S: Likewise.
16092 * grub-core/lib/i386/relocator64.S: Likewise.
16093 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16094 * grub-core/lib/i386/relocator_common.S: New file.
16095 * grub-core/lib/ieee1275/relocator.c: Likewise.
16096 * grub-core/lib/mips/relocator.c: Rewritten.
16097 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16098 stylistic adjustments.
16099 * grub-core/lib/powerpc/relocator.c: New file.
16100 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16101 * grub-core/lib/relocator.c: Rewritten.
16102 * grub-core/lib/x86_64/relocator_asm.S: New file.
16103 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16104 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16105 (bsd_tag): New struct.
16106 (tags): New variable.
16107 (tags_last): Likewise.
16108 (netbsd_module): New struct.
16109 (netbsd_mods): New variable.
16110 (netbsd_mods_last): Likewise.
16111 (openbsd_opts): New parameter "serial".
16112 (OPENBSD_SERIAL_ARG): New definition.
16113 (netbsd_opts): New parameter "serial".
16114 (NETBSD_SERIAL_ARG): New definition.
16115 (grub_freebsd_add_meta): Reorganised into ...
16116 (grub_bsd_add_meta): ...this. All users updated.
16117 (grub_freebsd_add_mmap): Reorganised into ...
16118 (generate_e820_mmap): ...this...
16119 (grub_bsd_add_mmap): ...and this. All users updated.
16120 (grub_freebsd_list_modules): Use tags.
16121 (grub_netbsd_add_meta_module): New function.
16122 (grub_netbsd_list_modules): Likewise.
16123 (grub_freebsd_boot): Use relocator and finish EFI.
16124 (grub_openbsd_boot): Likewise.
16125 (grub_netbsd_setup_video): New function.
16126 (grub_netbsd_add_modules): Likewise.
16127 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16129 (grub_bsd_unload): Unload tags.
16130 (grub_bsd_load_aout): Use relocator.
16131 (grub_bsd_elf32_size_hook): New function.
16132 (grub_bsd_elf32_hook): Use relocator.
16133 (grub_bsd_elf64_size_hook): New function.
16134 (grub_bsd_elf64_hook): Use relocator.
16135 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16136 (grub_bsd_load): Zero-out openbsd_ramdisk.
16137 (grub_bsd_load): Use relocator.
16138 (grub_cmd_openbsd): Support serial.
16139 (grub_cmd_netbsd): Support modules.
16140 (grub_cmd_freebsd_module): Use relocator.
16141 (grub_netbsd_module_load): New function.
16142 (grub_cmd_netbsd_module): Likewise.
16143 (grub_cmd_openbsd_ramdisk): Likewise.
16144 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16146 (GRUB_MOD_FINI): Unregister new commands.
16147 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16148 (grub_freebsd_load_elfmodule_obj): Use relocator.
16149 (grub_freebsd_load_elfmodule): Likewise.
16150 (grub_freebsd_load_elf_meta): Likewise.
16151 (grub_netbsd_load_elf_meta): New function.
16152 (grub_openbsd_find_ramdisk): Likewise.
16153 * grub-core/loader/i386/bsd_helper.S: Removed.
16154 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16155 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16156 * grub-core/loader/i386/efi/linux.c: Likewise.
16157 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16158 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16159 (DEFAULT_VIDEO_MODE): Likewise.
16160 (real_mode_target): New variable.
16161 (prot_mode_target): Likewise.
16162 (initrd_mem_target): Likewise.
16163 (relocator): Likewise.
16164 (efi_mmap_buf): Likewise.
16165 (efi_mmap_size): Likewise.
16166 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16167 (free_pages): Use relocator.
16168 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16169 (grub_linux_setup_video): Return error.
16170 (grub_linux_trampoline_start): Removed.
16171 (grub_linux_trampoline_end): Likewise.
16172 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16173 andd video parameters depending on firmware.
16174 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16175 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16176 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16177 (grub_cmd_initrd): Use relocator.
16178 * grub-core/loader/i386/linux_trampoline.S: Removed.
16179 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16180 (elf_sec_entsize): Likewise.
16181 (elf_sec_shstrndx): Likewise.
16182 (elf_sections): Likewise.
16183 (grub_multiboot_load): Use relocator.
16184 (grub_multiboot_get_mbi_size): Account for sections.
16185 (grub_multiboot_make_mbi): Use relocator and support sections.
16186 (grub_multiboot_add_elfsyms): New function.
16187 (grub_multiboot_free_mbi): Free sections.
16188 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16189 (grub_linux_real_target): Likewise.
16190 (grub_linux_real_chunk): Likewise.
16191 (grub_linux16_prot_size): Likewise.
16192 (grub_linux16_boot): Use relocator.
16193 (grub_linux_unload): Unload relocator.
16194 (grub_cmd_linux): Use relocator.
16195 (grub_cmd_initrd): Likewise.
16196 * grub-core/loader/i386/pc/ntldr.c: New file.
16197 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16198 Don't try to guess CPU frequency.
16199 (grub_xnu_set_video): Stretch bitmap.
16200 (grub_xnu_boot): Use relocator.
16201 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16202 (grub_linux_unload): Free relocator.
16203 (grub_linux_load32): Use relocator.
16204 (grub_linux_load64): Likewise.
16205 (grub_cmd_initrd): Likewise.
16206 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16207 (grub_multiboot_unload): Unload relocator.
16208 (grub_cmd_multiboot): Use relocator.
16209 (grub_cmd_module): Likewise.
16210 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16211 Use relocator and support sections.
16212 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16213 (elf_sec_entsize): Likewise.
16214 (elf_sec_shstrndx): Likewise.
16215 (elf_sections): Likewise.
16216 (grub_multiboot_load): Use relocator.
16217 (grub_multiboot_get_mbi_size): Account for sections.
16218 (grub_multiboot_make_mbi): Use relocator and support sections.
16219 (grub_multiboot_add_elfsyms): New function.
16220 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16221 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16222 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16223 Prototype changed. All users updated.
16224 (grub_xnu_align_heap): Simplified.
16225 (grub_xnu_writetree_toheap): Likewise.
16226 (grub_xnu_unload): Unload relocator.
16227 (grub_cmd_xnu_kernel): Use relocator.
16228 (grub_cmd_xnu_kernel64): Likewise.
16229 (grub_xnu_register_memory): Simplified.
16230 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
16231 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16233 (grub_console_checkkey): Likewise.
16234 (grub_console_getkey): Likewise.
16235 (grub_console_getwh): Likewise.
16236 (grub_console_getxy): Likewise.
16237 (grub_console_gotoxy): Likewise.
16238 (grub_console_cls): Likewise.
16239 (grub_console_setcolorstate): Likewise.
16240 (grub_console_setcursor): Likewise.
16241 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16242 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16243 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16244 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16245 * grub-core/tests/boot/kernel-8086.S: Likewise.
16246 * grub-core/tests/boot/kernel-i386.S: Likewise.
16247 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16248 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16249 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16250 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16251 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16252 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16253 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16254 * grub-core/tests/boot/linux.cfg: Likewise.
16255 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16256 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16257 * grub-core/tests/boot/linux16.cfg: Likewise.
16258 * grub-core/tests/boot/multiboot.cfg: Likewise.
16259 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16260 * grub-core/tests/boot/ntldr.cfg: Likewise.
16261 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16262 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16263 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16265 * include/grub/dl.h (grub_dl_unload_all): Removed.
16266 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16267 (grub_efi_finish_boot_services): Change prototype.
16268 (grub_efi_is_finished): New variable.
16269 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16271 (grub_efiemu_finish_boot_services): Removed.
16272 (grub_machine_efiemu_init_tables): New prototype.
16273 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16274 (grub_elf64_phdr_iterate): Likewise.
16275 * include/grub/i386/bsd.h: Include relocator.h.
16276 (freebsd_tag_header): New struct.
16277 (grub_openbsd_bios_mmap): Removed.
16278 (grub_unix_real_boot): Removed.
16279 (grub_freebsd_load_elfmodule32): Changed prototype.
16280 (grub_freebsd_load_elfmodule_obj64): Likewise.
16281 (grub_freebsd_load_elf_meta32): Likewise.
16282 (grub_freebsd_load_elf_meta64): Likewise.
16283 (grub_freebsd_add_meta): Removed.
16284 (grub_netbsd_load_elf_meta32): New prototype.
16285 (grub_netbsd_load_elf_meta64): Likewise.
16286 (grub_bsd_add_meta): Likewise.
16287 (grub_openbsd_ramdisk_descriptor): New struct.
16288 (grub_openbsd_find_ramdisk32): New prototype.
16289 (grub_openbsd_find_ramdisk64): Likewise.
16290 * include/grub/i386/coreboot/loader.h: Removed.
16291 * include/grub/i386/efi/loader.h: Likewise.
16292 * include/grub/i386/ieee1275/loader.h: Likewise.
16293 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16295 * include/grub/i386/loader.h: Removed.
16296 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16298 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16299 (grub_phys_addr_t): New type.
16300 (grub_vtop): New inline function.
16301 (grub_map_memory): Likewise.
16302 (grub_unmap_memory): Likewise.
16303 * include/grub/i386/multiboot/loader.h: Removed.
16304 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16305 (NETBSD_BTINFO_CONSOLE): New definition.
16306 (NETBSD_BTINFO_SYMTAB): Likewise.
16307 (NETBSD_BTINFO_MODULES): Likewise.
16308 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16309 (grub_netbsd_bootinfo): New struct.
16310 (grub_netbsd_btinfo_common): Use explicit bitsize.
16311 (grub_netbsd_btinfo_mmap_entry): Removed.
16312 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16313 (grub_netbsd_btinfo_bootdisk): New struct.
16314 (grub_netbsd_btinfo_symtab): Likewise.
16315 (grub_netbsd_btinfo_serial): Likewise.
16316 (grub_netbsd_btinfo_modules): Likewise.
16317 (grub_netbsd_btinfo_framebuf): Likewise.
16318 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16319 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16321 (grub_openbsd_bootargs): Use explicit bitsize.
16322 (grub_openbsd_bootarg_console): New struct.
16323 (GRUB_OPENBSD_COM_MAJOR): New definition.
16324 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16325 * include/grub/i386/pc/efiemu.h: Removed.
16326 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16327 * include/grub/i386/qemu/loader.h: Removed.
16328 * include/grub/i386/relocator.h: Rewritten.
16329 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16330 * include/grub/mips/memory.h: New file.
16331 * include/grub/mips/multiboot.h: Rewritten.
16332 * include/grub/mips/relocator.h: Rewritten.
16333 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16334 (grub_vtop): New function.
16335 (grub_map_memory): Likewise.
16336 (grub_unmap_memory): Likewise.
16337 * include/grub/misc.h (ALIGN_DOWN): New definition.
16338 * include/grub/mm.h (grub_mm_check_real): New proto.
16339 (GRUB_MM_CHECK): New definition.
16340 * include/grub/mm_private.h: New file.
16341 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16342 (grub_multiboot_get_mbi_size): Removed.
16343 (grub_multiboot_make_mbi): Change prottype.
16344 (grub_multiboot_set_accepts_video): New proto.
16345 (grub_multiboot_add_elfsyms): Likewise.
16346 (grub_multiboot_payload_eip): New variable.
16347 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16349 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16351 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16352 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16353 * include/grub/powerpc/ieee1275/loader.h: Removed.
16354 * include/grub/powerpc/memory.h: New file.
16355 * include/grub/powerpc/relocator.h: Likewise.
16356 * include/grub/relocator.h: Likewise.
16357 * include/grub/relocator_private.h: Likewise.
16358 * include/grub/sparc64/ieee1275/loader.h: Removed.
16359 * include/grub/x86_64/memory.h: New file.
16360 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
16361 (grub_xnu_heap_malloc): Likewise.
16362 (grub_xnu_heap_real_start): Removed.
16363 (grub_xnu_heap_start): Likewise.
16364 (grub_xnu_relocator): New variable.
16365 (grub_xnu_heap_target_start): Likewise.
16366 * tests/util/grub-shell.in: Support non-pc.
16367 * util/grub-mkimage.c (image_targets): Fix multiboot target.
16369 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16371 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
16373 (grub_bidi_logical_to_visual): Check that malloc succeded.
16374 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
16376 (grub_xputs_normal): Likewise.
16378 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16380 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
16383 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16385 * grub-core/efiemu/runtime/efiemu.sh: Removed.
16387 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16389 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
16391 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16393 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
16396 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
16398 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
16400 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16402 * grub-core/normal/term.c (print_more): Fix a memory leak.
16403 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
16404 (grub_xputs_normal): Likewise.
16406 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16408 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
16409 the begining of the string
16411 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16413 * grub-core/script/script.c (grub_script_parse): Free parsed on
16416 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16418 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
16421 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16423 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
16426 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16428 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
16429 (scroll_up): Fix a memory leak.
16431 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16433 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
16436 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
16438 Handle USB pendrives exposed as floppies.
16440 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
16442 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16443 Check for partitions on all devices.
16445 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16447 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
16448 (readkey): Likewise.
16450 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16452 Multiple variable names support to "export" command.
16454 * normal/context.c (grub_cmd_export): "export" command supports
16455 multiple variable names.
16457 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
16459 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
16460 --target=drive output to Mach device name.
16462 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16464 New Automake based build system for GRUB.
16466 * ABOUT-NLS: New file.
16467 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
16468 in Makefile.util.def file.
16469 * Makefile.util.def: New file. Autogen build definitions file for
16471 * conf/Makefile.common: New file. Common variables for GRUB host
16472 utils and target modules.
16473 * conf/Makefile.extra-dist: New file. Extra files for make dist.
16474 * docs/Makefile.am: New file. Automake file for docs.
16475 * gentpl.py: New file. Python script to generate Autogen
16477 * grub-core/Makefile.am: New file. GRUB target modules' rules
16478 that doesn't fit in Makefile.core.def file.
16479 * grub-core/Makefile.core.def: New file. Autogen build
16480 definitions file for GRUB target modules.
16481 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
16482 specific setjmp.S file.
16483 * po/Makefile.am: New file.
16485 * .bzrignore: New ignores.
16486 * INSTALL: New requirements, without Ruby.
16487 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
16488 * autogen.sh: Updated to invoke autogen as necessary.
16489 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
16490 and defines for Automake conditionals.
16491 * geninit.sh: Refactoring.
16493 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
16495 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
16498 * include/grub/test.h: Fix functional test modules' naming.
16499 * grub-core/tests/example_functional_test.c: Fix test module name.
16501 * util/misc.c: Hosted versions' of grub functions for libgrub.a
16502 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
16503 * util/grub-editenv.c: Likewise.
16504 * util/grub-fstest.c: Likewise.
16505 * util/grub-mkdevicemap.c: Likewise.
16506 * util/grub-mkfont.c: Likewise.
16507 * util/grub-mkimage.c: Likewise.
16508 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16509 * util/grub-probe.c: Likewise.
16510 * util/grub-script-check.c: Likewise.
16511 * util/i386/pc/grub-setup.c: Likewise.
16512 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16514 * tests/util/grub-shell.in: Fix override directory path.
16515 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
16516 * util/import_gcry.py: Create Makefile.gcry.def file instead.
16518 * util/lvm.c: Update #includes.
16519 * util/raid.c: Likewise.
16520 * util/resolve.c: Likewise.
16521 * grub-core/bus/emu/pci.c: Likewise.
16522 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
16523 * grub-core/lib/posix_wrap/string.h: Likewise.
16524 * grub-core/kern/emu/main.c: Likewise.
16526 * grub-core/gensymlist.sh: New file. Script for generating kernel
16528 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
16530 * grub-core/gentrigtables.c: Fix unused variable warnings.
16532 * Makefile.in: Removed.
16533 * conf/any-emu.rmk: Removed.
16534 * conf/common.rmk: Removed.
16535 * conf/i386-coreboot.rmk: Removed.
16536 * conf/i386-efi.rmk: Removed.
16537 * conf/i386-ieee1275.rmk: Removed.
16538 * conf/i386-multiboot.rmk: Removed.
16539 * conf/i386-pc.rmk: Removed.
16540 * conf/i386-qemu.rmk: Removed.
16541 * conf/i386.rmk: Removed.
16542 * conf/mips-yeeloong.rmk: Removed.
16543 * conf/mips.rmk: Removed.
16544 * conf/powerpc-ieee1275.rmk: Removed.
16545 * conf/sparc64-ieee1275.rmk: Removed.
16546 * conf/tests.rmk: Removed.
16547 * conf/x86-efi.rmk: Removed.
16548 * conf/x86_64-efi.rmk: Removed.
16549 * gendistlist.sh: Removed.
16550 * geninitheader.sh: Removed.
16551 * genkernsyms.sh.in: Removed.
16552 * genmk.rb: Removed.
16553 * gensymlist.sh.in: Removed.
16554 * mkinstalldirs: Removed.
16556 * grub-core/boot: ... to here.
16558 * grub-core/bus: ... to here.
16559 * commands: Moved ...
16560 * grub-core/commands: ... to here.
16562 * grub-core/disk: ... to here.
16563 * efiemu: Moved ...
16564 * grub-core/efiemu: ... to here.
16566 * grub-core/font: ... to here.
16568 * grub-core/fs: ... to here.
16569 * gencmdlist.sh: Moved ...
16570 * grub-core/gencmdlist.sh: ... to here.
16571 * genemuinit.sh: Moved ...
16572 * grub-core/genemuinit.sh: ... to here.
16573 * genemuinitheader.sh: Moved ...
16574 * grub-core/genemuinitheader.sh: ... to here.
16575 * genfslist.sh: Moved ...
16576 * grub-core/genfslist.sh: ... to here.
16577 * genhandlerlist.sh: Moved ...
16578 * grub-core/genhandlerlist.sh: ... to here.
16579 * genmoddep.awk: Moved ...
16580 * grub-core/genmoddep.awk: ... to here.
16581 * genmodsrc.sh: Moved ...
16582 * grub-core/genmodsrc.sh: ... to here.
16583 * genpartmaplist.sh: Moved ...
16584 * grub-core/genpartmaplist.sh: ... to here.
16585 * genparttoollist.sh: Moved ...
16586 * grub-core/genparttoollist.sh: ... to here.
16587 * genterminallist.sh: Moved ...
16588 * grub-core/genterminallist.sh: ... to here.
16589 * gentrigtables.c: Moved ...
16590 * grub-core/gentrigtables.c: ... to here.
16591 * genvideolist.sh: Moved ...
16592 * grub-core/genvideolist.sh: ... to here.
16593 * gettext: Moved ...
16594 * grub-core/gettext: ... to here.
16595 * gfxmenu: Moved ...
16596 * grub-core/gfxmenu: ... to here.
16597 * gnulib: Moved ...
16598 * grub-core/gnulib: ... to here.
16600 * grub-core/hello: ... to here.
16602 * grub-core/hook: ... to here.
16604 * grub-core/io: ... to here.
16606 * grub-core/kern: ... to here.
16608 * grub-core/lib: ... to here.
16609 * loader: Moved ...
16610 * grub-core/loader: ... to here.
16612 * grub-core/mmap: ... to here.
16613 * normal: Moved ...
16614 * grub-core/normal: ... to here.
16615 * partmap: Moved ...
16616 * grub-core/partmap: ... to here.
16617 * parttool: Moved ...
16618 * grub-core/parttool: ... to here.
16619 * script: Moved ...
16620 * grub-core/script: ... to here.
16622 * grub-core/term: ... to here
16623 * tests/example_functional_test.c: Moved ...
16624 * grub-core/tests/example_functional_test.c: ... to here.
16625 * tests/lib/functional_test.c: Moved ...
16626 * grub-core/tests/lib/functional_test.c: ... to here.
16627 * tests/lib/test.c: Moved ...
16628 * grub-core/tests/lib/test.c: ... to here.
16630 * grub-core/video: ... to here.
16632 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16634 Replace --enable-grub-emu-modules with grub-emu-lite.
16636 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
16639 * include/grub/emu/misc.h (grub_emu_init): New prototype.
16640 * kern/emu/full.c: New file. For grub-emu specific initialization.
16641 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
16642 * kern/emu/main.c: Call initialization function grub_emu_init.
16644 * Makefile.in: Include grub-emu-lite in install.
16645 * commands/parttool.c: Use grub_no_autoload to differentiate
16646 between grub-emu and grub-emu-lite.
16647 * include/grub/misc.h: New variable grub_no_autoload.
16649 * conf/any-emu.rmk: New rules for grub-emu-lite.
16650 * configure.ac: Remove --enable-grub-emu-modules.
16651 * genmk.rb: Cleanup unnecessary rules.
16652 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
16654 * normal/main.c: Don't load list files on grub-emu-lite.
16655 * util/misc.c (grub_arch_sync_caches): Removed.
16657 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
16659 * kern/mips/startup.S (grub_prefix): Update comment to refer to
16660 grub-mkimage rather than grub-mkelfimage.
16661 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16663 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16665 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
16666 a key after CapsLock or NumLock. It's just a qemu bug.
16668 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16670 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
16671 needed by libusb wrapper.
16673 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16675 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
16677 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16679 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
16680 --nounzip is passed.
16682 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
16684 USB hotunplugging and USB serial support.
16686 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
16687 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
16688 (grub_uhci_transfer): Respect timeout and set *actual.
16689 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
16690 non-standard length.
16691 (grub_usb_device_attach): Autoload modules.
16692 (GRUB_MOD_INIT): Set grub_term_poll_usb.
16693 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
16694 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
16696 (grub_usb_add_hub): Fill nports and children.
16697 (attach_root_port): Receive hub instead of controller.
16698 All users updated. Fill hub->devices.
16699 (grub_usb_root_hub): Allocate hub->devices.
16700 (detach_device): New function.
16701 (poll_nonroot_hub): Fill children and detach devices.
16702 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
16703 actual arguments. All users updated.
16704 (grub_usb_bulk_read_extended): New function.
16705 * bus/usb/serial/common.c: New file.
16706 * bus/usb/serial/ftdi.c: Likewise.
16707 * bus/usb/serial/pl2303.c: Likewise.
16708 * commands/terminal.c (handle_command): Support wildcard.
16709 * commands/usbtest.c: Output "Unknown" instead of empty string.
16710 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
16711 (usbserial_common_mod_SOURCES): New variable.
16712 (usbserial_common_mod_CFLAGS): Likewise.
16713 (usbserial_common_mod_LDFLAGS): Likewise.
16714 (pkglib_MODULES): Add usbserial_pl2303.mod.
16715 (usbserial_pl2303_mod_SOURCES): New variable.
16716 (usbserial_pl2303_mod_CFLAGS): Likewise.
16717 (usbserial_pl2303_mod_LDFLAGS): Likewise.
16718 (pkglib_MODULES): Add usbserial_ftdi.mod.
16719 (usbserial_ftdi_mod_SOURCES): New variable.
16720 (usbserial_ftdi_mod_CFLAGS): Likewise.
16721 (usbserial_ftdi_mod_LDFLAGS): Likewise.
16722 (pkglib_MODULES): Add serial.mod.
16723 (serial_mod_SOURCES): New variable.
16724 (serial_mod_CFLAGS): Likewise.
16725 (serial_mod_LDFLAGS): Likewise.
16726 * conf/i386-pc.rmk: Likewise.
16727 * conf/mips-yeeloong.rmk: Likewise.
16728 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
16729 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16730 * disk/usbms.c (first_available_slot): New variable.
16731 (grub_usbms_attach): Don't reuse free slots due to potential cache
16733 * include/grub/serial.h: Moved to ..
16734 * include/grub/ns8250.h: ...this.
16735 * include/grub/serial.h: New file.
16736 * include/grub/term.h (grub_term_poll_usb): New variable.
16737 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
16738 readkey. All users updated.
16739 (grub_terminfo_output_state): Pass term to put.
16740 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
16741 (grub_usb_controller_dev): Add timeout and actual arguments to
16742 transfer. All users updated.
16743 (grub_usb_interface): New field detach_data.
16744 (grub_usb_device): New fields children and nports.
16745 (grub_usb_ep_type_t): New type.
16746 (grub_usb_get_ep_type): New function.
16747 (grub_usb_bulk_read_extended): Likewise.
16748 * include/grub/usbdesc.h (grub_usb_desc): New type.
16749 * include/grub/usbserial.h: New file.
16750 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
16751 * kern/term.c (grub_term_poll_usb): New variable.
16752 (grub_getkey): Call grub_term_poll_usb if set.
16753 (grub_checkkey): Likewise.
16754 (grub_getkeystatus): Likewise.
16755 * term/serial.c: Moved controller-specific parts to ...
16756 * term/ns8250.c: ... here.
16757 * term/serial.c: Mostly rewritten.
16758 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
16761 2010-08-20 Robert Millan <rmh@gnu.org>
16763 Make kFreeBSD code more generic to support ext2fs as root, ufs as
16764 a separate module and maybe other interesting combinations.
16766 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
16767 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
16768 (kfreebsd_entry): Add generic filesystem module load routine.
16769 Map GRUB `ext2' to kFreeBSD `ext2fs'.
16771 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
16773 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
16774 "numcenter" (I misunderstood the purpose of this entry).
16775 * docs/grub.texi (sendkey): Likewise.
16777 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
16779 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
16780 status flag options; simply omitting the option is equivalent and
16781 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
16782 (keysym_table): Rename "num5numlock" to "numlock".
16783 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
16784 can uniformly say that only the last of multiple `sendkey'
16785 invocations has any effect.
16786 * docs/grub.texi (sendkey): New section.
16788 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
16790 * commands/i386/pc/sendkey.c (options): Fix three typos.
16792 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16794 Implement sendkey support.
16796 * commands/i386/pc/sendkey.c: New file.
16797 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
16798 (sendkey_mod_SOURCES): New variable.
16799 (sendkey_mod_CFLAGS): Likewise.
16800 (sendkey_mod_LDFLAGS): Likewise.
16802 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
16804 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
16805 fix warnings from Autoconf.
16807 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
16809 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
16810 to avoid false positives with some assemblers that output things
16811 like "someprefix_func" as part of their output.
16813 2010-08-15 Robert Millan <rmh@gnu.org>
16815 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
16817 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
16818 grub_get_libzfs_handle() errors.
16820 2010-08-14 Robert Millan <rmh@gnu.org>
16822 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
16823 filesystem is not ZFS.
16825 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16827 Fix for misspelled color names defaulting to black/black (bug
16828 reported by Doug Nazar)
16830 * include/grub/normal.h (grub_parse_color_name_pair): Add return
16831 status to prototype.
16832 * normal/color.c (grub_parse_color_name_pair): Return failure
16834 (grub_env_write_color_normal): Ignore bad color names.
16835 (grub_env_write_color_highlight): Likewise.
16836 * normal/main.c (GRUB_MOD_INIT): Set default color names.
16838 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16840 "shift" command support to GRUB script.
16842 * include/grub/script_sh.h (grub_script_shift): New prototype.
16843 * script/execute.c (grub_script_shift): New function.
16844 * script/main.c (grub_script_init): Register shift command.
16845 (grub_script_fini): Unregister shift command.
16846 * util/grub-script-check.c (grub_script_cmd_shift): New function.
16848 * tests/grub_script_shift.in: New testcase.
16849 * conf/tests.rmk: Rules for new testcase.
16851 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16853 "continue" command support to GRUB script.
16855 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
16856 (grub_script_break): Continue support.
16857 * script/main.c (grub_script_init): Register continue command.
16858 (grub_script_fini): Unregister continue command.
16860 * tests/grub_script_continue.in: New testcase.
16861 * conf/tests.rmk: Rules for new testcase.
16863 2010-08-12 BVK Chaitanya <bvk@dbook>
16865 "break" command support to GRUB script.
16867 * conf/common.rmk: Rule updates to grub-script-check.
16868 * include/grub/misc.h (grub_min): New function.
16869 * include/grub/script_sh.h (grub_script_init): New prototype.
16870 (grub_script_fini): New prototype.
16871 (grub_script_break): New prototype.
16872 * script/main.c (grub_script_init): New function.
16873 (grub_script_fini): New function.
16874 * script/execute.c (grub_script_break): New function.
16875 * normal/main.c: Calls to grub_script_{init,fini}.
16876 * util/grub-script-check.c (grub_script_break): New function.
16878 * tests/grub_script_break.in: New testcase.
16879 * conf/tests.rmk: Rules for new test case.
16881 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16883 Function parameters support to GRUB script.
16885 * script/yylex.l (VARIABLE): Regular expression update.
16886 * script/function.c (grub_script_function_call): Moved ...
16887 * script/execute.c (grub_script_function_call): ... to here.
16888 (grub_script_execute_arglist_to_argv): Removed.
16889 (grub_script_arglist_to_argv): New function.
16890 * script/argv.c: New file.
16891 (grub_script_argv_free): New function.
16892 (grub_script_argv_next): Likewise.
16893 (grub_script_argv_append): Likewise.
16894 (grub_script_argv_split_append): Likewise.
16895 * include/grub/script_sh.h (grub_script_argv): New struct.
16896 (grub_script_argv_free): New function.
16897 (grub_script_argv_next): Likewise.
16898 (grub_script_argv_append): Likewise.
16899 (grub_script_argv_split_append): Likewise.
16901 * conf/common.rmk (normal.mod): New source script/argv.c.
16903 * tests/grub_script_echo1.in: More tests.
16904 * tests/grub_script_vars1.in: Likewise.
16905 * tests/grub_script_functions.in: New test case.
16906 * conf/tests.rmk: Rules for new testcase.
16908 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16910 Remove grub_script_cmdblock struct.
16912 * include/grub/script_sh.h: Remove grub_script_cmdblock.
16913 * script/parser.y: Likewise.
16914 * script/execute.c: Rename cmdblock suffix to cmdlist.
16915 * script/script.c: Likewise.
16916 * util/grub-script-check.c: Likewise.
16918 2010-08-11 Yves Blusseau <blusseau@zetam.org>
16920 * .bzrignore: add grub-macho2img
16922 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16924 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
16926 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16928 Remove the dump of sm712 initialisation sequence.
16930 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
16931 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
16932 (GRUB_VGA_IO_MISC_WRITE): Likewise.
16933 (GRUB_VGA_CR_*): Added many registers.
16934 (GRUB_VGA_SR_*): Likewise.
16935 (GRUB_VGA_GR_*): Likewise.
16936 (grub_vga_write_arx): New function.
16937 (grub_video_hw_config): New struct.
16938 (grub_vga_set_geometry): New function.
16939 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
16940 GRUB_PCI_CLASS_SUBCLASS_VGA.
16941 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
16942 * video/sm712.c (grub_sm712_write_reg): New function
16943 (grub_sm712_read_reg): Likewise.
16944 (grub_sm712_sr_write): Likewise.
16945 (grub_sm712_gr_write): Likewise.
16946 (grub_sm712_cr_write): Likewise.
16947 (grub_sm712_write_arx): Likewise.
16948 (grub_sm712_cr_shadow_write): Likewise.
16949 (grub_sm712_write_dda_lookup): Likewise.
16950 (grub_video_sm712_setup): Initialise the video rather then
16951 blindly replay the dump.
16952 (main) [TEST]: Add a routine to be able to compile as standalone for
16954 * video/sm712_init.c (sm712_init): Removed.
16955 (sm712_sr_seq1): New array.
16956 (sm712_sr_seq2): Likewise.
16958 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16960 * include/grub/vga.h: Add missing grub/pci.h include.
16962 2010-08-10 Yves Blusseau <blusseau@zetam.org>
16964 * util/grub-macho2img.c (main): fix typo
16966 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16968 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
16969 (grub_vga_gr_read): Likewise.
16970 (grub_vga_cr_write): Likewise.
16971 (grub_vga_cr_read): Likewise.
16972 (grub_vga_sr_write): Likewise.
16973 (grub_vga_sr_read): Likewise.
16974 (grub_vga_palette_read): Likewise.
16975 (grub_vga_palette_write): Likewise.
16976 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
16977 (grub_sm712_sr_read): New function.
16978 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
16979 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
16981 2010-08-09 Robert Millan <rmh@gnu.org>
16983 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
16984 out unused variables on non-ZFS build.
16986 2010-08-08 Robert Millan <rmh@gnu.org>
16988 Fix path generation for sub-filesystems in ZFS.
16990 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
16993 2010-08-08 Robert Millan <rmh@gnu.org>
16995 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
16997 2010-08-08 Robert Millan <rmh@gnu.org>
16999 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17000 exist, issue a proper error message (rely on `ls' for translated
17003 2010-08-08 Robert Millan <rmh@gnu.org>
17005 Fix grub-probe invocation.
17007 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17009 2010-08-04 Robert Millan <rmh@gnu.org>
17011 * configure.ac: Remove checks for getfsstat() and getmntany().
17012 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17013 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17014 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17015 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17016 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17018 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17019 via find_mount_point_from_dir() and getfsstat() / getmntany().
17021 2010-08-04 Robert Millan <rmh@gnu.org>
17023 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17024 (grub_find_zpool_from_mount_point): Merge into ...
17025 (grub_find_zpool_from_dir): ... this.
17026 * kern/emu/misc.c: Likewise.
17029 (grub_make_system_path_relative_to_its_root): Replace
17030 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17031 with grub_find_zpool_from_dir().
17032 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17034 2010-08-04 Robert Millan <rmh@gnu.org>
17036 Support OpenSolaris in ZFS device resolution.
17038 * configure.ac: Check for getmntany().
17039 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17040 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17043 2010-08-03 Robert Millan <rmh@gnu.org>
17045 Fix grub-emu build.
17047 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17048 * include/grub/emu/misc.h: ... here.
17050 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17051 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17053 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17054 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17055 (grub_get_libzfs_handle): Move to ...
17056 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17057 (grub_get_libzfs_handle): ... here.
17059 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17061 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17062 as command name case.
17064 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
17066 * disk/raid.c (insert_array): Select unique numbers for named arrays
17067 as well, for use as keys in the disk cache.
17069 2010-08-01 Robert Millan <rmh@gnu.org>
17071 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17072 kFreeBSD device name, except on ZFS where the filesystem label is
17074 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17075 `/boot/zfs/zpool.cache'.
17076 Set mountfrom kernel variable using ${kfreebsd_device}.
17078 2010-08-01 Robert Millan <rmh@gnu.org>
17080 Make it even harder to use uninitialized `libzfs_handle' (and
17081 make the interface a bit simpler).
17083 * include/grub/util/misc.h (grub_util_init_libzfs)
17084 (libzfs_handle): Remove.
17085 (grub_get_libzfs_handle): New prototype.
17087 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17089 (grub_util_init_libzfs): Remove.
17090 (grub_get_libzfs_handle): New function.
17092 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17093 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17094 accessing `libzfs_handle' directly.
17096 2010-08-01 Robert Millan <rmh@gnu.org>
17098 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17099 (grub_find_zpool_from_mount_point): New function prototypes.
17101 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17102 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17104 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17105 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17106 `static' attribute.
17108 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17109 finding zpool from mount point into ...
17110 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17112 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17113 requested path is part of a ZFS pool, use
17114 grub_find_zpool_from_mount_point() to detect its filesystem name,
17115 and generate a path with `/fsname@path' syntax.
17117 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17119 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17120 (void) rather than () so that this is a proper prototype.
17122 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17124 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17126 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17128 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17129 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17131 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17133 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17135 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17137 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17139 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17141 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17142 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17143 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17144 disable gfxpayload.
17145 (Shell-like scripting): Add real content.
17146 (Serial terminal): Suggest `terminal_input serial; terminal_output
17147 serial' rather than putting the two commands on separate lines,
17148 since console input will be inoperative after the first command.
17149 (menuentry): Document --class, --users, and --hotkey options.
17150 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17151 Vladimir Serbinenko).
17153 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17154 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17156 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17158 2010-08-01 Robert Millan <rmh@gnu.org>
17160 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17161 (grub_find_zpool_from_mount_point): New function prototypes.
17163 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17164 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17166 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17167 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17168 `static' attribute.
17170 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17171 finding zpool from mount point into ...
17172 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17174 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17175 requested path is part of a ZFS pool, use
17176 grub_find_zpool_from_mount_point() to detect its filesystem name,
17177 and generate a path with `/fsname@path' syntax.
17179 2010-08-01 Robert Millan <rmh@gnu.org>
17181 Prevent accidental use of uninitialized libzfs_handle.
17183 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17184 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17185 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17187 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17189 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17190 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17192 2010-08-01 Robert Millan <rmh@gnu.org>
17194 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
17196 2010-07-31 Robert Millan <rmh@gnu.org>
17198 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17200 2010-07-31 Robert Millan <rmh@gnu.org>
17202 * kern/emu/misc.c: Add missing license header.
17204 2010-07-31 Robert Millan <rmh@gnu.org>
17206 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17208 * include/grub/util/libnvpair.h: Include `<config.h>'.
17209 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17210 declaring libnvpair prototypes ourselves.
17211 * include/grub/util/libzfs.h: Include `<config.h>'.
17212 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17213 declaring libzfs prototypes ourselves.
17215 (libzfs_handle): Moved to ...
17216 * include/grub/util/misc.h (libzfs_handle): ... here.
17217 Include `<grub/util/libzfs.h>'.
17219 2010-07-30 Robert Millan <rmh@gnu.org>
17221 * include/grub/emu/misc.h: Add missing license header.
17223 2010-07-30 Robert Millan <rmh@gnu.org>
17225 Enable `grub-probe -t device' resolution on ZFS.
17227 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17228 * include/grub/util/libnvpair.h: New file.
17229 * include/grub/util/libzfs.h: New file.
17231 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17232 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17233 `<grub/util/libnvpair.h>'.
17234 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17236 (find_mount_point_from_dir): New static function.
17237 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17239 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17240 find_root_device_from_libzfs() before ressorting to find_root_device().
17242 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17244 * util/misc.c: Include `<grub/util/libzfs.h>'.
17245 (grub_util_init_libzfs): New function.
17246 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17247 [HAVE_LIBZFS] (fini_libzfs): New static function.
17248 (grub_util_init_libzfs): New function.
17249 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17251 2010-07-30 Robert Millan <rmh@gnu.org>
17253 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17254 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17255 `warn_unused_result' attribute.
17256 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17257 (grub_xasprintf, grub_xvasprintf): Likewise.
17258 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17260 2010-07-29 Robert Millan <rmh@gnu.org>
17262 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17263 (probe): Handle `PRINT_FS_LABEL'.
17264 (main): Handle `-t fs_label'.
17266 2010-07-29 Robert Millan <rmh@gnu.org>
17268 * configure.ac: Remove grub-mkisofs checks.
17270 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17272 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17273 Reported by: Lennart Sorensen.
17275 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17277 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17278 prior to terminal_input/terminal_output separation. It's been over 1.5
17279 years and those versions weren't widely deployed.
17281 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
17283 * disk/raid.c (insert_array): Don't count named arrays when looking
17284 for unused array numbers.
17285 Reported and tested by: Michael Guntsche.
17287 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17289 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17290 implementation of this so that grub-emu links again, with a note
17291 that this should support hotplugging in the future.
17293 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17295 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17297 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17299 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17301 (grub_loopback_close): Remove empty function.
17302 (grub_loopback_dev): Remove close method.
17304 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17306 Disable EFI cursor when the EFI console becomes inactive.
17308 * term/efi/console.c (grub_efi_console_init): New function.
17309 (grub_efi_console_fini): New function.
17310 (grub_console_term_output): Register init and fini methods.
17312 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17314 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17317 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17319 * disk/loopback.c (grub_loopback): Replace filename with file.
17320 (delete_loopback): Handle new semantics.
17321 (grub_cmd_loopback): Likewise.
17322 (grub_loopback_iterate): Likewise.
17323 (grub_loopback_close): Likewise.
17325 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17327 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17329 Reported by: Tito Keitel.
17331 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17333 * docs/grub.texi (Naming convention): Document new naming convention.
17335 2010-07-20 Vadim Solomin <vadic052@gmail.com>
17336 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17338 Generate device.map in something closer to the old ordering.
17340 * util/deviceiter.c (struct device): New declaration.
17341 (compare_file_names): Rename to ...
17342 (compare_devices): ... this. Sort by kernel name in preference to
17343 the stable by-id name, but keep the latter as a fallback comparison.
17344 Update header comment.
17345 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17346 of `struct device' rather than of plain file names.
17348 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17350 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17353 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17355 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17357 (setv1table): Likewise.
17359 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17361 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
17362 removing the homehost if present.
17363 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
17364 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
17365 removing the homehost if present.
17366 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
17368 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
17370 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
17371 parameter. Set its pointer target to 0.
17372 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
17373 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
17374 `data_offset' value from the superblock for 1.x metadata.
17375 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
17376 data on the device.
17377 (insert_array): Record the start sector of data on the device.
17378 (grub_raid_register): Pass start_sector parameters to
17379 grub_raid_list->detect and insert_array.
17380 * include/grub/raid.h (struct grub_raid_array): Add start_sector
17382 (struct grub_raid): Add start_sector parameter to `detect'.
17384 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
17385 __attribute__ ((packed)), leaving a comment.
17386 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
17387 (grub_mdraid_detect_09): ... here and ...
17388 (grub_mdraid_detect_1x): ... here.
17390 2010-07-20 Peter Henn <peter.henn@web.de>
17392 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
17393 chunk size and disk size, which are already given as sector counts
17394 as distinct from the 0.90 units. Fetch the correct device number
17395 from the role table instead of using the table index.
17397 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
17399 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
17400 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
17401 (WriteMostly1): New macro.
17402 Set array->name to NULL for metadata format 0.90. Add support for
17403 metadata 1.x. Fix some comments.
17404 * disk/raid.c (): Add support for name based RAID arrays. Fix a
17406 * util/getroot.c (grub_util_get_grub_dev): Add support for
17407 /dev/md/name style devices.
17409 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17411 * .bzrignore: Ignore 20_linux_xen.
17413 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
17415 * util/import_unicode.py: Remove unnecessary imports.
17417 2010-07-17 Aleš Nesrsta <starous@volny.cz>
17419 Hotplugging and USB hub support.
17421 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
17422 (grub_ohci): Likewise.
17423 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
17424 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
17425 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
17426 (GRUB_OHCI_CTRL_EDS): Likewise.
17427 (GRUB_OHCI_BULK_EDS): Likewise.
17428 (GRUB_OHCI_TDS): Likewise.
17429 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
17430 (grub_ohci_ed_phys2virt): New function.
17431 (grub_ohci_virt_to_phys): Likewise.
17432 (grub_ohci_td_phys2virt): Likewise.
17433 (grub_ohci_td_virt2phys): Likewise.
17434 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
17436 (grub_ohci_find_ed): New function.
17437 (grub_ohci_alloc_td): Likewise.
17438 (grub_ohci_free_td): Likewise.
17439 (grub_ohci_free_tds): Likewise.
17440 (grub_ohci_transfer): Use previously allocated memory.
17441 (grub_ohci_portstatus): Reset status changed bit.
17442 (grub_ohci_detect_dev): Supply status changed.
17443 (grub_ohci_fini_hw): Free memory.
17444 (grub_ohci_restore_hw): Reallocate memory.
17445 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
17446 Reset status change.
17447 (grub_uhci_detect_dev): Supply status_change.
17448 * bus/usb/usb.c (attach_hooks): New var.
17449 (grub_usb_device_attach): New function.
17450 (grub_usb_register_attach_hook_class): Likewise.
17451 (grub_usb_unregister_attach_hook_class): Likewise.
17452 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
17453 (grub_usb_add_hub): Reset connection changed bit.
17454 (attach_root_port): New function.
17455 (grub_usb_root_hub): Likewise.
17456 (poll_nonroot_hub): Likewise.
17457 (grub_usb_poll_devices): Likewise.
17458 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
17459 * disk/usbms.c (grub_usbms_open): Use device hooks.
17460 (grub_usbms_iterate) :Poll devices.
17461 (grub_usbms_finddevs): Split into ...
17462 (grub_usbms_attach): ... this ...
17463 (grub_usbms_attach): ... and this.
17464 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
17466 (grub_usb_interface): New fields attached and detach_hook.
17467 (grub_usb_attach_hook_class): New type.
17468 (grub_usb_attach_desc): New struct.
17469 (grub_usb_register_attach_hook_class): New function.
17470 (grub_usb_unregister_attach_hook_class): Likewise.
17471 (grub_usb_poll_devices): Likewise.
17472 (grub_usb_device_attach): Likewise.
17473 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
17474 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
17476 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17478 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
17479 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
17480 delta determination style. Works with most NetBSD partitions too.
17482 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17484 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
17485 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
17487 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17489 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
17491 2010-07-14 Anton Blanchard <anton@samba.org>
17493 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
17496 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17498 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
17500 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17502 * kern/partition.c (grub_partition_check_containment): New function to
17503 check that a partition is physically contained in a parent. Since
17504 offsets are relative (and non-negative), this reduces to checking that
17505 the partition ends before its parent.
17506 (grub_partition_map_probe): Discard out-of-range sub-partitions.
17507 (grub_partition_iterate): Likewise.
17508 * include/grub/partition.h (grub_partition_map): Slightly more detailed
17510 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
17511 partitions that start before their parent, and add debug printfs.
17513 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
17515 * Makefile.in (.SUFFIX): Spell correctly, as ...
17516 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
17517 bare module name without `.mod', e.g. `test') tried to invoke a
17520 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
17522 * README: Point to the Info manual.
17524 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
17526 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
17527 2nd superblock position from partition size.
17529 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
17531 * Makefile.in (MAINTAINER_CLEANFILES): Remove
17532 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
17533 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
17536 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17538 Restructure SCSI .id handling.
17539 Reported and tested by: Aleš Nesrsta.
17541 * disk/ata.c (grub_atapi_close): Removed. All users updated.
17542 (grub_atapi_dev): Changed .name to "ata". New field .id.
17543 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
17544 (grub_usbms_dev): New field .id.
17545 * disk/scsi.c (grub_scsi_iterate): Generate name.
17546 (grub_scsi_open): Parse name.
17547 * include/grub/scsi.h (grub_make_scsi_id): New function.
17548 (grub_scsi_dev): Change iterate and open to number instead of naming
17549 busses. All users updated.
17550 (grub_scsi): Remove name. Add .bus.
17552 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17554 * commands/help.c (grub_cmd_help): Fix a typo.
17556 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17558 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
17559 Reported and tested by: Colin Watson.
17561 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17563 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
17566 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17568 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
17570 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
17572 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
17575 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17577 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
17578 and disk/raid6_recover.c.
17579 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17580 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17582 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17584 * term/gfxterm.c (repaint_schedulded): Rename to ...
17585 (repaint_scheduled): ... this. Update all callers.
17586 (repaint_was_schedulded): Rename to ...
17587 (repaint_was_scheduled): ... this. Update all callers.
17589 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17591 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
17592 which we expect to be handled by upper layers.
17594 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
17596 * bus/usb/usbhub.c: #include time.h header.
17598 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17600 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
17601 entry_name also for entries without stat blocks (e.g. ".."); fixes
17602 corruption of the first entry in a directory.
17604 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17606 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
17607 after setting gfxterm as the active terminal. GRUB_BACKGROUND
17608 doesn't work otherwise.
17610 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
17612 * docs/grub.texi (Features): Update list of supported file systems.
17613 (GNU/Linux): Update for GRUB 2.
17614 (Serial terminal): Remove mention of --disable-serial, which was a
17615 GRUB Legacy configure option. Update instructions to use
17616 `terminal_input' and `terminal_output' rather than `terminal'.
17617 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
17618 configuration' and `Installing GRUB using grub-install'.
17619 (Menu entry editor): Update for GRUB 2.
17620 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
17621 Document new -a, -u, and -v options.
17622 (initrd): New section.
17623 (initrd16): New section.
17624 (linux): New section.
17625 (linux16): New section.
17626 (search): The `var' argument to `--set' is optional.
17627 (GRUB only offers a rescue shell): Go into a little more detail on
17630 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
17632 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
17634 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
17636 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
17637 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
17639 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
17641 * util/i386/pc/grub-setup.c (setup): Rename prefix to
17642 install_prefix, in line with install_dos_part and install_bsd_part.
17643 Add new prefix variable, which is copied to install_prefix after
17644 comparing core.img in memory with the one read from disk in the
17645 no-embedding case, and use that rather than overwriting
17646 install_prefix immediately when installing to a partition.
17647 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
17650 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17652 * configure.ac: Avoid == in test command, it's not portable.
17653 * util/grub.d/30_os-prober.in: Likewise.
17655 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
17657 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
17659 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17661 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
17662 multiple (top-level) partmaps.
17664 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17666 * util/i386/efi/grub-install.in: Don't use empty grub_device.
17667 Reported by: Tino Keitel.
17669 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17671 Bidi and diacritics support.
17673 * Makefile.in (widthspec.bin): New target.
17674 (widthspec.h): Likewise.
17675 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
17676 * autogen.sh: Generate unidata.c.
17677 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
17678 * commands/ls.c (grub_ls_list_devices): Likewise.
17679 (grub_ls_list_files): Likewise.
17680 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
17681 (grub_mini_cmd_lsmod): Likewise.
17682 * commands/read.c: Likewise.
17683 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
17684 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
17685 * lib/arg.c (grub_arg_show_help): Likewise.
17686 * lib/crypto.c (grub_password_get): Likewise.
17687 * normal/auth.c (grub_username_get): Likewise.
17688 * normal/misc.c (grub_normal_print_device_info): Likewise.
17689 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
17690 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
17691 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
17692 (normal/charset.c_DEPENDENCIES): New variable.
17693 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
17694 (pkglib_MODULES): Remove charset.mod.
17695 (charset_mod_SOURCES): Removed.
17696 (charset_mod_CFLAGS): Likewise.
17697 (charset_mod_LDFLAGS): Likewise.
17698 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
17699 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
17701 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17702 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17703 (kernel_img_HEADERS): Add terminfo.h.
17704 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
17705 Fill ->font. Reverse ascii bitmaps.
17706 (grub_font_get_xheight): New function.
17707 * font/font.c (grub_font_get_string_width): Moved from here ...
17708 * gfxmenu/font.c (grub_font_get_string_width): ... here.
17709 * font/font.c (grub_font_draw_string): Moved from here ...
17710 * gfxmenu/font.c (grub_font_draw_string): ... here.
17711 * font/font.c (grub_font_dup_glyph): New function.
17712 (grub_font_blit_glyph): Likewise.
17713 (grub_font_blit_glyph_mirror): Likewise.
17714 (blit_comb): Likewise.
17715 (grub_font_construct_dry_run): Likewise.
17716 (grub_font_get_constructed_device_width): Likewise.
17717 (grub_font_construct_glyph): Likewise.
17718 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
17719 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
17720 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
17721 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
17722 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
17723 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
17724 (grub_font_get_xheight): New proto.
17725 (grub_font_get_constructed_device_width): Likewise.
17726 (grub_font_construct_glyph): Likewise.
17727 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
17728 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
17729 * include/grub/font.h (grub_font_draw_string): Moved from here ...
17730 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
17731 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
17732 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
17733 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
17734 (grub_console_getcharwidth): Likewise.
17735 * include/grub/misc.h (grub_xputs): New proto.
17736 (grub_puts): Inlined.
17737 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
17738 (grub_normal_get_line_counter): Removed.
17739 (grub_install_newline_hook): Likewise.
17740 (grub_normal_get_char_counter): New proto.
17741 (grub_normal_reset_more): Likewise.
17742 (grub_xputs_normal): Likewise.
17743 * include/grub/powerpc/ieee1275/console.h: Removed.
17744 * include/grub/sparc64/ieee1275/console.h: Likewise.
17745 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
17746 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
17747 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
17748 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
17749 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
17750 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
17751 (grub_term_input): Pass reference to self. All users updated.
17752 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
17753 Pass reference to self. New fields normal_color, highlight_color and
17754 data. All users updated.
17755 (grub_putchar): Removed.
17756 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
17757 (grub_unicode_estimate_width): New function.
17758 (grub_term_getcharwidth): Add defaults.
17759 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
17760 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
17761 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
17762 (grub_cls): Remove EXPORT_FUNC.
17763 (grub_setcolorstate): Inline.
17764 (grub_newline_hook): Removed.
17765 * include/grub/terminfo.h: Rewritten. All users updated.
17766 * include/grub/unicode.h: New file.
17767 * include/grub/video.h (grub_video_signed_rect): New type.
17768 * kern/emu/console.c (grub_console_highlight_color): Removed.
17769 (grub_console_normal_color): Likewise.
17770 (grub_console_standard_color): Made static.
17771 (grub_ncurses_putchar): Remove mapping.
17772 (grub_ncurses_getcharwidth): Removed.
17773 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17774 (grub_ncurses_setcolor): Removed.
17775 (grub_ncurses_getcolor): Likewise.
17776 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
17777 (grub_console_putchar): ... this.
17778 (grub_console_putchar): Handle argument difference.
17779 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
17780 console_init_early and console_init_lately.
17781 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
17782 * kern/misc.c (grub_puts): Removed.
17783 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
17784 (grub_vsnprintf_real): Remove str = NULL support.
17785 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
17786 * normal/charset.c (grub_utf8_to_ucs4): ... here.
17787 * kern/term.c (grub_putcode): Renamed to ...
17788 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
17789 (grub_putchar): Removed.
17790 (grub_xputs_dumb): New function.
17791 (grub_xputs): New variable.
17792 * lib/charset.c: Move from here ...
17793 * normal/charset.c: ... to here.
17794 (grub_ucs4_to_utf8): New function.
17795 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
17796 (join_types): New variable.
17797 (unpack_join): New function.
17798 (bidi_types): New variable.
17799 (unpack_bidi): New function.
17800 (get_bidi_type): Likewise.
17801 (get_join_type): Likewise.
17802 (is_mirrored): Likewise.
17803 (grub_unicode_get_comb_type): Likewise.
17804 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
17805 (is_type_after): Likewise.
17806 (grub_unicode_aglomerate_comb): Likewise.
17807 (bidi_line_wrap): Likewise.
17808 (grub_bidi_line_logical_to_visual): Likewise.
17809 (grub_bidi_logical_to_visual): Likewise.
17810 (grub_unicode_mirror_code): Likewise.
17811 (grub_unicode_shape_code): Likewise.
17812 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
17813 Don't use grub_putchar.
17814 * normal/main.c (grub_normal_init_page): Use grub_putcode.
17815 (grub_normal_reader_init): Likewise.
17816 (grub_xputs_saved): New variable.
17817 (GRUB_MOD_INIT): Set grub_xputs.
17818 (GRUB_MOD_FINI): Restore grub_xputs.
17819 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
17820 (menu_init): Avoid printing gfxmenu error.
17821 (show_menu): Use grub_normal_get_char_counter.
17822 * normal/menu_entry.c (update_screen): Fix out-of-array.
17823 (complete): Avoid NULL dereferencing.
17824 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
17825 * normal/menu_text.c (print_spaces): Removed.
17826 (grub_print_ucs4): Likewise.
17827 (grub_print_message_indented): Use grub_print_ucs4.
17828 (print_message): Use grub_putcode.
17829 (print_entry): Hanlde diacritics.
17830 * normal/term.c (term_state): New type.
17831 (grub_more_lines): Removed.
17832 (term_states): New variable.
17833 (grub_normal_line_counter): Renamed to ..
17834 (grub_normal_char_counter): ...this. All users updated.
17835 (grub_normal_get_line_counter): Renamed to ...
17836 (grub_normal_get_char_counter): ... this.
17837 (grub_normal_reset_more): New function.
17838 (process_newline): Removed.
17839 (print_more): New function.
17840 (grub_install_newline_hook): Removed.
17841 (map_code): New function.
17842 (grub_puts_terminal): Use grub_print_ucs4.
17843 (putglyph): New function.
17844 (putcode_real): Likewise.
17845 (grub_putcode): Use putcode_real.
17846 (get_maxwidth): New function.
17847 (get_startwidth): Likewise.
17848 (print_ucs4_terminal): Likewise.
17849 (find_term_state): Likewise.
17850 (put_glyphs_terminal): Likewise.
17851 (print_backlog): Likewise.
17852 (print_ucs4_real): Likewise.
17853 (grub_print_ucs4): Likewise.
17854 (grub_xputs_normal): Likewise.
17855 * term/efi/console.c (grub_console_putchar): Output diacritics.
17856 (grub_console_getcharwidth): Removed.
17857 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17858 * term/gfxterm.c (clear_char): Free chars.
17859 (scroll_up): Avoid leaking memory.
17860 (grub_gfxterm_putchar): Support diacritics.
17861 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17862 * term/i386/pc/console.c (grub_console_term_output): Declare as
17863 GRUB_TERM_CODE_TYPE_VGA.
17864 * term/i386/pc/vga.c (grub_vga_term): Declare as
17865 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
17866 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
17867 GRUB_TERM_CODE_TYPE_VGA.
17868 * term/i386/vga_common.c (map_char): Removed.
17869 (grub_console_putchar): Likewise.
17870 (grub_console_getcharwidth): Likewise.
17871 * term/ieee1275/ofconsole.c: Simplify using terminfo.
17872 (colors): Reordered to match terminfo.
17873 (grub_ofconsole_normal_color): Removed.
17874 (grub_ofconsole_writeesc): Likewise.
17875 (grub_ofconsole_highlight_color): Likewise.
17876 (grub_ofconsole_getcharwidth): Likewise.
17877 (grub_ofconsole_setcolorstate): Likewise.
17878 (grub_ofconsole_setcolor): Likewise.
17879 (grub_ofconsole_getcolor): Likewise.
17880 (grub_ofconsole_readkey): Renamed to ...
17881 (readkey): ... this. Remove escape sequence handling. Return -1 on no
17883 (grub_ofconsole_checkkey): Removed.
17884 (grub_ofconsole_getkey): Likewise.
17885 (grub_ofconsole_getxy): Likewise.
17886 (grub_ofconsole_gotoxy): Likewise.
17887 (grub_ofconsole_cls): Likewise.
17888 (grub_ofconsole_refresh): Likewise.
17889 (grub_ofconsole_terminfo_input): New struct.
17890 (grub_ofconsole_terminfo_output): Likewise.
17891 (grub_ofconsole_term_input): Use terminfo.
17892 (grub_ofconsole_term_output): Likewise.
17893 (grub_console_init): Split into ...
17894 (grub_console_init_early): ...this and ...
17895 (grub_console_init_lately): ...this. Use terminfo.
17896 (grub_ofconsole_putchar): Renamed to ...
17897 (put): ... this. Remove mapping.
17898 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17899 * term/serial.c: Simplify using terminfo.
17902 (keep_track): Likewise.
17903 (registered): Likewise.
17904 (input_buf): Likewise.
17905 (npending): Likewise.
17906 (serial_translate_key_sequence): Likewise.
17907 (fill_input_buf): Likewise.
17908 (grub_serial_checkkey): Likewise.
17909 (grub_serial_getkey): Likewise.
17910 (grub_serial_getxy): Likewise.
17911 (grub_serial_gotoxy): Likewise.
17912 (grub_serial_putchar): Likewise.
17913 (grub_serial_cls): Likewise.
17914 (grub_serial_setcolorstate): Likewise.
17915 (grub_serial_setcursor): Likewise.
17916 (serial_hw_init): Use serial_hw_fetch.
17917 (grub_serial_terminfo_input): New variable.
17918 (grub_serial_terminfo_output): Likewise.
17919 (grub_serial_term_input): Use terminfo.
17920 (grub_serial_term_output): Likewise.
17921 * term/terminfo.c (putstr): Use put.
17922 (grub_terminfo_all_free): New function
17923 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
17924 (grub_terminfo_output_register): New function.
17925 (grub_terminfo_output_unregister): Likewise.
17926 (grub_terminfo_getxy): Likewise.
17927 (grub_terminfo_readkey): Likewise.
17928 (grub_terminfo_checkkey): Likewise.
17929 (grub_terminfo_getkey): Likewise.
17930 (grub_terminfo_input_init): Likewise.
17931 (print_terminfo): Likewise.
17932 (grub_cmd_terminfo): Handle encoding.
17933 (grub_terminfo_gotoxy): Track position.
17934 (grub_terminfo_cls): Likewise.
17935 (grub_terminfo_putchar): Likewise.
17936 (grub_terminfo_setcolorstate): Handle colors
17937 (grub_terminfo_cursor_on): This ...
17938 (grub_terminfo_cursor_off): ... and this merged into ...
17939 (grub_terminfo_setcursor): ... this.
17940 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
17941 * unicode/ArabicShaping.txt: New file (imported from Unicode).
17942 * unicode/BidiMirroring.txt: Likewise.
17943 * unicode/UnicodeData.txt: Likewise.
17944 * unicode/COPYING: Likewise.
17945 * util/grub-editenv.c (grub_putchar): Removed.
17946 (grub_xputs_real): New function.
17947 (grub_xputs): New variable.
17948 * util/grub-fstest.c (grub_putchar): Removed.
17949 (grub_xputs_real): New function.
17950 (grub_xputs): New variable.
17951 * util/grub-mkdevicemap.c (grub_putchar): Removed.
17952 (grub_xputs_real): New function.
17953 (grub_xputs): New variable.
17954 * util/grub-probe.c (grub_putchar): Removed.
17955 (grub_xputs_real): New function.
17956 (grub_xputs): New variable.
17957 * util/grub-script-check.c (grub_putchar): Removed.
17958 (grub_xputs_real): New function.
17959 (grub_xputs): New variable.
17960 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
17961 (grub_xputs_real): New function.
17962 (grub_xputs): New variable.
17963 * util/import_unicode.py: New file.
17964 * util/grub-mkfont.c (ft_errmsgs): New array.
17965 (grub_glyph_info): Make bitmap a pointer.
17966 (file_formats): New type WIDTH_SPEC.
17967 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
17968 (options): Add width-spec.
17970 (add_char): Renamed to ...
17971 (add_glyph): ... this.
17972 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
17973 (glyph_replace): New type.
17974 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
17975 (add_char): New function.
17976 (add_subst): Likewise.
17977 (process_cursive): Likewise.
17978 (add_font): Handle GSUB.
17979 (write_font_width_spec): New function.
17980 (main): Sort glyphs.
17981 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
17982 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
17983 * kern/term.c (grub_cls): Moved from here...
17984 * normal/term.c (grub_cls): ... here.
17986 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
17988 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
17989 suitable for using within the format argument of printf when
17990 converting grub_size_t.
17991 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
17992 "x" to convert grub_size_t arguments.
17994 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17996 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
17998 (list_get_minimal_size): Take selection box into account.
18000 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18002 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18005 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18007 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18008 devices when iterating over /dev/disk/by-id; they will be handled
18009 later if appropriate, which they aren't always (e.g. LVM).
18011 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18013 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18014 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18016 (grub_halt): Likewise.
18017 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18019 (grub_halt): Don't return, even if all of shut-down, power-off, and
18022 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18024 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18025 arguments, not three.
18027 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18029 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18030 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18031 LVM-on-RAID is handled correctly.
18033 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18035 * docs/grub.texi (Changes from GRUB Legacy): New section.
18036 (Future): Fix typo.
18038 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18040 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18041 grub.d/README accidentally ends up executable for one reason or
18042 another. Ignore it.
18044 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18046 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18047 (gpt_partition_map_iterate): Support non-512B sectors.
18049 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18051 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18052 Tested by: Seth Goldberg.
18054 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18056 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18057 Properly align mbi.
18058 Reported by: Seth Goldberg.
18060 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18062 * util/grub-mkrescue.in: Avoid module duplication.
18064 2010-07-01 Sean Finney <seanius@seanius.net>
18066 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18068 2010-07-01 Sean Finney <seanius@seanius.net>
18070 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18072 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18074 * disk/lvm.c (grub_lvm_checkvalue): New function.
18075 (grub_lvm_check_flag): Likewise.
18077 2010-07-01 Robert Millan <rmh@gnu.org>
18079 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18080 Support 'p' as partition separator on kernel of FreeBSD (used
18082 (grub_util_biosdisk_get_grub_dev): Likewise.
18084 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18086 Yeeloong firmware port.
18088 * boot/mips/yeeloong/fwstart.S: New file.
18089 * bus/cs5536.c (gpiodump): New const.
18090 (set_io_space): New function.
18091 (set_iod): Likewise.
18092 (set_p2d): Likewise.
18093 (grub_cs5536_init_geode): Likewise.
18094 * commands/mips/yeeloong/lsspd.c: New file.
18095 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18096 (serial_mod_SOURCES): New variable.
18097 (serial_mod_CFLAGS): Likewise.
18098 (serial_mod_LDFLAGS): Likewise.
18099 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18100 term/terminfo.c and term/tparm.c.
18101 (pkglib_IMAGES): Add fwstart.img.
18102 (fwstart_img_SOURCES): New variable.
18103 (fwstart_img_CFLAGS): Likewise.
18104 (fwstart_img_ASFLAGS): Likewise.
18105 (fwstart_img_LDFLAGS): Likewise.
18106 (fwstart_img_FORMAT): Likewise.
18107 (pkglib_MODULES): Add lsspd.mod.
18108 (lsspd_mod_SOURCES): New variable.
18109 (lsspd_mod_CFLAGS): Likewise.
18110 (lsspd_mod_LDFLAGS): Likewise.
18111 (pkglib_MODULES): Add halt.mod.
18112 (halt_mod_SOURCES): New variable.
18113 (halt_mod_CFLAGS): Likewise.
18114 (halt_mod_LDFLAGS): Likewise.
18115 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18116 (serial_mod_SOURCES): Removed.
18117 (serial_mod_CFLAGS): Likewise.
18118 (serial_mod_LDFLAGS): Likewise.
18119 * disk/ata.c (check_device): New function.
18120 (grub_ata_device_initialize): Use check_device.
18121 (grub_ata_iterate): Recheck devices.
18122 (grub_ata_open): Likewise.
18123 (grub_atapi_iterate): Likewise.
18124 (grub_atapi_open): Likewise.
18125 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18126 (GRUB_ATA_CH1_PORT1): Likewise.
18127 (GRUB_ATA_CH0_PORT2): Likewise.
18128 (GRUB_ATA_CH1_PORT2): Likewise.
18129 * include/grub/mips/loongson.h: New file.
18130 * include/grub/mips/yeeloong/ec.h: Likewise.
18131 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18132 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18133 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18134 * include/grub/misc.h (grub_halt): Declare as noreturn.
18135 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18136 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18137 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18138 (UART_ENABLE_DTRRTS): Likewise.
18139 (UART_ENABLE_MODEM): Removed.
18140 (UART_ENABLE_OUT2): New const.
18141 * include/grub/term.h (grub_term_register_input_active): New function.
18142 (grub_term_register_output_active): Likewise.
18143 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18145 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18146 (init_pci): New function.
18147 (grub_machine_init): Execute platform init when firmware. Init serial.
18148 (grub_halt): Implement.
18149 (grub_exit): Likewise.
18150 (grub_reboot): Likewise.
18151 * term/serial.c (serial_hw_init): Update macros.
18152 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18153 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18154 (image_targets): New target mipsel-yeeloong-flash.
18155 (generate_image): Support IMAGE_YEELOONG_FLASH.
18156 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18157 (grub_video_sm712_setup): Init card.
18158 (grub_video_sm712_set_palette): Removed.
18159 * video/sm712_init.c: New file.
18161 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
18163 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18164 PATH when running help2man and then run it on the unadorned
18165 executable names, rather than passing $(builddir)/* paths to
18166 help2man. This avoids the build directory ending up in generated
18169 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18171 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18172 to avoid accidents when debugging with 'sh -x'.
18173 * util/grub-mkrescue.in: Likewise.
18174 * util/grub.d/00_header.in: Likewise.
18175 * util/grub.d/10_hurd.in: Likewise.
18176 * util/grub.d/10_kfreebsd.in: Likewise.
18177 * util/grub.d/10_linux.in: Likewise.
18178 * util/grub.d/10_netbsd.in: Likewise.
18179 * util/grub.d/10_windows.in: Likewise.
18180 * util/grub.d/20_linux_xen.in: Likewise.
18181 * util/grub.d/30_os-prober.in: Likewise.
18182 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18184 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18186 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18187 last character in the buffer.
18188 Reported by: Vladimir Serbinenko.
18190 2010-06-29 Robert Millan <rmh@gnu.org>
18192 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18193 (Command-line and menu entry commands): Document `badram' command.
18195 2010-06-28 Robert Millan <rmh@gnu.org>
18197 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18198 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18199 command using ${GRUB_BADRAM} as parameter.
18201 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18203 * docs/grub.texi (Device map): New section.
18204 (Themes): New section (stub).
18205 * Makefile.in (docs/grub.info): The info documentation now builds
18206 without errors. Make sure it stays that way.
18208 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18210 Use normal parser for menu entries.
18211 Reported by: Thomas Frauendorfer
18213 * include/grub/parser.h (grub_parser_execute): Don't export.
18214 * normal/menu.c (grub_menu_execute_entry_real): New function.
18215 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18217 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18219 * docs/grub.texi (Embedded configuration): New section (replacing
18220 old "Preset Menu" stub).
18221 (Images): New section.
18222 (configfile): Note that any menu entries defined in `file' are shown
18225 2010-06-28 Josh Triplett <josh@joshtriplett.org>
18227 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18229 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18231 * util/grub-install.in: Add --debug-image= option.
18233 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18235 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18238 * util/deviceiter.c (check_device): Rename to ...
18239 (check_device_readable_unique): ... this. Update all callers.
18240 Maintain and check a list of which devices (by canonicalized name)
18241 have already been seen.
18242 (clear_seen_devices): New function.
18243 (compare_file_names) [__linux__]: New function.
18244 (grub_util_iterate_devices): Clear the list of seen devices on exit
18245 and (just in case) on entry.
18246 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18247 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18248 seen-devices list, superseded by general code in check_device.
18250 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18252 * commands/cat.c (options): New variable.
18253 (grub_cmd_cat): Parse options. If the --dos option is given, print
18254 DOS-style "\r\n" line endings as simple newlines (Debian bug
18256 (GRUB_MOD_INIT): Use extcmd.
18257 (GRUB_MOD_FINI): Likewise.
18258 * docs/grub.texi (cat): Document --dos.
18260 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18262 XEN with Linux grub-mkconfig support.
18264 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18265 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18266 GRUB_CMDLINE_XEN_DEFAULT.
18267 * util/grub.d/20_linux_xen.in: New file.
18269 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18271 Initialise VGA video on qemu ourselves.
18273 * boot/i386/qemu/boot.S: Don't call 0xc000.
18274 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18275 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18276 (kernel_img_HEADERS): Add pci.h.
18277 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18278 * configure.ac: Force unifont on qemu and yeeloong.
18279 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18280 (grub_vga_palette_write): Use correct register.
18281 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18282 Call grub_qemu_init_cirrus.
18283 * kern/i386/qemu/init.c: New file.
18284 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18286 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18288 2010-06-26 Pavel Roskin <proski@gnu.org>
18290 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18293 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18295 * docs/grub.texi (Simple configuration): Explain that
18296 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18297 set to `true' to disable their respective recovery entries, not
18300 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18302 Make the `source' command slightly faster.
18304 * normal/main.c (grub_normal_execute): Don't re-read list files when
18307 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18309 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18310 field position and mask size to red fields from mode_info, not
18312 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18313 Remove redundant tag->common.framebuffer_type assignment.
18314 Reported by: Seth Goldberg.
18316 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18318 Sync up other versions of the Linux loader with Robert Millan's
18319 change of 2010-01-09, "Make loader output a bit more user-friendly".
18321 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18323 (grub_cmd_linux): Likewise.
18324 (grub_cmd_initrd): Likewise.
18325 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18326 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18328 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
18330 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18331 larger than MEMORY_MAP_SIZE.
18333 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18335 Fix parallel build.
18337 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18339 * script/parser.y: #include grub_script.tab.h header.
18341 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18343 Support >3GiB and <16MiB RAM in i386-qemu.
18345 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18346 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18347 (grub_lower_mem): Removed.
18348 (grub_upper_mem): Likewise.
18349 (mem_size): Made static.
18350 (above_4g): New variable.
18351 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18352 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18355 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18357 Cirrus 5446 and Bochs video cards support.
18359 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
18361 (video_cirrus_mod_SOURCES): New variable.
18362 (video_cirrus_mod_CFLAGS): Likewise.
18363 (video_cirrus_mod_LDFLAGS): Likewise.
18364 (video_bochs_mod_SOURCES): Likewise.
18365 (video_bochs_mod_CFLAGS): Likewise.
18366 (video_bochs_mod_LDFLAGS): Likewise.
18367 * include/grub/vga.h: New file.
18368 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
18369 (grub_video_fb_set_page_t): New type.
18370 (grub_video_fb_setup): New prototype.
18371 (grub_video_fb_swap_buffers): Likewise.
18372 (grub_video_fb_get_info_and_fini): Likewise.
18373 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
18374 (CRTC_DATA_PORT): Likewise.
18375 (CRTC_CURSOR): Likewise.
18376 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18377 (CRTC_CURSOR_ADDR_LOW): Likewise.
18378 (CRTC_CURSOR_DISABLE): Likewise.
18379 (update_cursor): Use grub_vga_cr_write.
18380 (grub_vga_text_setcursor): Likewise.
18381 * video/bochs.c: New file.
18382 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
18383 (palette): Likewise.
18384 (palette_size): Likewise.
18385 (framebuffer): New variable.
18386 (grub_video_fb_init): Use 'framebuffer'.
18387 (grub_video_fb_fini): Likewise.
18388 (grub_video_fb_get_info): Likewise.
18389 (grub_video_fb_get_palette): Likewise.
18390 (grub_video_fb_set_palette): Likewise.
18391 (grub_video_fb_set_viewport): Likewise.
18392 (grub_video_fb_get_viewport): Likewise.
18393 (grub_video_fb_map_color): Likewise.
18394 (grub_video_fb_map_rgb): Likewise.
18395 (grub_video_fb_map_rgba): Likewise.
18396 (grub_video_fb_unmap_color): Likewise.
18397 (grub_video_fb_unmap_color_int): Likewise.
18398 (grub_video_fb_fill_rect): Likewise.
18399 (grub_video_fb_blit_bitmap): Likewise.
18400 (grub_video_fb_blit_render_target): Likewise.
18401 (grub_video_fb_scroll): Likewise.
18402 (grub_video_fb_create_render_target): Likewise.
18403 (grub_video_fb_doublebuf_blit_init): Likewise.
18404 (grub_video_fb_set_active_render_target): Handle doublebuffering.
18405 (doublebuf_pageflipping_update_screen): New function.
18406 (doublebuf_pageflipping_init): Likewise.
18407 (grub_video_fb_setup): Likewise.
18408 (grub_video_fb_swap_buffers): Likewise.
18409 (grub_video_fb_get_info_and_fini): Likewise.
18410 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
18412 (doublebuf_pageflipping_commit): Restructured into ...
18413 (doublebuf_pageflipping_set_page): ... this.
18414 (doublebuf_pageflipping_update_screen): Removed.
18415 (doublebuf_pageflipping_init): Likewise.
18416 (double_buffering_init): Likewise.
18417 (grub_video_vbe_setup): Use grub_video_fb_setup.
18418 (grub_video_vbe_swap_buffers): Removed.
18419 (grub_video_vbe_set_active_render_target): Likewise.
18420 (grub_video_vbe_get_active_render_target): Likewise.
18421 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
18422 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
18423 grub_video_fb_set_active_render_target and
18424 grub_video_fb_get_active_render_target.
18425 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
18426 (SEQUENCER_DATA_PORT): Likewise.
18427 (MAP_MASK_REGISTER): Likewise.
18428 (CRTC_ADDR_PORT): Likewise.
18429 (CRTC_DATA_PORT): Likewise.
18430 (START_ADDR_HIGH_REGISTER): Likewise.
18431 (START_ADDR_LOW_REGISTER): Likewise.
18432 (GRAPHICS_ADDR_PORT): Likewise.
18433 (GRAPHICS_DATA_PORT): Likewise.
18434 (READ_MAP_REGISTER): Likewise.
18435 (INPUT_STATUS1_REGISTER): Likewise.
18436 (INPUT_STATUS1_VERTR_BIT): Likewise.
18437 (get_map_mask): Use grub_vga_sr_read.
18438 (set_map_mask): Use grub_vga_sr_write.
18439 (set_read_map): Use grub_vga_gr_write.
18440 (set_start_address): Use grub_vga_cr_write.
18441 * video/sm712.c (framebuffer): Remove leftover fields.
18443 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
18445 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
18446 setting GRUB_VIDEO_BACKEND. Make it available as a user override
18447 instead. Replace the gfxterm backend check with a check that
18448 ${GRUB_PREFIX}/video.lst is non-empty.
18449 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
18451 (load_video): New generated function. Call it before loading
18452 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
18453 * util/grub.d/10_linux.in (linux_entry): Call load_video.
18454 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
18455 * docs/grub.texi (Simple configuration): Document
18456 GRUB_VIDEO_BACKEND.
18458 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18460 Use video functions in linux and xnu loaders.
18462 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
18463 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
18464 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
18465 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
18466 loader/i386/pc/linux.c.
18467 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
18468 (find_line_len): Removed.
18469 (find_framebuf): Likewise.
18470 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
18471 * loader/i386/efi/xnu.c: Removed.
18472 * loader/i386/pc/xnu.c: Moved from here...
18473 * loader/i386/xnu.c: ...here.
18475 Enable priorities in video drivers.
18477 * include/grub/video.h (grub_video_adapter_prio_t): New type.
18478 (grub_video_adapter): New field prio.
18479 (grub_video_register): Respect prio when inserting.
18480 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
18481 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
18482 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
18483 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
18484 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
18485 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
18486 * video/sm712.c (grub_video_sm712_adapter): Likewise.
18490 * include/grub/video.h (grub_video_driver_id_t): New value
18491 GRUB_VIDEO_DRIVER_SDL.
18492 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
18494 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18496 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
18497 argument to printf.
18498 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18500 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18502 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
18503 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18505 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18507 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
18508 directly, and recommend grub-install instead.
18509 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18511 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18513 Fix i386-pc prefix handling with nested partitions (Debian bug
18514 #585068). Note that the case where the core image is booted using
18515 multiboot and relocated from its original location still requires
18518 * kern/i386/pc/init.c (make_install_device): If the prefix starts
18519 with "(,", fill the boot drive in between those two characters, but
18520 expect that a full partition specification including partition map
18522 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
18523 specified, write a prefix without the drive name but including a
18524 full partition specification.
18526 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
18528 * util/grub-mkconfig.in: Ignore non-option arguments, for
18529 compatibility with older versions (before 2010-06-12) which did the
18530 same. In particular, this makes it easier to ship an update-grub
18531 wrapper which is compatible with that used with GRUB Legacy (Debian
18534 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18536 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
18537 for manual page generation.
18539 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18541 * po/POTFILES: Remove leftover commands/handler.c.
18543 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
18545 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
18546 left this script non-functional.
18548 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
18550 * docs/man/grub-emu.h2m: New file.
18552 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
18554 * docs/grub.texi (Commands): Document reduced command set in rescue
18556 (cpuid): New section.
18558 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
18560 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
18561 new partition naming style.
18562 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
18564 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
18566 Add "-o grub.iso" like cmdline options support.
18568 * util/grub-install.in: Improve cmdline option parsing.
18569 * util/grub-mkconfig.in: Likewise.
18570 * util/grub-mkrescue.in: Likewise.
18571 * util/grub-reboot.in: Likewise.
18572 * util/grub-set-default.in: Likewise.
18573 * util/i386/efi/grub-install.in: Likewise.
18574 * util/ieee1275/grub-install.in: Likewise.
18575 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18577 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
18579 * .bzrignore: Ignore 41_custom.
18581 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18583 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
18585 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
18587 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
18588 prototype declarations.
18590 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
18591 generating fs, partmap, and video lists.
18592 * include/grub/fs.h (grub_fs_register): Omit prototype if
18593 GRUB_LST_GENERATOR is defined.
18594 * include/grub/partition.h (grub_partition_map_register): Likewise.
18595 * include/grub/video.h (grub_video_register): Likewise.
18597 2010-06-12 Javier Martín <lordhabbit@gmail.com>
18599 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
18601 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18603 * util/grub-mkrescue.in: Support --xorriso argument.
18605 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18607 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
18608 Suggested by: Thomas Schmitt.
18610 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18612 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
18613 Suggested by: Thomas Schmitt.
18615 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18617 custom.cfg support.
18619 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
18620 * util/grub.d/41_custom.in: New file.
18622 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
18624 * util/grub-mkrescue.in (make_image): Remove sh module, which has
18625 been merged back into normal.
18627 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
18629 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
18630 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
18632 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
18634 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
18635 when generating manual pages.
18636 * docs/man/grub-bin2h.h2m: New file.
18637 * docs/man/grub-editenv.h2m: New file.
18638 * docs/man/grub-fstest.h2m: New file.
18639 * docs/man/grub-install.h2m: New file.
18640 * docs/man/grub-macho2img.h2m: New file.
18641 * docs/man/grub-mkconfig.h2m: New file.
18642 * docs/man/grub-mkdevicemap.h2m: New file.
18643 * docs/man/grub-mkfont.h2m: New file.
18644 * docs/man/grub-mkimage.h2m: New file.
18645 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
18646 * docs/man/grub-mkrelpath.h2m: New file.
18647 * docs/man/grub-mkrescue.h2m: New file.
18648 * docs/man/grub-ofpathname.h2m: New file.
18649 * docs/man/grub-pe2elf.h2m: New file.
18650 * docs/man/grub-probe.h2m: New file.
18651 * docs/man/grub-reboot.h2m: New file.
18652 * docs/man/grub-script-check.h2m: New file.
18653 * docs/man/grub-set-default.h2m: New file.
18654 * docs/man/grub-setup.h2m: New file.
18656 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
18658 Use FOR_* macros instead of *_iterate whenever possible.
18660 * commands/handler.c: Removed.
18661 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
18662 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
18663 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18664 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
18665 (grub_probe_SOURCES): Remove kern/parser.c.
18666 (util/grub-script-check.c_DEPENDENCIES): Removed.
18667 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
18668 and grub_script_check_init.c.
18669 (grub_script_check_init.lst): Removed.
18670 (grub_script_check_init.h): Likewise.
18671 (grub_script_check_init.c): Likewise.
18672 (pkglib_MODULES): Remove handler.mod and sh.mod.
18673 (handler_mod_SOURCES): Removed.
18674 (handler_mod_CFLAGS): Likewise.
18675 (handler_mod_LDFLAGS): Likewise.
18676 (normal_mod_SOURCES): Remove normal/handler.c.
18677 Add script/main.c, script/script.c, script/execute.c,
18678 script/function.c, script/lexer.c, grub_script.tab.c
18679 and grub_script.yy.c.
18680 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18681 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18682 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
18683 (grub_setup_SOURCES): Remove kern/parser.c.
18684 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18685 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
18686 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18687 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18688 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18689 (grub_setup_SOURCES): Remove kern/parser.c.
18690 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18691 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
18692 * include/grub/command.h (grub_command_iterate): Removed.
18693 (FOR_COMMANDS): New macro.
18694 * include/grub/dl.h (grub_dl): New member next.
18695 (grub_dl_iterate): Removed.
18696 (grub_dl_head): New variable declaration.
18697 (FOR_DL_MODULES): New macro.
18698 * include/grub/fs.h: Include list.h.
18699 (grub_fs): Make next first element.
18700 (grub_fs_list): New variable declaration.
18701 (grub_fs_register): Make inline.
18702 (grub_fs_unregister): Likewise.
18703 (grub_fs_iterate): Removed.
18704 (FOR_FILESYSTEMS): New macro.
18705 * include/grub/handler.h: Removed.
18706 * include/grub/list.h (grub_list_hook_t): Removed.
18707 (grub_list_test_t): Likewise.
18708 (grub_list_pop): Likewise.
18709 (grub_list_iterate): Likewise.
18710 (grub_list_insert): Likewise.
18711 (FOR_LIST_ELEMENTS): New macro.
18712 * include/grub/parser.h (grub_parser_class): Removed.
18713 (grub_parser_register): Likewise.
18714 (grub_parser_unregister): Likewise.
18715 (grub_parser_get_current): Likewise.
18716 (grub_parser_set_current): Likewise.
18717 (grub_register_rescue_parser): Likewise.
18718 (grub_rescue_parse_line): New function.
18719 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
18720 * include/grub/script_sh.h (grub_script_function_list): New variable
18722 (FOR_SCRIPT_FUNCTIONS): New macro.
18723 (grub_script_function_iterate): Removed.
18724 (grub_normal_parse_line): New prototype.
18725 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
18726 (FOR_DISABLED_TERM_INPUTS): Likewise.
18727 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18728 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18729 * include/grub/video.h (grub_video_adapter): Move 'next' to first
18731 (grub_video_register): Inline.
18732 (grub_video_unregister): Likewise.
18733 (grub_video_adapter_list): New variable declaration.
18734 (grub_video_iterate): Removed.
18735 (FOR_VIDEO_ADAPTERS): New macro.
18736 * kern/dl.c (grub_dl_list): Removed. All users updated.
18737 (grub_dl_iterate): Removed.
18738 * kern/fs.c (grub_fs_list): Make global.
18739 (grub_fs_register): Removed.
18740 (grub_fs_unregister): Likewise.
18741 (grub_fs_iterate): Likewise.
18742 * kern/handler.c: Removed.
18743 * kern/list.c (grub_list_pop): Removed.
18744 (grub_list_iterate): Likewise.
18745 (grub_list_insert): Likewise.
18746 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
18747 (grub_prio_list_insert): Don't use grub_list_insert.
18748 * kern/main.c (grub_register_rescue_parser): Don't call
18749 grub_register_rescue_parser.
18750 * kern/parser.c (grub_parser_class): Removed.
18751 (grub_parser_execute): Use grub_rescue_parse_line.
18752 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
18753 (grub_rescue_parser): Removed.
18754 (grub_register_rescue_parser): Likewise.
18755 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
18756 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
18757 (grub_auth_check_authentication): Likewise.
18758 * normal/completion.c (iterate_command): Removed.
18759 (grub_normal_do_completion): Use FOR_COMMANDS.
18760 * normal/handler.c: Removed.
18761 * normal/main.c (read_config_file): Remove parser changing.
18762 (grub_normal_execute): Don't call read_handler_list.
18763 (grub_normal_read_line_real): Statically allocate prompt.
18764 (grub_cmdline_run): Use grub_normal_parse_line.
18765 (GRUB_MOD_FINI): Don't call free_handler_list.
18766 * normal/menu_entry.c (run): Likewise.
18767 * script/function.c (grub_script_function_list): Make global.
18768 (grub_script_function_iterate): Removed.
18769 * script/main.c (grub_normal_parse_line): Make global.
18770 (grub_sh_parser): Removed.
18771 (GRUB_MOD_INIT): Likewise.
18772 (GRUB_MOD_FINI): Likewise.
18773 * tests/lib/functional_test.c (grub_functional_test): Use
18775 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
18776 (grub_test_run): Use FOR_LIST_ELEMENTS.
18777 * tests/lib/unit_test.c (main): Likewise.
18778 * util/deviceiter.c (grub_util_iterate_devices): Don't use
18780 * util/grub-fstest.c (grub_term_input_class): Removed.
18781 (grub_term_output_class): Likewise.
18782 * util/grub-probe.c: Likewise.
18783 * util/i386/pc/grub-setup.c: Likewise.
18784 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18785 * util/grub-script-check.c (main): Don't call grub_init_all and
18787 * video/video.c (grub_video_adapter_list): Make global.
18788 (grub_video_register): Removed.
18789 (grub_video_unregister): Likewise.
18790 (grub_video_iterate): Likewise.
18792 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
18794 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
18795 reported by Henrique Ferreiro.
18797 2010-06-09 Robert Millan <rmh@gnu.org>
18799 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
18800 ones, when both are available.
18802 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18804 Make --version uniform and avoid hard-coded program name.
18806 * util/grub-mkimage.c (main): Use `program_name' instead of
18808 * util/i386/pc/grub-setup.c (main): Likewise.
18809 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
18810 * util/grub-install.in: Save the basename of $0 in $self, and use the
18811 latter in informational messages. Use the same format for --version
18812 as the binary programs.
18813 * util/grub-mkconfig.in: Likewise.
18814 * util/grub-mkrescue.in: Likewise.
18815 * util/grub-reboot.in: Likewise.
18816 * util/grub-set-default.in: Likewise.
18817 * util/i386/efi/grub-install.in: Likewise.
18818 * util/ieee1275/grub-install.in: Likewise.
18819 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18821 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18823 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
18824 embedding area. Use <= instead of == when checking for non-emptiness.
18826 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18828 * configure.ac: Add `.' to the directories searched for unifont.
18830 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
18832 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
18835 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
18837 * docs/grub.texi (History): Expand to cover GRUB 2.
18838 (Serial terminal): Refer to `terminal_input' and `terminal_output'
18839 commands, not `terminal'.
18840 (serial): Likewise.
18841 (terminal_input): New section.
18842 (terminal_output): New section.
18843 (uppermem): New section (stub).
18844 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
18846 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
18848 * docs/grub.texi (Security): Menu entries are unrestricted by
18849 default, not restricted to superusers as I had previously thought.
18850 Reword to account for this.
18852 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18854 * kern/emu/misc.c (device_mapper_null_log): New function.
18855 (grub_device_mapper_supported): New function.
18856 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
18858 * kern/emu/hostdisk.c (find_partition_start): Check whether
18859 device-mapper is supported before trying to use it.
18860 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
18862 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18864 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
18865 (File name syntax): Likewise.
18866 (help): --all is no longer supported in GRUB 2. Be more precise
18867 about pattern matching.
18869 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18871 * normal/completion.c (grub_normal_do_completion): When completing
18872 arguments to "set" and the current word contains an equals sign,
18873 skip to after the equals sign before starting completion.
18875 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18877 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
18879 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18881 * docs/grub.texi (Network): New section.
18882 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
18883 `(nd)' as in GRUB Legacy.
18884 (pxe_unload): New section.
18886 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18888 * docs/grub.texi (Troubleshooting): `echo' is not usually available
18889 in the rescue shell, so recommend using `set' instead. Thanks,
18892 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18894 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
18895 (password): New section.
18896 (password_pbkdf2): New section.
18897 (search): New section.
18898 (Security): New section.
18899 (Troubleshooting): New section, currently very incomplete.
18900 (Invoking grub-mkpasswd-pbkdf2): New section.
18901 (Internals): New section, currently very incomplete.
18903 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18905 * util/grub.d/00_header.in: Add some more quoting (of
18906 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
18908 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
18910 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18912 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
18913 to `count', fixing variable shadowing that broke the -c option.
18915 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
18917 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
18918 in case they contain spaces.
18920 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
18922 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
18923 "part_" to partmap module names, in line with grub-install.
18924 Reported by: Jindřich Makovička (Debian bug #584426).
18926 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
18928 * util/grub-mkimage.c: Make target-related error messages slightly
18929 more helpful; -O talks about "format". Explicitly point to the use
18930 of -O if no target is specified.
18931 Reported by: Didier Raboud (Debian bug #584415).
18933 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
18935 * INSTALL: Document several build requirements for optional features
18936 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
18938 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18940 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
18941 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
18942 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
18944 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
18946 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
18947 Thanks to Jordan Uggla for spotting this.
18949 2010-06-02 Aleš Nesrsta <starous@volny.cz>
18951 Finally make USB usable.
18953 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
18954 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
18955 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
18956 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
18957 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
18958 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
18959 (GRUB_OHCI_FSMPS): Likewise.
18960 (GRUB_OHCI_PERIODIC_START): Likewise.
18961 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
18962 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
18963 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
18964 (GRUB_OHCI_SET_PORT_RESET): Likewise.
18965 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
18966 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
18967 (grub_ohci_transaction): Likewise.
18968 (grub_ohci_transfer): Improve condition detection algorithms.
18969 Handle toggle property. Program the transactions correctly.
18970 Improve error handling. Various important fixups.
18971 (grub_ohci_portstatus): Put register writes in right order.
18972 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
18973 (grub_uhci_transfer): Don't show "failed" message on success.
18974 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
18976 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
18977 determine its size.
18978 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
18979 before initialization is completed. Use IN direction for empty
18980 transfers. Use last_trans and compute toggle.
18981 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
18982 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
18983 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
18984 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
18985 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
18986 (grub_usb_device): Increase toggle to 256.
18987 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
18988 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
18989 GRUB_USBMS_SUBCLASS_SFF8070.
18990 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
18991 (grub_scsi_inquiry): New member page and alloc_length.
18992 (grub_scsi_request_sense): New structure.
18993 (grub_scsi_request_sense_data): Likewise.
18994 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
18996 * disk/scsi.c (grub_scsi_request_sense): New function.
18997 (grub_scsi_test_unit_ready): Likewise.
18998 (grub_scsi_inquiry): Fill new fields.
18999 (grub_scsi_read_capacity): Likewise.
19000 (grub_scsi_read10): Add request sense at the end.
19001 (grub_scsi_read12): Likewise.
19002 (grub_scsi_write10): Likewise.
19003 (grub_scsi_write12): Likewise.
19004 (grub_scsi_open): Add Test Unit Ready.
19005 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19006 Support additional subclasses. Con't clear halt yet. Activate the
19007 proper config. Calculate LUNs correctly.
19008 (grub_usbms_transfer): Various important fixups.
19010 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19012 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19013 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19014 (grub_ohci_fini_hw): New function.
19015 (grub_ohci_restore_hw): Likewise.
19016 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19017 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19018 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19020 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19022 Dedicated DMA allocations.
19024 * bus/pci.c (grub_memalign_dma32): New function
19025 (grub_dma_free): Likewise.
19026 (grub_dma_get_virt): Likewise.
19027 (grub_dma_get_phys): Likewise.
19028 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19029 (grub_ohci_pci_iter): Use dma32_alloc.
19030 (grub_ohci_transfer): Likewise.
19031 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19032 (grub_usb_bulk_readwrite): Likewise.
19033 * include/grub/pci.h: Add declarations.
19035 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19039 * bus/cs5536.c: New file.
19040 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19041 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19042 (cs5536_mod_SOURCES): New variable.
19043 (cs5536_mod_CFLAGS): Likewise.
19044 (cs5536_mod_LDFLAGS): Likewise.
19045 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19047 (kernel_img_SOURCES): Add bus/cs5536.c.
19048 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19050 (usb_mod_SOURCES): New variable.
19051 (usb_mod_CFLAGS): New variable.
19052 (usb_mod_LDFLAGS): New variable.
19053 (usbtest_mod_SOURCES): New variable.
19054 (usbtest_mod_CFLAGS): New variable.
19055 (usbtest_mod_LDFLAGS): New variable.
19056 (ohci_mod_SOURCES): New variable.
19057 (ohci_mod_CFLAGS): New variable.
19058 (ohci_mod_LDFLAGS): New variable.
19059 (usbms_mod_SOURCES): New variable.
19060 (usbms_mod_CFLAGS): New variable.
19061 (usbms_mod_LDFLAGS): New variable.
19062 (usb_keyboard_mod_SOURCES): New variable.
19063 (usb_keyboard_mod_CFLAGS): New variable.
19064 (usb_keyboard_mod_LDFLAGS): New variable.
19065 * include/grub/smbus.h: New file.
19066 * include/grub/cs5536.h: New file.
19068 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19070 * util/grub.d/00_header.in: Add safety check to make sure that
19071 ${locale_dir} exists before trying to probe it.
19073 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19075 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19076 per the GNU Coding Standards; this is now too obscure to be worth
19079 (chainloader): Remove cross-reference to `SCO UnixWare'.
19081 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19083 * docs/grub.texi (Chain-loading): New section.
19084 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19085 adjusted for GRUB 2.
19086 (SCO UnixWare): Likewise.
19088 (chainloader): Add reference to `Block list syntax'.
19089 (drivemap): New section.
19090 (parttool): New section.
19092 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19094 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19096 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19097 (Installing GRUB using grub-install): Remove reference to the grub
19098 shell; mention `grub-mkimage' and `grub-setup' instead.
19099 (Invoking grub-install): Likewise.
19100 (Interface): Add reference to `Menu entry editor'.
19101 (serial): Remove `--device' option.
19103 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19105 * docs/grub.texi (Configuration): New section, documenting
19106 configuration file generation using grub-mkconfig. I've left a slot
19107 for documenting the full shell scripting format but have not yet
19108 started on writing that up.
19109 (Invoking grub-mkconfig): New section.
19111 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19113 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19114 (GNU GRUB manual): Likewise.
19115 (General commands): Update description of `terminfo' for GRUB 2.
19117 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19119 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19120 (GRUB_MOD_INIT): Fix capitalisation.
19121 * docs/grub.texi (Command-line and menu entry commands): Document
19122 gettext and gptsync commands.
19124 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19126 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19127 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19129 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
19131 Add btrfs probing support, currently only in the single-device case.
19133 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19135 (grub_guess_root_device): Call find_root_device_from_mountinfo
19136 before looking in /dev.
19138 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19140 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19141 GRUB_DISK_SIZE_UNKNOWN.
19142 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19144 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
19146 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19147 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19148 corrupted or not synced properly.
19150 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19152 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19153 Reported by: Seth Goldberg.
19155 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19157 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19159 Reported by: Seth Goldberg.
19161 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19163 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19164 Reported by: Seth Goldberg.
19166 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19168 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19169 64-bit address as signed on MIPS.
19171 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19173 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19174 to the empty string.
19176 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19178 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19180 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19181 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19182 * kern/misc.c (__enable_execute_stack): Disable on
19185 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19187 Make grub-probe work with symbolic links under /dev/mapper as well
19188 as with real block devices. The Linux world seems to be (at best)
19189 in transition here, and GRUB shouldn't get caught in the middle.
19191 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19194 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19196 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19197 input files (in which case exit zero).
19199 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19201 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19202 return NULL for various reasons even if it has a maximum-length
19203 buffer: for example, there might be a symlink loop, or the path
19204 might exceed PATH_MAX. If this happens, return NULL.
19206 2010-05-27 Robert Millan <rmh@gnu.org>
19208 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19209 partmap module to handle cross-partmap setups.
19210 Reported by Orestes Mas. Gràcies!
19212 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19214 * util/grub-mkrescue.in: Initialise override_dir rather than
19215 assuming that it's unset or empty in the environment.
19217 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19219 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19220 variable index into p_index to suppress a warning with -Wshadow.
19222 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19224 * INSTALL: Added flex >= 2.5.35 requirement.
19226 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19228 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19230 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19234 * commands/i386/cmostest.c: New file.
19235 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19236 (cmostest_mod_SOURCES): New variable.
19237 (cmostest_mod_CFLAGS): Likewise.
19238 (cmostest_mod_LDFLAGS): Likewise.
19239 * conf/i386-pc.rmk: Likewise.
19240 * docs/grub.texi (Vendor power-on keys): New section.
19241 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19242 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19243 and GRUB_BUTTON_CMOS_ADDRESS.
19244 * util/grub.d/00_header.in: Handle powering-on by separate button.
19246 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19248 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19249 Removed drawing_scrollbar argument. All users updated
19251 Reported by Jo Shields
19253 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19255 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19256 buffer since gfxterm handles double repaint.
19258 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19260 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19261 * term/gfxterm.c (real_scroll): Likewise.
19263 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19265 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19266 before calling BIOS.
19268 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19270 * include/grub/i18n.h: Always enable grub_gettext.
19272 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19274 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19275 partition naming style.
19277 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
19279 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19280 not the first option.
19282 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19284 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19286 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19288 * util/misc.c: Move inclusion of <limits.h> to ...
19289 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19291 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19293 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19294 Fix merge error in NetBSD code.
19295 (find_partition_start) [__NetBSD__]: Likewise.
19297 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19299 Fix grub-mkrescue usage unit testing.
19301 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19303 2010-05-18 Christian Franke <franke@computer.org>
19305 * util/grub.d/10_windows.in: Use path names instead of
19306 drive letters to prevent warning from Cygwin 1.7.
19307 Add drivemap command to menuentry if needed.
19309 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19311 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19312 gnumach and gnumach.gz.
19314 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19316 * include/grub/i18n.h (gettext): Inline instead of using #define.
19317 (grub_gettext): Likewise.
19320 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19322 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19323 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19324 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19325 (main): Add a slash after pkglibdirroot.
19327 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19329 * util/grub-install.in: Add missing "in" keyword.
19331 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19333 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19334 Reported by: Seth Goldberg.
19336 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19338 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19340 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19342 * configure.ac: Check for Linux device-mapper support.
19344 * util/hostdisk.c (device_is_mapped): New function.
19345 (find_partition_start): New function, partly broken out from
19346 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19347 device-mapper support added.
19348 (linux_find_partition): Use find_partition_start.
19349 (convert_system_partition_to_system_disk): Add `st' argument.
19350 Support Linux /dev/mapper/* devices if device-mapper support is
19351 available; only DM-RAID devices are understood at present.
19352 (find_system_device): Add `st' argument. Pass it to
19353 convert_system_partition_to_system_disk.
19354 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19355 find_system_device and convert_system_partition_to_system_disk. Use
19356 find_partition_start.
19358 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
19359 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
19360 * util/deviceiter.c [__linux__]: Define MINOR.
19361 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
19362 * util/mkdevicemap.c (grub_putchar): New function.
19363 (grub_getkey): New function.
19364 (grub_refresh): New function.
19365 (main): Set debug=all if -v -v is used.
19367 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19369 Fix build with non-GNU libcs.
19371 * util/misc.c (canonicalize_file_name): Move to ...
19372 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
19373 grub_make_system_path_relative_to_its_root.
19375 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19377 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
19378 we handle finding grub-mkimage. Default to finding grub-mkimage in
19379 ${bindir} with program_transform_name applied, and provide a
19380 --grub-mkimage option to override this.
19382 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19384 Remove grub-mkisofs.
19386 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
19387 (grub_mkisofs_SOURCES): Removed.
19388 (grub_mkisofs_CFLAGS): Removed.
19389 * util/mkisofs/defaults.h: Removed.
19390 * util/mkisofs/eltorito.c: Likewise.
19391 * util/mkisofs/exclude.h: Likewise.
19392 * util/mkisofs/hash.c: Likewise.
19393 * util/mkisofs/include/: Likewise.
19394 * util/mkisofs/include/fctldefs.h: Likewise.
19395 * util/mkisofs/include/mconfig.h: Likewise.
19396 * util/mkisofs/include/prototyp.h: Likewise.
19397 * util/mkisofs/include/statdefs.h: Likewise.
19398 * util/mkisofs/iso9660.h: Likewise.
19399 * util/mkisofs/joliet.c: Likewise.
19400 * util/mkisofs/match.c: Likewise.
19401 * util/mkisofs/match.h: Likewise.
19402 * util/mkisofs/mkisofs.c: Likewise.
19403 * util/mkisofs/mkisofs.h: Likewise.
19404 * util/mkisofs/msdos_partition.h: Likewise.
19405 * util/mkisofs/multi.c: Likewise.
19406 * util/mkisofs/name.c: Likewise.
19407 * util/mkisofs/rock.c: Likewise.
19408 * util/mkisofs/tree.c: Likewise.
19409 * util/mkisofs/write.c: Likewise.
19411 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19413 Unify grub-mkimage accross platforms.
19415 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
19416 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
19417 (grub_mkelfimage_SOURCES): Removed.
19418 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
19419 (util/grub-mkimage.c_DEPENDENCIES): .. this.
19420 (bin_UTILITIES): Add grub-mkimage.
19421 (grub_mkimage_SOURCES): New variable.
19422 (kernel_img_HEADERS): Remove machine/kernel.h.
19423 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
19424 (pkglib_PROGRAMS): Add kernel.img.
19425 (kernel_img_HEADERS): Add machine/kernel.h.
19426 (kernel_img_FORMAT): Removed.
19427 (bin_UTILITIES): Remove grub-mkimage.
19428 (grub_mkimage_SOURCES): Removed.
19429 (grub_mkimage_CFLAGS): Likewise.
19430 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19431 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
19432 (pkglib_PROGRAMS): Add kernel.img.
19433 (bin_UTILITIES): Remove grub-mkimage.
19434 (grub_mkimage_SOURCES): Removed.
19435 (grub_mkimage_CFLAGS): Likewise.
19436 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19437 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
19438 (pkglib_PROGRAMS): Add kernel.img.
19439 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
19440 (pkglib_PROGRAMS): Add kernel.img.
19441 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
19442 (grub_mkimage_SOURCES): Removed.
19443 (grub_mkimage_CFLAGS): Likewise.
19444 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19445 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
19446 (pkglib_PROGRAMS): Add kernel.img.
19447 (bin_UTILITIES): Remove grub-mkimage.
19448 (grub_mkimage_SOURCES): Removed.
19449 (grub_mkimage_CFLAGS): Likewise.
19450 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19451 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
19452 (grub_mkimage_SOURCES): Removed.
19453 (grub_mkimage_CFLAGS): Likewise.
19454 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19455 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
19456 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
19457 (grub_pe32_optional_header): ... this.
19458 (grub_pe64_optional_header): ... and this. All users updated.
19459 (GRUB_PE32_PE32_MAGIC): Split into ..
19460 (GRUB_PE32_PE32_MAGIC): .. this.
19461 (GRUB_PE32_PE64_MAGIC): .. and this.
19462 (GRUB_PE32_SIGNATURE_SIZE): New definition.
19463 * include/grub/elf.h (PT_GNU_STACK): New definition.
19464 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
19465 * include/grub/i386/efi/kernel.h: Likewise.
19466 * include/grub/i386/kernel.h: Likewise.
19467 * include/grub/i386/pc/kernel.h: Likewise.
19468 * include/grub/i386/qemu/boot.h: Likewise.
19469 * include/grub/mips/kernel.h: Likewise.
19470 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19471 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19472 * include/grub/powerpc/kernel.h: Likewise.
19473 * include/grub/sparc64/ieee1275/boot.h: Likewise.
19474 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19475 * include/grub/sparc64/kernel.h: Likewise.
19476 * include/grub/x86_64/efi/kernel.h: Likewise.
19477 * include/grub/x86_64/kernel.h: Likewise.
19478 * include/grub/offsets.h: New file.
19479 * include/grub/kernel.h (grub_module_info): Split into ...
19480 (grub_module_info32): ... this.
19481 (grub_module_info64): ... and this.
19482 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
19483 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
19484 (grub_boot_blocklist): Moved from here ...
19485 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
19486 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
19487 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
19488 * include/grub/types.h (grub_target_to_host16): Removed.
19489 (grub_target_to_host32): Likewise.
19490 (grub_target_to_host64): Likewise.
19491 (grub_host_to_target16): Likewise.
19492 (grub_host_to_target32): Likewise.
19493 (grub_host_to_target64): Likewise.
19494 (grub_host_to_target_addr): Likewise.
19496 Support grub-mkrescue for efi, coreboot and qemu.
19498 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
19499 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
19500 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
19501 * util/grub-mkrawimage.c: Moved from here ...
19502 * util/grub-mkimage.c: ... here. All users updated.
19503 (ALIGN_ADDR): Use image_target.
19504 (TARGET_NO_FIELD): New const.
19505 (image_target_desc): New type.
19506 (image_targets): New array.
19507 (grub_target_to_host64): Use image_target.
19508 (grub_target_to_host32): Likewise.
19509 (grub_target_to_host16): Likewise.
19510 (grub_host_to_target64): Likewise.
19511 (grub_host_to_target32): Likewise.
19512 (grub_host_to_target16): Likewise.
19513 (grub_host_to_target_addr): Likewise.
19514 (generate_image): Handle multiimage.
19515 (main): Require -O parameter. All users updated.
19516 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
19517 util/efi/grub-mkimage.c
19518 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
19519 New option --rom-directory.
19521 * util/i386/efi/grub-mkimage.c: Removed.
19522 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
19523 (grub_target_to_host32): Likewise.
19524 (grub_target_to_host64): Likewise.
19525 (grub_host_to_target16): Likewise.
19526 (grub_host_to_target32): Likewise.
19527 (grub_host_to_target64): Likewise.
19528 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
19529 (grub_target_to_host32): Likewise.
19530 (grub_target_to_host64): Likewise.
19531 (grub_host_to_target16): Likewise.
19532 (grub_host_to_target32): Likewise.
19533 (grub_host_to_target64): Likewise.
19535 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
19537 Source tree is reorganized for emu build.
19539 * include/grub/util/console.h: Move from here...
19540 * include/grub/emu/console.h: ...to here.
19541 * include/grub/util/getroot.h: Move from here...
19542 * include/grub/emu/getroot.h: ...to here.
19543 * include/grub/util/hostdisk.h: Move from here...
19544 * include/grub/emu/hostdisk.h: ...to here.
19545 * util/console.c: Move from here...
19546 * kern/emu/console.c: ...to here.
19547 * util/getroot.c: Move from here...
19548 * kern/emu/getroot.c: ...to here.
19549 * util/grub-emu.c: Move from here...
19550 * kern/emu/main.c: ...to here.
19551 * util/hostdisk.c: Move from here...
19552 * kern/emu/hostdisk.c: ...to here.
19553 * util/hostfs.c: Move from here...
19554 * kern/emu/hostfs.c: ...to here.
19555 * util/mm.c: Move from here...
19556 * kern/emu/mm.c: ...to here.
19557 * util/pci.c: Move from here...
19558 * bus/emu/pci.c: ...to here.
19559 * util/sdl.c: Move from here...
19560 * video/emu/sdl.c: ...to here.
19561 * util/time.c: Move from here...
19562 * kern/emu/time.c: ...to here.
19563 * util/usb.c: Move from here...
19564 * bus/usb/emu/usb.c: ...to here.
19566 * include/grub/emu/misc.h: New header for grub-emu functions.
19567 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
19569 * conf/any-emu.rmk: Rule updates for above renames.
19570 * conf/common.rmk: Likewise.
19571 * conf/i386-pc.rmk: Likewise.
19572 * conf/i386-qemu.rmk: Likewise.
19573 * conf/mips.rmk: Likewise.
19574 * conf/sparc64-ieee1275.rmk: Likewise.
19575 * conf/x86-efi.rmk: Likewise.
19577 * disk/lvm.h: #include updates for above renames.
19578 * util/grub-mkrelpath.c: Likewise.
19579 * util/grub-probe.c: Likewise.
19580 * util/i386/pc/grub-setup.c: Likewise.
19581 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19582 * kern/emu/console.c: Likewise.
19583 * kern/emu/getroot.c: Likewise.
19584 * kern/emu/hostdisk.c: Likewise.
19585 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
19587 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
19588 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
19589 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
19590 * util/misc.c: Remove grub-emu functions.
19592 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19595 Reported by: Thorsten Grützmacher.
19597 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
19599 (circprog_set_property): Register and unregister timeout hook.
19600 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
19601 (label_destroy): Free template. and unregister hook.
19602 (label_set_state): New function.
19603 (label_set_property): Handle templates and hooks.
19604 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
19606 (progress_bar_set_property): Register and unregister timeout hook.
19607 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
19608 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
19609 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
19610 (update_timeout_visit): Removed.
19611 (update_timeouts): New function.
19612 (redraw_timeouts): Likewise.
19613 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
19614 (grub_gfxmenu_clear_timeout): Likewise.
19615 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
19616 (grub_gfxmenu_timeout_notify): Likewise.
19617 (grub_gfxmenu_timeout_notifications): New external variable.
19618 (grub_gfxmenu_timeout_register): New function.
19619 (grub_gfxmenu_timeout_unregister): Likewise.
19621 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19623 Transform (broken) vga terminal into (working) vga video driver.
19625 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
19626 video/i386/pc/vga.c.
19627 * include/grub/video.h (grub_video_driver_id):
19628 Add GRUB_VIDEO_DRIVER_VGA.
19629 * term/i386/pc/vga.c: Renamed to ...
19630 * video/i386/pc/vga.c: ...this
19631 (DEBUG_VGA): Removed.
19632 (CHAR_WIDTH): Likewise.
19633 (CHAR_HEIGHT): Likewise.
19634 (TEXT_WIDTH): Likewise.
19635 (TEXT_HEIGHT): Likewise.
19636 (DEFAULT_FG_COLOR): Likewise.
19637 (DEFAULT_BG_COLOR): Likewise.
19638 (colored_char): Likewise.
19641 (cursor_state): Likewise.
19642 (fg_color): Likewise.
19643 (bg_color): Likewise.
19644 (text_buf): Likewise.
19647 (framebuffer): New variable.
19648 (set_read_map): Disabled.
19649 (setup): New variable.
19650 (is_target): Likewise.
19651 (grub_vga_mod_init): Likewise.
19652 (grub_vga_mod_fini): Likewise.
19653 (check_vga_mem): Likewise.
19654 (write_char): Likewise.
19655 (write_cursor): Likewise.
19656 (scroll_up): Likewise.
19657 (grub_vga_putchar): Likewise.
19658 (grub_vga_getcharwidth): Likewise.
19659 (grub_vga_getwh): Likewise.
19660 (grub_vga_getxy): Likewise.
19661 (grub_vga_gotoxy): Likewise.
19662 (grub_vga_cls): Likewise.
19663 (grub_vga_setcolorstate): Likewise.
19664 (grub_vga_setcursor): Likewise.
19665 (grub_video_vga_init): New function.
19666 (grub_video_vga_setup): Likewise.
19667 (grub_video_vga_fini): Likewise.
19668 (update_target): Likewise.
19669 (grub_video_vga_blit_bitmap): Likewise.
19670 (grub_video_vga_blit_render_target): Likewise.
19671 (grub_video_vga_set_active_render_target): Likewise.
19672 (grub_video_vga_get_active_render_target): Likewise.
19673 (grub_video_vga_swap_buffers): Likewise.
19674 (grub_video_vga_set_palette): Likewise.
19675 (grub_video_vga_get_info_and_fini): Likewise.
19676 (grub_vga_term): Removed.
19677 (grub_video_vga_adapter): New variable.
19678 (GRUB_MOD_INIT): Register a video driver instead of terminal.
19679 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
19681 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19683 * video/readers/jpeg.c: Indented.
19685 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19687 Various jpeg cleanups.
19689 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
19690 (grub_jpeg_decode_quan_table): Use sizeof.
19691 (grub_jpeg_decode_du): Use ARRAY_SIZE.
19693 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
19695 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
19696 tables. Ignore non-last ac bit.
19697 (grub_jpeg_decode_quan_table): Likewise.
19699 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19701 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
19702 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
19703 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19704 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
19705 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
19706 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
19708 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19710 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
19713 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19715 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
19717 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19719 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
19722 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19724 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
19727 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19729 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
19732 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19734 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
19736 2010-05-01 Christian Franke <franke@computer.org>
19738 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
19739 Remove broken Cygwin path conversion.
19740 * util/misc.c: [__CYGWIN__] Add include and define.
19741 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
19743 (make_system_path_relative_to_its_root): Simplify loop, replace early
19745 [__CYGWIN__] Add conversion to win32 path.
19746 Include "/" case in trailing slash removal.
19748 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19750 * kern/main.c (grub_load_config): Fix copy-pasted comment.
19751 Reported by: Seth Goldberg
19753 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19755 * commands/help.c (grub_cmd_help): Fix a typo.
19756 Reported by: Seth Goldberg
19758 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19760 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
19762 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
19763 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
19764 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
19765 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
19766 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
19767 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
19768 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19769 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19770 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19771 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19772 * normal/context.c (GRUB_MOD_INIT): Likewise.
19773 * normal/main.c (GRUB_MOD_INIT): Likewise.
19774 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19775 * term/serial.c (GRUB_MOD_INIT): Likewise.
19776 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19778 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19780 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
19783 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19785 * commands/iorw.c: New file.
19786 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
19787 (iorw_mod_SOURCES): New variable.
19788 (iorw_mod_CFLAGS): Likewise.
19789 (iorw_mod_LDFLAGS): Likewise.
19791 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19795 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
19796 * normal/main.c (hotkey_aliases): New variable.
19797 (grub_normal_add_menu_entry): Parse "--hotkey".
19798 * normal/menu_text.c (run_menu): Handle hotkeys.
19800 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19802 * kern/i386/coreboot/init.c (grub_machine_init): Call
19803 grub_machine_mmap_init on qemu.
19805 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19807 * boot/i386/qemu/boot.S: Add a missing .code16.
19809 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19811 Use LBIO on coreboot.
19813 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
19814 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
19815 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
19817 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
19818 grub_machine_mmap_init on coreboot.
19819 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
19820 GRUB_LINUXBIOS_MEMBER_LINK.
19821 (grub_machine_mmap_iterate): Fix declaration.
19822 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
19824 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19826 Split coreboot and multiboot ports.
19828 * conf/i386-multiboot.rmk: New file.
19829 * configure.ac: Add multiboot port.
19830 * include/grub/i386/multiboot/boot.h: New file.
19831 * include/grub/i386/multiboot/console.h: Likewise.
19832 * include/grub/i386/multiboot/init.h: Likewise.
19833 * include/grub/i386/multiboot/kernel.h: Likewise.
19834 * include/grub/i386/multiboot/loader.h: Likewise.
19835 * include/grub/i386/multiboot/memory.h: Likewise.
19836 * include/grub/i386/multiboot/serial.h: Likewise.
19837 * include/grub/i386/multiboot/time.h: Likewise.
19838 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
19839 * loader/multiboot.c: Likewise.
19840 * loader/multiboot_mbi2.c: Likewise.
19841 * util/grub-mkrescue.in: Generate multiboot rescue.
19843 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19845 * kern/parser.c (grub_parser_execute): Cope with read-only config.
19847 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19849 Merge handling of input and output terminals. Fix a hang.
19851 * commands/terminal.c (abstract_terminal): New struct.
19852 (handle_command): New function. Based on grub_cmd_terminal_input.
19853 (grub_cmd_terminal_input): Use handle_command.
19854 (grub_cmd_terminal_output): Use handle_command.
19856 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
19858 Fix comment handling.
19860 * tests/grub_script_comments.in: New testcase.
19861 * conf/tests.rmk: Rules for new testcase.
19862 * script/yylex.l: Updated flex rules.
19864 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
19866 * docs/grub.texi (play): Document that zero pitches produce rests.
19867 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
19870 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19872 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
19875 2010-04-26 Christian Franke <franke@computer.org>
19877 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
19878 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
19879 (grub_get_prefix): Remove function.
19880 * util/grub-emu.c (main): Replace grub_get_prefix () call by
19881 make_system_path_relative_to_its_root ().
19882 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19884 2010-04-24 Christian Franke <franke@computer.org>
19886 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
19887 (kernel_img_LDFLAGS): Remove -static-libgcc.
19889 2010-04-24 Christian Franke <franke@computer.org>
19891 * configure.ac: Do not CHECK_BSS_START_SYMBOL
19892 and CHECK_END_SYMBOL if grub-emu is built.
19893 Unset TARGET_OBJ2ELF if grub-emu is built
19894 without module support.
19896 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
19900 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
19901 (grub_fstest_SOURCES): Likewise.
19902 (pkglib_MODULES): Add nilfs2.mod.
19903 (nilfs2_mod_SOURCES): New variable.
19904 (nilfs2_mod_CFLAGS): Likewise.
19905 (nilfs2_mod_LDFLAGS): Likewise.
19906 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19907 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19908 * fs/nilfs2.c: New file.
19910 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
19912 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
19915 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
19917 Add grub-mkconfig support for NetBSD.
19919 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
19920 * util/grub-mkconfig.in: export new NetBSD specific variables.
19921 * po/POTFILES-shell: added 10_netbsd.in.
19922 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
19924 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
19926 Fix emu build with grub-emu-pci and grub-emu-modules.
19928 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
19930 * include/grub/libpciaccess.h: New file.
19931 * conf/any-emu.rmk: Update kernel headers for emu build.
19933 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19935 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
19937 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19939 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
19941 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19943 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
19944 Retrieve chosen/bootpath if bootpath isn't hardcoded.
19945 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
19946 util/ieee1275/ofpath.c.
19947 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
19948 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
19949 * include/grub/sparc64/ieee1275/boot.h
19950 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
19951 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
19952 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
19953 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
19955 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
19956 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
19957 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
19960 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19962 * util/grub-mkconfig.in: Corrected two == equality tests.
19963 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
19964 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
19965 expect a number appended to it.
19966 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
19967 expects a number appended to it.
19969 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19971 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
19973 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19975 * util/hostdisk.c (make_device_name): Change to new partition naming.
19977 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19979 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
19981 2010-04-17 Christian Franke <franke@computer.org>
19983 * Makefile.in: Add missing localedir setting.
19985 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
19987 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
19988 mistake in r2156. Noticed by Anthony Fok.
19990 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
19992 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19994 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
19996 Fix a spurious, uninitialized variable warning.
19998 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
19999 Initialize variable, shdr.
20000 (grub_freebsd_load_elfmodule): Likewise.
20001 (grub_freebsd_load_elf_meta): Likewise.
20003 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20005 Fix for escaped dollar in double quoted strings.
20007 * script/yylex.l: Updated flex rules.
20008 * conf/tests.rmk: Rule for new testcase.
20009 * tests/grub_script_dollar.in: New testcase.
20011 2010-04-13 Carles Pina i Estany <carles@pina.cat>
20012 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
20014 Enclose all translated strings in grub.cfg in single quotes, and
20015 escape them appropriately (Ubuntu bug #552921).
20017 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20018 * util/grub.d/10_hurd.in: Use it.
20019 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20020 * util/grub.d/10_linux.in (linux_entry): Likewise.
20022 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20024 Fix cygwin compilation.
20026 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20027 * include/grub/misc.h (__register_frame_info)
20028 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20029 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20030 * kern/misc.c (__register_frame_info)
20031 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20032 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20034 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20036 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20038 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20040 Unify libgcc processing.
20042 * Makefile.in (kernel_img_LDFLAGS): New variable.
20043 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20044 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20046 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20047 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20048 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20049 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20050 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20051 overwriting. Remove -lgcc and -static-libgcc
20052 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20053 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20054 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20055 (kernel_img_LDFLAGS): Append instead of overwriting.
20056 Remove -lgcc and -static-libgcc
20057 * conf/sparc64-ieee1275.rmk: Likewise.
20058 * include/grub/powerpc/libgcc.h: Move to ...
20059 * include/grub/libgcc.h: .. this.
20060 * include/grub/libgcc.h: Don't export most of the function on x86.
20061 (__bswapsi2): New export.
20062 (__bswapdi2): Likewise.
20063 * include/grub/mips/libgcc.h: Removed.
20064 * include/grub/sparc64/libgcc.h: Likewise.
20066 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20068 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20069 disk_info_msg (conflicts with gettexting into languages with cases).
20071 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20073 Add grub-probe support for NetBSD.
20075 * util/getroot.c (find_root_device): Convert block device to
20076 character device on NetBSD.
20077 * util/probe.c (probe): Require character device on NetBSD.
20078 * util/hostdisk.c: NetBSD specific headers.
20079 (configure_device_driver): new function to tune device driver
20080 parameters (currently only for NetBSD floppy driver).
20081 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20082 via disklabel ioctl).
20083 (open_device): call configure_device_driver on NetBSD.
20084 (convert_system_partition_to_system_disk): NetBSD specific code.
20085 (device_is_wholedisk): Likewise.
20086 (grub_util_biosdisk_get_grub_dev): Likewise.
20087 (make_device_name): Fixed a typo in bsd_part_str.
20088 * configure.ac: check for opendisk() and getrawpartition() on
20089 NetBSD and set LIBUTIL.
20090 * Makefile.in: add LIBUTIL to LIBS.
20092 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20096 * util/grub-script-check.c: Better help message.
20098 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20102 * configure.ac: Flex version check.
20103 * conf/common.rmk: Add -Wno-error to sh.mod.
20104 * script/yylex.l: Remove all #pragma.
20106 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20108 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20110 Reported by: Seth Goldberg.
20112 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20114 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20115 Rename "module" to "module2".
20116 Reported by: Seth Goldberg.
20118 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20120 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20122 Reported by: Seth Goldberg.
20124 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20126 * lib/posix_wrap/locale.h: Add missing file.
20127 Reported by: Seth Goldberg.
20129 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20131 grub-emu module load support.
20133 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20134 NO_DYNAMIC_MODULES switched to this.
20135 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20136 (CFLAGS): Likewise.
20137 * conf/any-emu.rmk: Generate symlist.
20138 (kernel_img_HEADERS): Add util/datetime.h.
20139 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20140 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20141 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20142 kern/$(target_cpu)/cache.S.
20143 * configure.ac (grub-emu-modules): New option.
20144 * genmk.rb: Handle multiple source lists.
20145 * include/grub/sdl.h: New file.
20146 * include/grub/libusb.h: Likewise.
20147 * util/grub-emu.c (main): Hanle (host) root.
20148 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20149 GRUB_ERR_UNKNOWN_DEVICE.
20150 * util/misc.c: Move mm functions to ...
20151 * util/mm.c: ... here. All users updated.
20153 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20155 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20156 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20158 (maintainer-clean): Remove libgcrypt-grub.
20160 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20162 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20164 2010-04-09 EFI Coder <eficoder@hotmail.com>
20166 * normal/menu_text.c (print_message): Clean up the message and show
20167 the Fn information when on EFI
20168 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20170 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20172 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20174 * normal/crypto.c (read_crypto_list): Likewise.
20175 * normal/dyncmd.c (read_command_list): Likewise.
20176 * normal/term.c (read_terminal_list): Likewise.
20177 * normal/main.c (read_lists): Use explicit prefix.
20178 (read_lists_hook): Use read_lists.
20179 (grub_normal_execute): Likewise.
20181 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20183 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20184 Reported by: Thomas Schmitt.
20185 Add -no-emul-boot to grub-mkisofs parameters.
20187 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20189 * font/font.c: Indented.
20191 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20193 Elif support to GRUB script (by Deepak Vankadaru).
20195 * tests/grub_script_if.in: New testcase.
20196 * conf/tests.rmk: Rule for new testcase.
20197 * script/parser.y: Grammar rules for elif.
20199 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20201 While and until loops support to GRUB script.
20203 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20204 (grub_script_create_cmdwhile): New function prototype.
20205 (grub_script_execute_cmdwhile): New function prototype.
20206 * script/execute.c (grub_script_execute_cmdwhile): New function.
20207 * script/parser.y (command): New commands.
20208 (whilecmd): New grammar rule.
20209 (untilcmd): New grammar rule.
20210 * script/script.c (grub_script_create_cmdwhile): New function.
20211 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20214 * tests/grub_script_while1.in: New testcase.
20215 * conf/tests.rmk: Rule for new testcase.
20217 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20219 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20222 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
20224 GRUB_BACKGROUND support.
20226 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20227 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20229 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20231 Load fonts and modules for gfxmenu in grub-mkconfig.
20232 Idea by: Mario Vazquez
20234 * util/grub.d/00_header.in: Load pf2 and image modules.
20236 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20238 grub-mkconfig multiple terminal support.
20240 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20241 * util/grub.d/00_header.in: Likewise.
20243 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20245 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20246 we use cd $(srcdir).
20248 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
20250 * util/grub.d/10_linux.in: Only use the first word of
20251 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20252 spaces in GRUB_DISTRIBUTOR.
20253 * util/grub.d/10_kfreebsd.in: Likewise.
20254 * util/grub.d/10_hurd.in: Likewise.
20256 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20258 Fix unit testing framework for Qemu 0.12.
20260 * tests/util/grub-shell.in: Remove -serial stdio option.
20262 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20264 POSIX header file wrappers.
20266 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20268 * lib/posix_wrap/ctype.h: Likewise.
20269 * lib/posix_wrap/errno.h: Likewise.
20270 * lib/posix_wrap/langinfo.h: Likewise.
20271 * lib/posix_wrap/limits.h: Likewise.
20272 * lib/posix_wrap/localcharset.h: Likewise.
20273 * lib/posix_wrap/stdint.h: Likewise.
20274 * lib/posix_wrap/stdio.h: Likewise.
20275 * lib/posix_wrap/stdlib.h: Likewise.
20276 * lib/posix_wrap/string.h: Likewise.
20277 * lib/posix_wrap/sys/types.h: Likewise.
20278 * lib/posix_wrap/unistd.h: Likewise.
20279 * lib/posix_wrap/wchar.h: Likewise.
20280 * lib/posix_wrap/wctype.h: Likewise.
20281 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20282 (grub_script.yy.h): Likewise.
20283 * script/yylex.l: Remove POSIX emulation #defines.
20284 * Makefile.in (POSIX_CFLAGS): New variable.
20285 (GNULIB_UTIL_CFLAGS): Likewise.
20289 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20290 (regexp_mod_SOURCES): New variable.
20291 (regexp_mod_CFLAGS): Likewise.
20292 (regexp_mod_LDFLAGS): Likewise.
20293 * commands/regexp.c: New file.
20294 * gnulib/regcomp.c: New file. Imported from gnulib.
20295 * gnulib/regex.c: Likewise.
20296 * gnulib/regex_internal.c: Likewise.
20297 * gnulib/regex_internal.h: Likewise.
20298 * gnulib/regexec.c: Likewise.
20299 * gnulib/regex.h: Likewise.
20301 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20303 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20304 unsupported video mode types.
20306 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20308 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20310 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20312 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20313 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20315 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20317 Remove unused grub_vga_get_font.
20319 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20320 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20322 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20324 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20325 * include/grub/misc.h: Likewise.
20327 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20329 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20330 for which failure is fatal.
20332 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20334 * util/grub-install.in: Use mkdir -p to create grub directory.
20335 * util/i386/efi/grub-install.in: Likewise.
20336 * util/ieee1275/grub-install.in: Likewise.
20338 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20340 * Makefile.in (LEX): new variable.
20342 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20344 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20345 `=' and added double quotes on operands of this equality test.
20347 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20349 * Makefile.in (uninstall): Remove a leftover debug echo.
20350 Reported by: Grégoire Sutre
20352 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20354 MIPS multiboot2 support.
20356 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20357 (multiboot2_mod_SOURCES): New variable.
20358 (multiboot2_mod_CFLAGS): Likewise.
20359 (multiboot2_mod_LDFLAGS): Likewise.
20360 (multiboot2_mod_ASFLAGS): Likewise.
20361 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
20363 (MULTIBOOT_ENTRY_REGISTER): Likewise.
20364 (MULTIBOOT_MBI_REGISTER): Likewise.
20365 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
20366 (MULTIBOOT_ELF32_MACHINE): Likewise.
20367 (MULTIBOOT_ELF64_MACHINE): Likewise.
20368 * include/grub/mips/multiboot.h: New file.
20369 * include/grub/video.h (grub_video_driver_id): New type
20370 GRUB_VIDEO_DRIVER_SM712.
20371 (grub_video_get_info_and_fini): Export.
20372 (grub_video_get_palette): Likewise.
20373 (grub_video_get_driver_id): Likewise.
20374 * include/multiboot2.h: Resynced with spec.
20375 * loader/i386/multiboot.c: Moved from here ...
20376 * loader/multiboot.c: ... here. All users updated.
20377 (grub_multiboot_boot): Use platform-specific macros.
20378 * loader/i386/multiboot_elfxx.c: Moved from here ...
20379 * loader/multiboot_elfxx.c: ... here. All users updated.
20380 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
20381 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
20382 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
20384 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20386 Import gnulib argp module.
20388 * gnulib/argp-ba.c: New file.
20389 * gnulib/argp-eexst.c: Likewise.
20390 * gnulib/argp-fmtstream.c: Likewise.
20391 * gnulib/argp-fmtstream.h: Likewise.
20392 * gnulib/argp-fs-xinl.c: Likewise.
20393 * gnulib/argp-help.c: Likewise.
20394 * gnulib/argp-namefrob.h: Likewise.
20395 * gnulib/argp-parse.c: Likewise.
20396 * gnulib/argp-pin.c: Likewise.
20397 * gnulib/argp-pv.c: Likewise.
20398 * gnulib/argp-pvh.c: Likewise.
20399 * gnulib/argp-version-etc.c: Likewise.
20400 * gnulib/argp-version-etc.h: Likewise.
20401 * gnulib/argp-xinl.c: Likewise.
20402 * gnulib/argp.h: Likewise.
20404 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20406 * kern/device.c (grub_device_iterate): Clear errors after failed
20409 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20411 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
20412 returned by firmware.
20414 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20416 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
20417 compilation on coreboot and qemu
20419 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20421 * include/multiboot2.h: Resync with spec.
20423 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20425 Multiboot2 tag support
20427 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
20428 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
20429 Remove loader/multiboot_loader.c.
20430 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
20431 (grub_multiboot2_real_boot): Likewise.
20432 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20433 (grub_get_multiboot_mmap_count): New proto.
20434 (grub_fill_multiboot_mmap): Likewise.
20435 (grub_multiboot_set_video_mode): Likewise.
20436 (grub_multiboot_set_console): Likewise.
20437 (grub_multiboot_load): Likewise.
20438 (grub_multiboot_load_elf): Likewise.
20439 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
20440 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
20441 * include/multiboot.h: Resynced with specification.
20442 * include/multiboot2.h: Resynced with specification.
20443 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
20444 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
20445 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
20446 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
20448 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
20449 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
20450 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
20452 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
20454 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
20455 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20457 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
20458 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
20459 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
20461 * loader/i386/multiboot_mbi2.c: New file.
20463 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20465 Resync with gnulib.
20467 * Makefile.in (GNULIB_CFLAGS): New variable.
20468 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
20469 (grub_script_check_CFLAGS): New variable.
20470 * gnulib/alloca.h: Resync with gnulib.
20471 * gnulib/error.c: Likewise.
20472 * gnulib/error.h: Likewise.
20473 * gnulib/fnmatch.c: Likewise.
20474 * gnulib/fnmatch_loop.c: Likewise.
20475 * gnulib/getdelim.c: Likewise.
20476 * gnulib/getline.c: Likewise.
20477 * gnulib/getopt.c: Likewise.
20478 * gnulib/getopt1.c: Likewise.
20479 * gnulib/getopt_int.h: Likewise.
20480 * gnulib/gettext.h: Likewise.
20481 * gnulib/progname.c: Likewise.
20482 * gnulib/progname.h: Likewise.
20484 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
20486 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
20487 which is the case with --disabled-nls.
20489 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
20490 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
20491 * util/misc.c: Likewise.
20492 * util/mkisofs/mkisofs.c: Likewise.
20493 * util/mkisofs/mkisofs.h: Likewise.
20495 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20497 Simplify Apple CC support.
20499 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
20500 Add 0 byte at the end not to have a symbol with empty target.
20501 * mmap/i386/pc/mmap_helper.S: Likewise.
20502 * genmk.rb: Ignore errors 2030 and 2050.
20503 * kern/i386/pc/startup.S: Use LOCAL when possible.
20505 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
20507 Testcase and the fix for final semicolon on cmdline.
20509 * tests/grub_script_final_semicolon.in: New testcase.
20510 * conf/tests.rmk: Rules for the new testcase.
20511 * script/parser.y: Grammar fix.
20513 2010-03-26 BVK Chaitanya <bvk@localhost>
20515 Blank lines testcase for GRUB script.
20517 * tests/grub_script_blanklines.in: New testcase.
20518 * conf/tests.rmk: Rules for the new testcase.
20520 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20522 Don't use __FILE__.
20524 * genmk.rb: Add -DGRUB_FILE to all C targets.
20525 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
20526 * include/grub/list.h: Likewise.
20527 * include/grub/misc.h: Likewise.
20528 * include/grub/mm.h: Likewise.
20529 * include/grub/test.h: Likewise.
20530 * kern/mm.c: Likewise.
20531 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20533 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20535 Sunpc partitions support.
20537 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
20538 (grub_fstest_SOURCES): Likewise.
20539 (pkglib_MODULES): Add part_sunpc.mod.
20540 (part_sunpc_mod_SOURCES): New variable.
20541 (part_sunpc_mod_CFLAGS): Likewise.
20542 (part_sunpc_mod_LDFLAGS): Likewise.
20543 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
20544 * partmap/sunpc.c: New file.
20546 2010-03-26 BVK Chaitanya <bvk@localhost>
20548 For loop support to GRUB script.
20550 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
20551 (grub_script_create_cmdfor): New function prototype.
20552 (grub_script_execute_cmdfor): New function prototype.
20553 * script/execute.c (grub_script_execute_cmdfor): New function.
20554 * script/parser.y (command): New for command.
20555 (forcmd): New grammar rule.
20556 * script/script.c (grub_script_create_cmdfor): New function.
20557 * util/grub-script-check.c (grub_script_execute_cmdfor): New
20559 * tests/grub_script_for1.in: New testcase.
20560 * conf/tests.rmk: Rules for new testcase.
20562 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20566 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
20567 'partition' is NULL, grub_partition_get_start already does that.
20568 * commands/loadenv.c (check_blocklists): Likewise.
20569 (write_blocklists): Likewise.
20570 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
20571 (grub_fstest_SOURCES): Likewise.
20572 (pkglib_MODULES): Add part_bsd.mod.
20573 (part_bsd_mod_SOURCES): New variable.
20574 (part_bsd_mod_CFLAGS): Likewise.
20575 (part_bsd_mod_LDFLAGS): Likewise.
20576 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
20577 (grub_emu_SOURCES): Likewise.
20578 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20579 * include/grub/bsdlabel.h: New file.
20580 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
20582 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
20583 (grub_partition_map_list): New variable.
20584 (grub_partition_map_register): Inline.
20585 (grub_partition_map_unregister): Likewise.
20586 (FOR_PARTITION_MAPS): New macro.
20587 (grub_partition_map_iterate): Removed.
20588 (grub_partition_get_start): Handle nested partitions.
20589 * include/grub/msdos_partition.h: Remove bsd-related entries.
20590 (grub_pc_partition): Remove.
20591 * kern/disk.c (grub_disk_close): Free partition data.
20592 (grub_disk_adjust_range): Handle nested partitions.
20593 * kern/partition.c (grub_partition_map_probe): New function.
20594 (grub_partition_probe): Parse name to number, handle subpartitions.
20595 (get_partmap): New function.
20596 (grub_partition_iterate): Handle subpartitions.
20597 (grub_partition_get_name): Likewise.
20598 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
20599 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
20600 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
20601 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
20603 (acorn_partition_map_probe): Remove.
20604 (acorn_partition_map_get_name): Likewise.
20605 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
20607 Set 'index' to 0 since there can be only one partition entry per sector.
20608 (amiga_partition_map_probe): Remove.
20609 (amiga_partition_map_get_name): Likewise.
20610 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
20612 Set 'offset' and 'index' to real positions of partitions.
20613 (apple_partition_map_probe): Remove.
20614 (apple_partition_map_get_name): Likewise.
20615 * partmap/bsdlabel.c: New file.
20616 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
20618 Allocate 'data' so it can be correctly freed.
20619 Set 'index' to offset inside sector.
20620 (gpt_partition_map_probe): Remove.
20621 (gpt_partition_map_get_name): Likewise.
20622 * partmap/msdos.c (grub_partition_parse): Remove.
20623 (pc_partition_map_iterate): Don't force raw access.
20625 Make 'ext_offset' a local variable.
20626 (pc_partition_map_probe): Remove.
20627 (pc_partition_map_get_name): Remove.
20628 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
20630 (sun_partition_map_probe): Remove.
20631 (sun_partition_map_get_name): Likewise.
20632 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
20633 (grub_pcpart_type): Likewise.
20634 * util/hostdisk.c (open_device): Handle new numbering scheme.
20635 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
20636 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
20637 * util/grub-probe.c (probe_partmap): Handle nested paritions.
20638 * util/grub-install.in: Insert all subpartition modules.
20639 * util/ieee1275/grub-install.in: Likewise.
20641 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
20643 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
20646 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
20648 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
20650 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
20652 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
20653 match where 'make install' puts them.
20654 * util/i386/efi/grub-install.in: Likewise.
20656 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
20658 * .bzrignore: Add gentrigtables, grub-script-check,
20659 grub_script_check_init.c, grub_script_check_init.h, and
20662 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
20664 * kern/parser.c: Indented.
20666 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20668 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
20670 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20672 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
20673 alpha_mask_size == 0 case.
20675 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
20677 GRUB shell lexer and parser improvements.
20679 * conf/any-emu.rmk: Build rule updates.
20680 * conf/common.rmk: Likewise.
20681 * conf/i386-coreboot.rmk: Likewise.
20682 * conf/i386-efi.rmk: Likewise.
20683 * conf/i386-ieee1275.rmk: Likewise.
20684 * conf/i386-pc.rmk: Likewise.
20685 * conf/powerpc-ieee1275.rmk: Likewise.
20686 * conf/x86_64-efi.rmk: Likewise.
20688 * configure.ac: Configure check for flex.
20690 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
20692 (grub_lexer_param): Struct member updates.
20693 (grub_parser_param): Likewise.
20694 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
20695 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
20696 (grub_script_lexer_init): Prototype update.
20697 (grub_script_lexer_record_start): Likewise.
20698 (grub_script_lexer_record_stop): Likewise.
20699 (grub_script_lexer_yywrap): New function prototype.
20700 (grub_script_lexer_fini): Likewise.
20701 (grub_script_execute_argument_to_string): Removed by...
20702 (grub_script_execute_argument_to_argv): ...better version.
20704 * script/execute.c (ROUND_UPTO): New macro.
20705 (grub_script_execute_cmdline): Out of memory fixes.
20706 (grub_script_execute_menuentry): Likewise.
20707 (grub_script_execute_argument_to_string): Removed. Update all
20709 (grub_script_execute_argument_to_argv): ...better version.
20710 * script/function.c (grub_script_function_create): Use
20711 grub_script_execute_argument_to_argv instead of
20712 grub_script_execute_argument_to_string.
20714 * script/lexer.c (check_varstate): Removed.
20715 (check_textstate): Removed.
20716 (grub_script_lexer_record_start): Likewise.
20717 (grub_script_lexer_record_stop): Likewise.
20718 (recordchar): Replaced with...
20719 (grub_script_lexer_record): ...new function.
20720 (nextchar): Removed.
20721 (grub_script_lexer_init): Rewritten.
20722 (grub_script_yylex): Rewritten.
20723 (append_newline): New function.
20724 (grub_script_lexer_yywrap): New function.
20725 (grub_script_lexer_fini): New function.
20726 (grub_script_yyerror): Sets error flag.
20728 * script/yylex.l: New file.
20729 (grub_lexer_yyfree): Wrapper for flex yyffre.
20730 (grub_lexer_yyalloc): Likewise.
20731 (grub_lexer_yyrealloc): Likewise.
20732 * script/parser.y: Refactored.
20734 * script/script.c (grub_script_arg_add): Out of memory fixes.
20735 (grub_script_add_arglist): Likewise.
20736 (grub_script_create_cmdline): Likewise.
20737 (grub_script_create_cmdmenu): Likewise.
20738 (grub_script_add_cmd): Likewise.
20739 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
20740 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
20743 * tests/grub_script_echo1.in: New testcase.
20744 * tests/grub_script_vars1.in: New testcase.
20745 * tests/grub_script_echo_keywords.in: New testcase.
20747 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20749 Remove some redundancy in build system.
20751 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
20752 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
20753 (TARGET_LDFLAGS): Add -nostdlib.
20754 (TARGET_IMG_LDFLAGS): Likewise.
20755 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
20756 anything since mmap isn't available.
20757 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
20759 (pkglib_MODULES): Remove reboot.mod.
20760 (reboot_mod_SOURCES): Removed.
20761 (reboot_mod_CFLAGS): Likewise.
20762 (reboot_mod_LDFLAGS): Likewise.
20763 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
20764 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
20765 (DEFSYMFILES): Add kernel_syms.lst.
20766 (kernel_img_HEADERS): Add common headers.
20767 (symlist.c): New target.
20768 (kernel_syms.lst): Likewise.
20769 (pkglib_MODULES): Add memdisk.mod.
20770 (memdisk_mod_SOURCES): New variable.
20771 (memdisk_mod_CFLAGS): Likewise.
20772 (memdisk_mod_LDFLAGS): Likewise.
20773 (pkglib_MODULES): Add reboot.mod.
20774 (reboot_mod_SOURCES): New variable.
20775 (reboot_mod_CFLAGS): Likewise.
20776 (reboot_mod_LDFLAGS): Likewise.
20777 (pkglib_MODULES): Add date.mod.
20778 (date_mod_SOURCES): New variable.
20779 (date_mod_CFLAGS): Likewise.
20780 (date_mod_LDFLAGS): Likewise.
20781 (pkglib_MODULES): Add datehook.mod.
20782 (datehook_mod_SOURCES): New variable.
20783 (datehook_mod_CFLAGS): Likewise.
20784 (datehook_mod_LDFLAGS): Likewise.
20785 (pkglib_MODULES): Add lsmmap.mod.
20786 (lsmmap_mod_SOURCES): New variable.
20787 (lsmmap_mod_CFLAGS): Likewise.
20788 (lsmmap_mod_LDFLAGS): Likewise.
20789 (pkglib_MODULES): Add boot.mod.
20790 (boot_mod_SOURCES): New variable.
20791 (boot_mod_CFLAGS): Likewise.
20792 (boot_mod_LDFLAGS): Likewise.
20793 * conf/i386-coreboot.rmk: Removed redundant parts.
20794 * conf/i386-ieee1275.rmk: Likewise.
20795 * conf/i386-pc.rmk: Likewise.
20796 * conf/mips-yeeloong.rmk: Likewise.
20797 * conf/mips.rmk: Likewise.
20798 * conf/powerpc-ieee1275.rmk: Likewise.
20799 * conf/sparc64-ieee1275.rmk: Likewise.
20800 * conf/x86_64-efi.rmk: Likewise.
20801 * conf/i386-coreboot.rmk: Moved qemu parts ..
20802 * conf/i386-qemu.rmk: ... here
20803 * conf/i386-efi.rmk: Moved common parts to...
20804 * conf/x86-efi.rmk: ... here.
20805 * conf/i386.rmk: Added modules common to all x86 variants.
20806 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
20807 * disk/memdisk.c: Remove grub/machine/kernel.h.
20808 * gensymlist.sh.in: Include symbol.h.
20809 * hook/datehook.c: Correct module name.
20810 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
20811 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
20812 * include/grub/i386/efi/serial.h: New file.
20813 * include/grub/x86_64/efi/serial.h: Likewise.
20814 * util/time.c: Likewise.
20815 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
20817 2010-03-14 Colin King <colin.king@ubuntu.com>
20818 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
20820 Shrink the pre-partition-table part of boot.img by eight bytes.
20822 * boot/i386/pc/boot.S (ERR): New macro.
20823 (chs_mode): Use ERR.
20824 (geometry_error): Likewise.
20825 (hd_probe_error): Remove. This is only used once, so we wrwite
20827 (read_error): Instead of printing read_error_string, just set up
20828 %si and fall through to ...
20829 (error_message): ... this new function, also used by ERR.
20831 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
20833 Speed up consecutive hostdisk operations on the same device.
20835 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
20836 (grub_util_biosdisk_open): Initialise disk->data.
20837 (struct linux_partition_cache): New structure.
20838 (linux_find_partition): Cache partition start positions; these are
20839 expensive to compute on every read and write.
20840 (open_device): Cache open file descriptor in disk->data, so that we
20841 don't have to reopen it and flush the buffer cache for consecutive
20842 operations on the same device.
20843 (grub_util_biosdisk_close): New function.
20844 (grub_util_biosdisk_dev): Set `close' member.
20846 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
20847 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
20848 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20849 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20850 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
20852 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20854 Compile parts of grub-emu as modules.
20856 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
20857 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
20858 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
20859 (all-local): Add $(GRUB_EMU).
20860 (install-local): Install $(GRUB_EMU).
20861 (uninstall): Uninstall $(GRUB_EMU).
20862 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
20863 * kern/dl.c: Likewise.
20864 * commands/sleep.c: Not include machine/time.h.
20865 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
20866 (COMMON_CFLAGS): Likewise.
20867 (sbin_UTILITIES): Remove grub-emu.
20868 (grub_emu_SOURCES): Removed.
20869 (kernel_img_RELOCATABLE): New variable.
20870 (pkglib_PROGRAMS): Add kernel.img.
20871 (kernel_img_SOURCES): New variable
20872 (kernel_img_CFLAGS): Likewise.
20873 (kernel_img_LDFLAGS): Likewise.
20874 (TARGET_NO_STRIP): Likewise.
20875 (TARGET_NO_DYNAMIC_MODULES): Likewise.
20876 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
20877 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
20878 (grub-emu): New target.
20879 (GRUB_EMU): New variable.
20880 * configure.ac: Whitelist -emu as possible x86_64 architecture.
20881 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
20882 * loader/xnu.c: Likewise.
20883 * include/grub/pci.h: Likewise.
20884 * genemuinit.sh: New file.
20885 * genemuinitheader.sh: Likewise.
20886 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
20887 Support TARGET_NO_DYNAMIC_MODULES.
20888 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
20889 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
20890 * disk/loopback.c: Likewise.
20891 * font/font_cmd.c: Likewise.
20892 * partmap/acorn.c: Likewise.
20893 * partmap/amiga.c: Likewise.
20894 * partmap/apple.c: Likewise.
20895 * partmap/gpt.c: Likewise.
20896 * partmap/msdos.c: Likewise.
20897 * partmap/sun.c: Likewise.
20898 * parttool/msdospart.c: Likewise.
20899 * term/gfxterm.c: Likewise.
20900 * video/bitmap.c: Likewise.
20901 * video/readers/jpeg.c: Likewise.
20902 * video/readers/png.c: Likewise.
20903 * video/readers/tga.c: Likewise.
20904 * video/video.c: Likewise.
20905 * util/grub-emu.c (read_command_list): Removed.
20906 (main): Don't call util_init_nls.
20907 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
20908 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
20910 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20912 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
20913 date.mod, datehook.mod.
20914 (datetime_mod_SOURCES): New variable.
20915 (datetime_mod_CFLAGS): Likewise.
20916 (datetime_mod_LDFLAGS): Likewise.
20917 (date_mod_SOURCES): Likewise.
20918 (date_mod_CFLAGS): Likewise.
20919 (date_mod_LDFLAGS): Likewise.
20920 (datehook_mod_SOURCES): Likewise.
20921 (datehook_mod_CFLAGS): Likewise.
20922 (datehook_mod_LDFLAGS): Likewise.
20923 * conf/sparc64-ieee1275.rmk: Likewise.
20924 * lib/ieee1275/datetime.c: New file.
20926 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20928 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
20929 (ieee1275_fb_mod_SOURCES): New variable.
20930 (ieee1275_fb_mod_CFLAGS): Likewise.
20931 (ieee1275_fb_mod_LDFLAGS): Likewise.
20932 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
20934 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
20935 (HEAP_MAX_ADDR): Likewise.
20936 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
20938 Correct stop condition.
20939 (grub_ieee1275_devices_iterate): New function.
20940 * video/ieee1275.c: New file.
20942 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20944 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
20946 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
20948 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
20949 SCRATCH_PAD_DISKBOOT as scratch.
20950 (bootit): Pass Openfirmware pointer in %o4.
20951 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
20953 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
20954 with util/grub-mkrawimage.c.
20955 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
20956 * include/grub/aout.h (AOUT_MID_SUN): New definition.
20957 (grub_aout_get_type) [GRUB_UTIL]: Removed.
20958 (grub_aout_load) [GRUB_UTIL]: Likewise.
20959 * include/grub/kernel.h (grub_modules_get_end): New proto.
20960 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
20961 (SCRATCH_PAD_BOOT): New definition.
20962 (SCRATCH_PAD_DISKBOOT): Likewise.
20963 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
20964 * include/grub/sparc64/ieee1275/ieee1275.h
20965 (grub_ieee1275_original_stack): New variable
20966 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20968 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
20969 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
20970 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
20971 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
20972 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
20973 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
20974 (grub_platform_image_format_t): New type.
20975 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
20976 * kern/main.c (grub_modules_get_end)
20977 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
20978 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
20979 (codestart): Switch stacks.
20980 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
20982 (grub_heap_init): Use grub_modules_get_end.
20983 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
20985 * util/grub-mkrawimage.c (generate_image): Support sparc64.
20987 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
20989 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
20991 * util/grub-mkrescue.in: Base ISO UUID on UTC.
20993 2010-03-08 Matt Kraai <kraai@ftbfs.org>
20995 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
20998 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21000 * genmoddep.awk: Output all missing symbols and not only first.
21002 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21004 * NEWS: Put the date of 1.98 release.
21006 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21008 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21011 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21013 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21014 completition in the middle of string.
21016 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21018 * util/grub-mkrescue.in: Use mktemp with explicit template.
21020 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21022 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21024 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21026 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21029 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21031 Fix FreeBSD compilation.
21033 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21034 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21036 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21038 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21040 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21042 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21044 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21046 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21048 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21050 Support relative image path in theme file.
21052 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21053 (image_set_property): Handle theme_dir and relative path.
21055 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21057 * configure.ac: Alias amd64 to x86_64.
21059 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21061 * NEWS: mention multiboot on EFI.
21063 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21065 * kern/main.c (grub_load_modules): Handle errors from init functions of
21068 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21070 * normal/autofs.c (autoload_fs_module): Handle errors.
21072 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21074 Disable linux.mod on qemu-mips since it's not functional and leads
21075 to compilation failure.
21077 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21078 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21079 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21080 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21081 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21082 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21083 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21084 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21085 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21086 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21087 Reported by: BVK Chaitanya
21089 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21091 * INSTALL: Add gettext as a dependency and add qemu to a new section
21092 "Prerequisites for make-check".
21094 2010-03-04 Christian Franke <franke@computer.org>
21096 * util/grub-pe2elf.c: Add missing include "progname.h".
21098 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21100 * normal/crypto.c (read_crypto_list): Fix a typo.
21101 Reported by: Seth Goldberg.
21103 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21105 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
21106 Reported by: Seth Goldberg.
21108 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21110 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21113 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21115 * genmk.rb: Remove terminal*.lst in make clean.
21116 Reported by: Seth Goldberg.
21118 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21120 * util/i386/efi/grub-install.in: Copy gettext files.
21122 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21124 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21126 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21128 Wait for user entry basing on presence of output rather than on errors.
21130 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21131 (grub_install_newline_hook): Likewise.
21132 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21133 * normal/menu.c (show_menu): Check line_counter to determine presence
21135 * normal/term.c (grub_normal_line_counter): New variable.
21136 (grub_normal_get_line_counter): New function.
21137 (grub_install_newline_hook): Likewise.
21139 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21141 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21143 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21145 * configure.ac: Update version to 1.98.
21147 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21149 * util/grub.d/10_linux.in (linux_entry): Don't default to
21150 gfxpayload=keep if Linux doesn't support video handover.
21152 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21154 Don't compile video modules on yeeloong since video subsystem is part
21157 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21158 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21159 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21160 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21161 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21162 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21163 * include/grub/bitmap_scale.h: Likewise.
21164 * include/grub/bufio.h: Likewise.
21165 * include/grub/font.h: Likewise.
21166 * include/grub/gfxterm.h: Likewise.
21167 * include/grub/video.h: Likewise.
21168 * include/grub/vbe.h: Don't include video_fb.h.
21169 * video/i386/pc/vbe.c: Include video_fb.h.
21170 * commands/i386/pc/vbetest.c: Include video.h.
21172 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21174 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21175 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21176 default entry if GRUB_SAVEDEFAULT=true. This allows using
21177 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21178 saving a new default on every boot.
21180 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21182 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21183 * normal/term.c (read_terminal_list): Likewise.
21184 * normal/main.c (grub_normal_init_page): Likewise.
21185 (grub_normal_read_line_real): Likewise.
21187 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21189 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21191 Reported by: Seth Goldberg.
21193 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21195 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21196 duplicate declaration of `start'.
21198 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21200 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21202 Reported by: Georgy Buranov
21204 2010-02-20 Carles Pina i Estany <carles@pina.cat>
21206 * util/grub-mkrawimage.c (usage): Change string formatting to
21209 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21211 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21214 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21216 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21217 Reported by: Michael Suchanek.
21219 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
21221 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21222 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21224 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21226 Remove any reference to non-free fonts.
21228 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21229 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21230 uses non-free components.
21231 * font/font.c (grub_font_get_name): Remove example name.
21232 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21233 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21234 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21235 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21237 2010-02-16 Georgy Buranov <gburanov@gmail.com>
21239 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21241 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21243 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21245 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21247 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21249 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21251 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21253 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21255 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21256 * docs/grub.texi (Command-line and menu entry commands): Document play
21259 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21261 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21262 parse arguments as inline tempo and notes. Move code for playing notes
21264 (play): ... new function.
21266 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21268 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21269 grub_uint16_t instead of short.
21270 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21271 disk from little endian to cpu endianness.
21273 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21275 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21276 GRUB_TICKS_PER_SECOND instead of 120.
21278 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21280 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21281 escape sequence after \e.
21283 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21285 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21286 non-ASCII characters.
21288 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21290 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21291 set root in single quotes to prevent \, from being unescaped.
21293 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21295 Prevent unknown commands from stopping menuentry execution.
21297 * script/execute.c (grub_script_execute_cmdline): Print error after
21300 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21302 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21303 Reported by: Pavel Pisa.
21305 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21307 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21309 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21311 Merge grub_ieee1275_map_physical into grub_map and rename to
21314 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21315 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21317 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21318 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21320 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21322 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21324 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21325 opening and not after.
21327 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21329 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21332 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21334 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21335 (alloc_phys): Use ALIGN_UP instead of align_addr.
21337 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21339 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21341 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21343 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21345 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21347 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21350 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21352 Fix over-4GiB seek on sparc64.
21354 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21355 Replace pos_i and pos_lo with pos. All users updated.
21356 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21358 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21360 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
21363 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21365 * util/grub-mkrawimage.c (main): Call set_program_name.
21367 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21369 Properly align 64-bit targets.
21371 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
21372 (generate_image): Use ALIGN_ADDR.
21374 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21376 Properly create cross-endian images.
21378 * include/grub/types.h (grub_host_to_target_addr): New macro
21379 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
21381 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21383 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
21385 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21387 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
21389 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
21390 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
21391 (grub_linux_boot): Divide by 64K when on VESA.
21393 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21395 Support GRUB_GFXPAYLOAD_LINUX.
21397 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
21398 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
21400 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21402 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
21403 to show messages instead of discarding them.
21404 Process errors after executing command and not before. Keep old method
21407 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
21409 * configure.ac: Check for ft2build.h.
21411 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21413 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
21415 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21417 * genkernsyms.sh.in: Use TARGET_CC.
21419 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
21423 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21425 * include/grub/multiboot2.h: Remove leftover file.
21426 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
21427 * include/grub/partition.h [GRUB_UTIL]: Likewise.
21429 2010-02-07 Yves Blusseau <blusseau@zetam.org>
21431 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
21433 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21435 Fix warnings in grub-emu when compiling with maximum warning options.
21437 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
21438 (grub_arch_modules_addr): Return 0 and not NULL.
21439 * util/misc.c (ENABLE_RELOCATABLE): New definition.
21440 (xstrdup): Use newstr instead of dup.
21441 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
21442 of disk to dsk to avoid shadowing.
21443 (find_free_slot): Fix prototype.
21444 * util/getroot.c (grub_util_is_dmraid): Make static.
21445 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
21446 Add missing prototype.
21447 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
21449 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21451 * loader/i386/linux.c (grub_linux_setup_video): Handle error
21454 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21456 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
21459 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21461 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
21462 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
21463 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
21464 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
21465 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
21466 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
21468 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21470 * include/grub/err.h (grub_err_printf): Don't export.
21472 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21474 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
21476 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21478 * include/grub/i18n.h (grub_gettext_dummy): Removed.
21479 * kern/misc.c (grub_gettext_dummy): Make static.
21481 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21483 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
21485 * kern/term.c (grub_putchar): Likewise.
21487 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21489 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
21490 buggy hook call and memory leak.
21492 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21494 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
21496 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21498 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
21500 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21502 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
21504 Return grub_errno on allocation error.
21506 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21508 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
21510 2010-02-06 Yves Blusseau <blusseau@zetam.org>
21512 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
21513 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
21515 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21517 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
21519 (grub_pxefs_open): Likewise.
21521 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21523 * util/grub.d/10_hurd.in: Add --class information to menuentries.
21524 * util/grub.d/10_kfreebsd.in: Likewise.
21525 * util/grub.d/10_linux.in: Likewise.
21527 2010-02-06 Colin D Bennett <colin@gibibit.com>
21529 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
21530 (gfxmenu_mod_SOURCES): New variable.
21531 (gfxmenu_mod_CFLAGS): Likewise.
21532 (gfxmenu_mod_LDFLAGS): Likewise.
21533 * include/grub/term.h (grub_term_set_current_output): Declare
21535 * docs/gfxmenu-theme-example.txt: New file.
21536 * gfxmenu/gfxmenu.c: Likewise.
21537 * gfxmenu/gui_box.c: Likewise.
21538 * gfxmenu/gui_canvas.c: Likewise.
21539 * gfxmenu/gui_circular_progress.c: Likewise.
21540 * gfxmenu/gui_image.c: Likewise.
21541 * gfxmenu/gui_label.c: Likewise.
21542 * gfxmenu/gui_list.c: Likewise.
21543 * gfxmenu/gui_progress_bar.c: Likewise.
21544 * gfxmenu/gui_string_util.c: Likewise.
21545 * gfxmenu/gui_util.c: Likewise.
21546 * gfxmenu/icon_manager.c: Likewise.
21547 * gfxmenu/model.c: Likewise.
21548 * gfxmenu/named_colors.c: Likewise.
21549 * gfxmenu/theme_loader.c: Likewise.
21550 * gfxmenu/view.c: Likewise.
21551 * gfxmenu/widget-box.c: Likewise.
21552 * include/grub/gfxmenu_model.h: Likewise.
21553 * include/grub/gfxmenu_view.h: Likewise.
21554 * include/grub/gfxwidgets.h: Likewise.
21555 * include/grub/gui.h: Likewise.
21556 * include/grub/gui_string_util.h: Likewise.
21557 * include/grub/icon_manager.h: Likewise.
21559 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21561 Agglomerate scrolling in gfxterm.
21563 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
21564 (grub_virtual_screen_setup): Initialise 'total_screen'.
21565 (write_char): Split to ...
21566 (paint_char): ... this ...
21567 (write_char): ... and this.
21568 (paint_char): Handle delayed scrolling.
21569 (draw_cursor): Likewise.
21570 (scroll_up): Split to ...
21571 (real_scroll): ... this ...
21572 (scroll_up): ... and this.
21573 (real_scroll): Handle multi-line scroll and draw below-the-bottom
21575 (grub_gfxterm_refresh): Call real_scroll.
21577 2010-02-06 Colin D Bennett <colin@gibibit.com>
21579 * include/grub/misc.h (grub_iscntrl): New inline function.
21580 (grub_isalnum): Likewise.
21581 (grub_strtol): Likewise.
21583 2010-02-06 Colin D Bennett <colin@gibibit.com>
21585 * normal/menu_text.c (get_entry_number): Move from here ...
21586 * normal/menu.c (get_entry_number): ... moved here.
21587 * include/grub/menu.h (grub_menu_get_default_entry_index):
21589 * normal/menu.c (grub_menu_get_default_entry_index): New function.
21590 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
21591 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
21592 (grub_menu_viewer_should_return): Likewise.
21593 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
21594 * normal/menu_text.c (run_menu): Enable menu switching.
21595 * normal/menu_viewer.c (should_return): New variable.
21596 (menu_viewer_changed): Likewise.
21597 (grub_menu_viewer_show_menu): Handle menu viewer changes.
21598 (grub_menu_viewer_should_return): New function.
21599 (menuviewer_write_hook): Likewise.
21600 (grub_menu_viewer_init): Likewise.
21602 2010-02-06 Colin D Bennet <colin@gibibit.com>
21603 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21605 Support for gfxterm in a window.
21607 * include/grub/gfxterm.h: New file.
21608 * include/grub/video.h (struct grub_video_rect): New declaration.
21609 (grub_video_rect_t): Likewise.
21610 * term/gfxterm.c (struct grub_gfxterm_window): New type.
21611 (refcount): New variable.
21612 (render_target): Likewise.
21613 (window): Likewise.
21614 (repaint_callback): Likewise.
21615 (grub_virtual_screen_setup): Use 'render_target'.
21616 (init_window): New function.
21617 (grub_gfxterm_init_window): Likewise.
21618 (grub_gfxterm_init): Check reference counter.
21620 (destroy_window): New function.
21621 (grub_gfxterm_destroy_window): Likewise.
21622 (grub_gfxterm_fini): Check reference counter.
21623 Use destroy_window.
21624 (redraw_screen_rect): Restore viewport.
21625 Use 'render_target' and 'window'.
21626 Call 'repaint_callback'.
21627 (write_char): Use 'render_target'.
21628 (draw_cursor): Likewise.
21629 (scroll_up): Restore viewport.
21630 Use 'render_target' and 'window'.
21631 Call 'repaint_callback'.
21632 (grub_gfxterm_cls): Likewise.
21633 (grub_gfxterm_refresh): Use 'window'.
21634 (grub_gfxterm_set_repaint_callback): New function.
21635 (grub_gfxterm_background_image_cmd): Use 'window'.
21636 (grub_gfxterm_get_term): New function.
21637 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
21639 2010-02-06 Colin D Bennett <colin@gibibit.com>
21641 Bitmap scaling support.
21643 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
21644 (bitmap_scale_mod_SOURCES): New variable.
21645 (bitmap_scale_mod_CFLAGS): Likewise.
21646 (bitmap_scale_mod_LDFLAGS): Likewise.
21647 * include/grub/bitmap_scale.h: New file.
21648 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
21649 (background_image_cmd_options): New variable.
21650 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
21651 (cmd): Rename and change type to ...
21652 (background_image_cmd_handle): ... this. All users updated.
21653 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
21654 * video/bitmap_scale.c: New file.
21656 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21660 * Makefile.in (LIBSDL): New variable.
21661 (enable_grub_emu_sdl): Likewise.
21662 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
21663 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
21664 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
21665 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
21666 * util/sdl.c: New file.
21668 2010-02-06 Colin D Bennett <colin@gibibit.com>
21669 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21671 Double buffering support.
21673 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
21674 * include/grub/video.h: Update comment.
21675 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
21677 (grub_video_fb_doublebuf_blit_init): New prototype.
21678 * term/gfxterm.c (scroll_up): Support double buffering.
21679 (grub_gfxterm_refresh): Likewise.
21680 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
21681 (grub_video_fb_doublebuf_blit_init): Likewise.
21682 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
21683 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
21684 'displayed_page', 'render_page' and 'update_screen'.
21685 (grub_video_vbe_fini): Free offscreen buffer.
21686 (doublebuf_pageflipping_commit): New function.
21687 (doublebuf_pageflipping_update_screen): Likewise.
21688 (doublebuf_pageflipping_init): Likewise.
21689 (double_buffering_init): Likewise.
21690 (grub_video_vbe_setup): Enable doublebuffering.
21691 (grub_video_vbe_swap_buffers): Implement.
21692 (grub_video_vbe_set_active_render_target): Handle double buffering.
21693 (grub_video_vbe_get_active_render_target): Likewise.
21694 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
21695 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
21696 (grub_video_vbe_enable_double_buffering): Likewise.
21697 (grub_video_vbe_swap_buffers): Use update_screen.
21698 (grub_video_set_mode): Use double buffering.
21700 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21702 * maintainance/gentrigtables.py: Remove.
21703 * lib/trig.c: Likewise.
21705 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
21707 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
21709 (trigtables.c): New rule.
21710 (gentrigtables): Likewise.
21711 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
21713 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21715 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
21718 2010-02-06 Colin D Bennet <colin@gibibit.com>
21720 Trigonometry support.
21722 * include/grub/trig.h: New file.
21723 * lib/trig.c: Likewise.
21724 * maintainance/gentrigtables.py: Likewise.
21725 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
21726 (trig_mod_SOURCES): New variable.
21727 (trig_mod_CFLAGS): Likewise.
21728 (trig_mod_LDFLAGS): Likewise.
21730 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21732 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
21735 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21737 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
21740 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21742 * util/hostdisk.c (open_device): Don't use partition device when reading
21743 before the partition.
21744 (grub_util_biosdisk_read): Don't read from partition and before the
21745 partition in single operation.
21746 (grub_util_biosdisk_write): Don't write to partition and before the
21747 partition in single operation.
21749 2010-02-03 Torsten Landschoff <torsten@debian.org>
21751 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21754 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21756 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
21758 (grub_biosdisk_write): Refuse to write to CDROM.
21760 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21762 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
21764 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21766 * font/font.c (find_glyph): Check that bmp_idx is available before
21768 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
21769 with (font == NULL).
21771 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
21773 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
21775 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
21777 * include/grub/script_sh.h (sourcecode): Add const qualifier.
21778 * util/grub-script-check.c (getline): Fix empty lines case.
21780 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
21782 * Makefile.in (check): Exit with fail status when one of the tests
21784 * tests/example_functional_test.c (example_test): Fix reversed assert.
21785 * tests/example_unit_test.c (example_test): Likewise.
21787 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
21789 * util/grub.d/10_linux.in: This script does not use any of the
21790 contents of gettext.sh, only the external command `gettext', so stop
21791 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
21792 the same prefix as GRUB.)
21793 * util/grub.d/10_kfreebsd.in: Likewise.
21795 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21797 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
21800 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21802 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21805 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21807 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
21808 having a 4KiB and not 32KiB buffer size.
21810 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21812 * util/hostfs.c: Include `<errno.h>'.
21813 (grub_hostfs_read): Handle errors from fseeko() and fread().
21815 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21817 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
21818 loop when using read hooks on files whose size isn't sector-aligned.
21820 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21822 Remove unused parameter.
21824 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
21825 (grub_iso9660_open): Remove initialization of `data->length'.
21827 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21829 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
21830 memleak conditions.
21832 2010-01-27 Carles Pina i Estany <carles@pina.cat>
21834 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
21835 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
21837 2010-01-26 Carles Pina i Estany <carles@pina.cat>
21839 * util/bin2h.c (usage): Fix warning (space after backslash).
21841 2010-01-26 Carles Pina i Estany <carles@pina.cat>
21843 * font/font.c: Include `grub/fontformat.h.
21844 Remove font file format constants.
21845 (grub_font_load): Use the new macros.
21846 * include/grub/fontformat.h: New file.
21847 * util/grub-mkfont.c: Include `grub/fontformat.c'.
21848 (write_font_pf2): Use the new macros.
21850 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21852 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
21855 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21857 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
21859 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
21860 (_start): Macroify `0x7F'.
21862 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
21863 (make_install_device): Use "(pxe)" as fallback prefix when booting
21866 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
21868 * configure.ac: Reset LIBS after check for libgcc symbols.
21870 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
21872 * util/hostdisk.c (open_device): Add trailing newline to debug
21875 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
21877 * configure.ac: Check for `limits.h'.
21878 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
21880 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
21882 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
21883 capitalize error strings.
21885 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
21887 * util/grub.d/10_hurd.in: Add a recovery mode.
21889 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
21891 * configure.ac: Check for libgcc symbols with -nostdlib.
21893 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
21895 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
21897 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21899 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
21900 stack since heap may be unavailable at that point.
21901 (grub_ofconsole_gotoxy): Likewise.
21903 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21905 * configure.ac: Check for _restgpr_14_x.
21906 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
21907 and _savegpr_* prototypes.
21909 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
21911 Use generic grub_reboot() for i386-efi.
21913 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
21914 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
21915 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
21917 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21919 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
21920 presence of "prefix" variable as it breaks when normal.mod is
21923 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21925 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
21926 stack since heap is unavailable at that point.
21928 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21930 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
21931 (grub_freebsd_bootinfo): Rewritten.
21932 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
21934 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21936 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
21938 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
21940 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
21943 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
21945 * util/misc.c (make_system_path_relative_to_its_root): Change the work
21946 around for handling "/" to the correct fix. Fix a memory leak. Use
21947 xstrdup instead of strdup.
21949 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21951 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
21953 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21955 Optimise glyph lookup by Basic Multilingual Plane lookup array.
21957 * font/font.c (struct grub_font): New member 'bmp_idx'.
21958 (font_init): Initialise 'bmp_idx'.
21959 (load_font_index): Fill 'bmp_idx'.
21960 (find_glyph): Make inline. Use bmp_idx for BMP characters.
21962 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21964 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
21967 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21969 Move context handling out of the kernel.
21971 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
21972 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
21973 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
21974 * conf/i386-efi.rmk: Likewise.
21975 * conf/i386-ieee1275.rmk: Likewise.
21976 * conf/i386-pc.rmk: Likewise.
21977 * conf/powerpc-ieee1275.rmk: Likewise.
21978 * conf/sparc64-ieee1275.rmk: Likewise.
21979 * conf/x86_64-efi.rmk: Likewise.
21980 * include/grub/env.h: Include grub/menu.h.
21981 (grub_env_var_type): Removed.
21982 (grub_env_var): Replaced field 'type' with 'global'.
21983 (grub_env_find): New prototype.
21984 (grub_env_context_open): Remove EXPORT_FUNC.
21985 (grub_env_context_close): Likewise.
21986 (grub_env_export): Likewise.
21987 (grub_env_set_data_slot): Removed.
21988 (grub_env_get_data_slot): Likewise.
21989 (grub_env_unset_data_slot): Likewise.
21990 (grub_env_unset_menu): New prototype.
21991 (grub_env_set_menu): Likewise.
21992 (grub_env_get_menu): Likewise.
21993 * include/grub/env_private.h: New file.
21994 * include/grub/normal.h (grub_context_init): New prototype.
21995 (grub_context_fini): Likewise.
21996 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
21997 * normal/context.c (grub_cmd_export): ... to here.
21998 * kern/env.c: Include env_private.h.
21999 (HASHSZ): Moved to include/grub/env_private.h.
22000 (grub_env_context): Likewise.
22001 (grub_env_sorted_var): Likewise.
22002 (current_context): Renamed from this ...
22003 (grub_current_context): ...to this. 'static' removed. All users updated.
22004 (grub_env_find): Removed 'static'.
22005 (grub_env_context_open): Moved to normal/context.c.
22006 (grub_env_context_close): Likewise.
22007 (grub_env_export): Likewise.
22008 (mangle_data_slot_name): Removed.
22009 (grub_env_set_data_slot): Likewise.
22010 (grub_env_get_data_slot): Likewise.
22011 (grub_env_unset_data_slot): Likewise.
22012 * kern/main.c (grub_set_root_dev): Don't export root.
22013 It will be done later.
22014 (grub_main): Don't export prefix.
22015 It will be done later.
22016 * normal/context.c: New file.
22017 * normal/main.c (free_menu): Use grub_env_unset_menu.
22018 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22019 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22020 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22021 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22023 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22027 * commands/setpci.c: New file.
22028 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22029 (setpci_mod_SOURCES): New variable.
22030 (setpci_mod_CFLAGS): Likewise.
22031 (setpci_mod_LDFLAGS): Likewise.
22033 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22035 Byte-addressable PCI configuration space.
22037 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22039 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22040 GRUB_PCI_REG_CACHELINE.
22041 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22042 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22043 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22044 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22045 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22046 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22047 grub_pci_make_address.
22048 (lock_rom_area): Likewise.
22049 * commands/lspci.c (grub_lspci_iter): Use macroses
22050 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22051 of grub_pci_make_address.
22052 * disk/ata.c (grub_ata_pciinit): Likewise.
22053 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22054 (GRUB_PCI_REG_VENDOR): Likewise.
22055 (GRUB_PCI_REG_DEVICE): Likewise.
22056 (GRUB_PCI_REG_COMMAND): Likewise.
22057 (GRUB_PCI_REG_STATUS): Likewise.
22058 (GRUB_PCI_REG_REVISION): Likewise.
22059 (GRUB_PCI_REG_CLASS): Likewise.
22060 (GRUB_PCI_REG_CACHELINE): Likewise.
22061 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22062 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22063 (GRUB_PCI_REG_BIST): Likewise.
22064 (GRUB_PCI_REG_ADDRESSES): Likewise.
22065 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22066 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22067 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22068 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22069 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22070 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22071 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22072 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22073 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22074 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22075 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22076 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22077 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22078 (GRUB_PCI_REG_MIN_GNT): Likewise.
22079 (GRUB_PCI_REG_MAX_LAT): Likewise.
22080 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22081 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22082 * video/efi_uga.c (find_framebuf): Likewise.
22083 * video/sm712.c (grub_video_sm712_setup): Likewise.
22084 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22087 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22089 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22090 can be reliably determined to be supported.
22092 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22094 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22095 that VESA is supported.
22096 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22099 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22101 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22103 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22105 * util/misc.c (make_system_path_relative_to_its_root): Work around
22106 special-casing of "/", as previous incarnation of this routine did.
22108 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22110 Fix any-emu compilation.
22112 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22113 * grub_bin2h_SOURCES: New variable.
22115 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22117 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22119 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22121 * util/grub.d/00_header.in: Fix handling of locale_dir.
22123 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22125 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22126 as possible unifont location (Gentoo).
22127 Reported by: Alexander Brüning
22129 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22131 Don't try to generate lists for kernel.img.
22133 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22134 (pkglib_MODULES): Remove kernel.img.
22135 (kernel_img_EXPORTS): Removed.
22136 (kernel_img_RELOCATABLE): New variable.
22137 * conf/x86_64-efi.rmk: Likewise.
22138 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22140 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22142 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22143 grub_xasprintf or grub_snprintf.
22144 (grub_vsprintf): Likewise.
22145 (grub_snprintf): New proto.
22146 (grub_vsnprintf): Likewise.
22147 (grub_xasprintf): Likewise.
22148 (grub_xvasprintf): Likewise.
22149 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22150 (grub_sprintf): Removed.
22151 (grub_vsnprintf): New function.
22152 (grub_snprintf): Likewise.
22153 (grub_xvasprintf): Likewise.
22154 (grub_xasprintf): Likewise.
22155 (grub_vsprintf): Renamed to ...
22156 (grub_vsnprintf_real): ...this. New argument max_len.
22158 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22160 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22161 fix grub-script-check warning.
22163 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22165 * include/grub/font.h (grub_font_load): Fix prototype.
22167 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22169 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22171 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22173 * include/grub/x86_64/at_keyboard.h: New file.
22175 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22177 * loader/mips/linux.c: Include missing grub/i18n.h.
22179 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22181 * normal/menu.c (notify_execution_failure): Clarify error message.
22183 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22185 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22186 return value (and revert all return statements). Update users.
22188 2010-01-20 Dan Merillat <debian@dan.merillat.org>
22190 * kern/device.c (grub_device_iterate): Allocate new part_ent
22191 structure based on sizeof (*p) rather than sizeof (p->next), to
22192 account for structure padding.
22194 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22195 disk is NULL, which might happen for LVM physical volumes with no
22198 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22200 * loader/mips/linux.c (grub_cmd_initrd)
22201 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22203 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22205 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22206 (grub_video_video_init, grub_video_bitmap_init)
22207 (grub_font_manager_init, grub_term_gfxterm_init)
22208 (grub_at_keyboard_init): New extern declarations.
22209 (grub_machine_init): Initialize gfxterm and at_keyboard.
22211 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22213 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22214 `gfxterm.mod' into core image.
22216 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22217 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22218 (kernel_img_FORMAT): Copy to ...
22220 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22221 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22222 (kernel_img_FORMAT): ... here, and ...
22224 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22225 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22226 (kernel_img_FORMAT): ... here.
22228 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22229 and input (at_keyboard) terminals in kernel.
22230 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22232 (pkglib_MODULES): Remove `pci.mod'.
22233 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22234 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22235 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22236 (at_keyboard_mod_LDFLAGS): Remove variables.
22238 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
22240 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22242 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22244 * include/grub/mips/libgcc.h: Only export symbols for functions
22245 that libgcc provides.
22247 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22251 * bus/bonito.c: New file.
22252 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22253 GRUB_PCI_NUM_DEVICES.
22254 * term/i386/pc/serial.c: Move to ...
22255 * term/serial.c: ... here. All users updated.
22256 * util/i386/pc/grub-mkimage.c: Move to ...
22257 * util/grub-mkrawimage.c: ... here. All users updated.
22258 * term/i386/pc/at_keyboard.c: Move to ...
22259 * term/at_keyboard.c: ... here. All users updated.
22260 * conf/mips-qemu-mips.rmk: New file.
22261 * conf/mips-yeeloong.rmk: Likewise.
22262 * conf/mips.rmk: Likewise.
22263 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22265 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22267 (grub_ata_pciinit): Support CS5536.
22268 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22269 * font/font_cmd.c (loadfont_command): Open file before passing it to
22271 (pseudo_file_read): New function.
22272 (pseudo_file_close): Likewise.
22273 (pseudo_fs): New structure.
22274 (load_font_module): New function.
22275 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22276 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22277 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22278 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22279 * include/grub/i386/at_keyboard.h: Split into ...
22280 * include/grub/at_keyboard.h: ... this ...
22281 * include/grub/i386/at_keyboard.h: ... and this.
22282 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22284 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22286 (grub_elf64_size): Likewise.
22287 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22289 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22290 * include/grub/i386/coreboot/serial.h: Rewritten.
22291 * include/grub/i386/ieee1275/serial.h: Include
22292 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22293 * include/grub/i386/pc/serial.h: Moved from here ...
22294 * include/grub/serial.h: ... to here. All users updated.
22295 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22296 (GRUB_PCI_NUM_BUS): Likewise.
22297 (GRUB_PCI_NUM_DEVICES): Likewise.
22298 (grub_pci_device_map_range): Add missing volatile keyword.
22299 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22300 * include/grub/mips/at_keyboard.h: New file.
22301 * include/grub/mips/cache.h: Likewise.
22302 * include/grub/mips/io.h: Likewise.
22303 * include/grub/mips/kernel.h: Likewise.
22304 * include/grub/mips/libgcc.h: Likewise.
22305 * include/grub/mips/pci.h: Likewise.
22306 * include/grub/mips/qemu-mips/boot.h: Likewise.
22307 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22308 * include/grub/mips/qemu-mips/loader.h: Likewise.
22309 * include/grub/mips/qemu-mips/memory.h: Likewise.
22310 * include/grub/mips/qemu-mips/serial.h: Likewise.
22311 * include/grub/mips/qemu-mips/time.h: Likewise.
22312 * include/grub/mips/relocator.h: Likewise.
22313 * include/grub/mips/time.h: Likewise.
22314 * include/grub/mips/types.h: Likewise.
22315 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22316 * include/grub/mips/yeeloong/boot.h: Likewise.
22317 * include/grub/mips/yeeloong/kernel.h: Likewise.
22318 * include/grub/mips/yeeloong/loader.h: Likewise.
22319 * include/grub/mips/yeeloong/memory.h: Likewise.
22320 * include/grub/mips/yeeloong/pci.h: Likewise.
22321 * include/grub/mips/yeeloong/serial.h: Likewise.
22322 * include/grub/mips/yeeloong/time.h: Likewise.
22323 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22324 * kern/elf.c (grub_elf32_size): New parameter. All users
22326 (grub_elf64_size): Likewise.
22327 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22328 Load modules before saying "Welcome to GRUB!".
22329 Call grub_refresh after saying "Welcome to GRUB!".
22330 * kern/mips/cache.S: New file.
22331 * kern/mips/cache_flush.S: Likewise.
22332 * kern/mips/dl.c: Likewise.
22333 * kern/mips/init.c: Likewise.
22334 * kern/mips/qemu-mips/init.c: Likewise.
22335 * kern/mips/startup.S: Likewise.
22336 * kern/mips/yeeloong/init.c: Likewise.
22337 * kern/term.c (grub_putcode): Handle NULL terminal.
22338 (grub_getcharwidth): Likewise.
22339 (grub_getkey): Likewise.
22340 (grub_checkkey): Likewise.
22341 (grub_getkeystatus): Likewise.
22342 (grub_getxy): Likewise.
22343 (grub_getwh): Likewise.
22344 (grub_gotoxy): Likewise.
22345 (grub_cls): Likewise.
22346 (grub_setcolorstate): Likewise.
22347 (grub_setcolor): Likewise.
22348 (grub_getcolor): Likewise.
22349 (grub_refresh): Likewise.
22350 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22351 (write_jump): Add hatch nop.
22352 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22353 * lib/mips/setjmp.S: New file.
22354 * loader/mips/linux.c: Likewise.
22355 * term/i386/pc/at_keyboard.c: Move from here ...
22356 * term/at_keyboard.c: ... to here.
22357 * term/i386/pc/serial.c: Moved from here ...
22358 * term/serial.c: ... to here. All users updated.
22359 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
22360 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
22361 (serial_translate_key_sequence): Avoid deadlock.
22362 (grub_serial_getkey): Handle backspace.
22363 (grub_serial_putchar): Fix newline handling.
22364 * util/i386/pc/grub-mkimage.c: Move from here ...
22365 * util/grub-mkrawimage.c: ... to here. All users updated.
22366 (generate_image): New parameters 'font_path' and 'format'.
22367 Support embedding font.
22368 Use grub_host_to_target* instead of grub_cpu_to_le*.
22369 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
22370 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
22371 (options): New option "--font".
22373 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
22374 (main): Handle "--font".
22375 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
22376 (grub_virtual_screen_setup): Set bg_color_display.
22377 (redraw_screen_rect): Use bg_color_display instead of incorrect
22379 (grub_gfxterm_cls): Likewise.
22380 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
22381 Support embedding config file.
22382 (add_segments): Likewise.
22383 (options): New option "--config".
22384 (main): Handle "--config".
22385 * video/sm712.c: New file.
22387 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22389 Fix parallel builds.
22391 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
22392 font.c depend on ascii.h).
22394 2010-01-12 Carles Pina i Estany <carles@pina.cat>
22396 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
22398 2010-01-11 Carles Pina i Estany <carles@pina.cat>
22400 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
22401 By default: disabled.
22402 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
22405 2010-01-10 Carles Pina i Estany <carles@pina.cat>
22407 * font/font.c: Update copyright years.
22408 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
22410 2010-01-10 Carles Pina i Estany <carles@pina.cat>
22412 * font/font.c: Include `ascii.h'.
22413 (ASCII_BITMAP_SIZE): New macro.
22414 (ascii_font_glyph): Define.
22415 (ascii_glyph_lookup): New function.
22416 (grub_font_get_string_width): Change comment. If glyph not found, use
22417 ascii_glyph_lookup.
22418 (grub_font_get_glyph_with_fallback): If glyph not available returns
22419 ascii_glyph_lookup.
22420 * util/grub-mkfont.c (file_formats): New enum.
22421 (options): Add `ascii-bitmaps' new option.
22422 (usage): Add `asii-bitmaps' new option.
22423 (write_font_ascii_bitmap): New function.
22424 (write_font): Rename to ...
22425 (write_font_p2): ... this. Remove print_glyphs call.
22426 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
22427 used. Call print_glyphs.
22428 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
22430 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22432 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
22433 (grub_bin2h_SOURCES): New variable.
22434 * util/bin2h.c: New file.
22436 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22438 * include/multiboot.h: Resynced with spec.
22439 * include/multiboot2.h: Likewise.
22440 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
22441 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
22443 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22445 * include/grub/term.h (grub_term_register_input,
22446 grub_term_register_output): Check return of terminal init()
22447 routines, and abort if errors are raised.
22449 * commands/terminal.c: Update copyright year.
22451 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22453 * commands/terminal.c (grub_cmd_terminal_input)
22454 (grub_cmd_terminal_output): Check return of terminal init()
22455 routines, and abort if errors are raised.
22457 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22459 * include/grub/i386/bsd.h: Fix include pathes.
22461 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22463 Add missing *BSD copyright headers.
22465 * include/grub/aout.h: Add BSD licence.
22466 * include/grub/i386/bsd.h: Parts under different licences moved to ...
22467 * include/grub/i386/freebsd_linker.h: ... here,
22468 * include/grub/i386/freebsd_reboot.h: ... here,
22469 * include/grub/i386/netbsd_bootinfo.h: ... here,
22470 * include/grub/i386/netbsd_reboot.h: ... here,
22471 * include/grub/i386/openbsd_bootarg.h: ... here,
22472 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
22473 licence to each file.
22475 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22477 * acinclude.m4: Remove `nop' assembly instruction; it's not
22478 implemented by all architectures.
22480 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22482 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
22483 ELILO. This is no longer necessary.
22485 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
22487 Added new tool, grub-scrit-check to verify grub.cfg syntax.
22489 * util/grub-script-check.c: grub-script-check tool.
22490 * conf/common.rmk: Make rules for grub-script-check.
22492 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22494 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
22495 spotting it back in 2008. Shame on me for forgetting he did.
22497 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
22499 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22501 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
22502 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
22503 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
22504 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
22505 (GRUB_VIDEO_TYPE_EFI): Rename to ...
22506 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
22508 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
22510 * include/grub/test.h: Add license header.
22511 * tests/example_functional_test.c: Likewise.
22512 * tests/example_unit_test.c: Likewise.
22513 * tests/lib/functional_test.c: Likewise.
22514 * tests/lib/test.c: Likewise.
22515 * tests/lib/unit_test.c: Likewise.
22517 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
22519 Use flag-based instead of hook-based video mode selection and "auto"
22522 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
22523 (grub_video_set_mode): Changed prototype. All users updated.
22524 (grub_video_check_mode_flag): New inline function.
22525 * video/video.c (parse_modespec): New function.
22526 (grub_video_set_mode): Parse flags and keywords.
22528 2010-01-17 Carles Pina i Estany <carles@pina.cat>
22530 * util/misc.c (grub_util_info): Fix the order of the parameters in a
22533 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
22535 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
22537 2010-01-16 Carles Pina i Estany <carles@pina.cat>
22539 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
22541 * util/grub-emu.c (usage): Likewise.
22542 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
22543 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22544 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22545 * util/i386/pc/grub-setup.c (usage): Likewise.
22547 2010-01-16 Carles Pina i Estany <carles@pina.cat>
22549 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
22551 (grub_util_info): Likewise.
22552 (grub_util_error): Likewise.
22553 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
22554 and/or new lines in `grub_util_warna', `grub_util_info',
22555 `grub_util_error' calls.
22556 * util/getroot.c: Likewise.
22557 * util/grub-editenv.c: Likewise.
22558 * util/grub-emu.c: Likewise.
22559 * util/grub-fstest.c: Likewise.
22560 * util/grub-mkdevicemap.c: Likewise.
22561 * util/grub-mkfont.c: Likewise.
22562 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22563 * util/grub-mkrelpath.c: Likewise.
22564 * util/grub-pe2elf.c: Likewise.
22565 * util/grub-probe.c: Likewise.
22566 * util/hostdisk.c: Likewise.
22567 * util/i386/efi/grub-mkimage.c: Likewise.
22568 * util/i386/pc/grub-mkimage.c: Likewise.
22569 * util/i386/pc/grub-setup.c: Likewise.
22570 * util/ieee1275/ofpath.c: Likewise.
22571 * util/mkisofs/eltorito.c: Likewise.
22572 * util/mkisofs/rock.c: Likewise.
22573 * util/mkisofs/write.c: Likewise.
22574 * util/raid.c: Likewise.
22575 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22576 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22578 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22580 Enable multiboot on non-pc.
22582 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
22583 multiboot.mod and multiboot2.mod to ...
22584 * conf/i386.rmk (pkglib_MODULES): ... here.
22585 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
22587 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
22588 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
22590 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
22591 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
22593 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
22594 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
22596 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
22597 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
22599 (ata_mod_SOURCES): Removed.
22600 (ata_mod_CFLAGS): Likewise.
22601 (ata_mod_LDFLAGS): Likewise.
22602 (relocator_mod_SOURCES): Removed.
22603 (relocator_mod_CFLAGS): Likewise.
22604 (relocator_mod_ASFLAGS): Likewise.
22605 (relocator_mod_LDFLAGS): Likewise.
22607 * include/grub/x86_64/multiboot.h: New file.
22608 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
22611 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22613 Video multiboot support.
22615 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
22617 * include/multiboot.h: Resynced with multiboot specification.
22618 * include/multiboot2.h: Likewise.
22619 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
22620 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
22621 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
22622 (HAS_VGA_TEXT): Likewise.
22623 (accepts_video): New variable.
22624 (grub_multiboot_set_accepts_video): New function.
22625 (grub_multiboot_get_mbi_size): Account for video structures.
22626 (set_video_mode): New function.
22627 (retrieve_video_parameters): Likewise.
22628 (grub_multiboot_make_mbi): Fill video fields.
22630 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22634 * include/grub/video.h (grub_video_driver_id): New type.
22635 (grub_video_adapter): New member 'id'. All users updated.
22636 (grub_video_get_driver_id): New proto.
22637 * video/video.c (grub_video_get_driver_id): New function.
22639 2010-01-14 Carles Pina i Estany <carles@pina.cat>
22641 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
22644 2010-01-14 Carles Pina i Estany <carles@pina.cat>
22646 * normal/cmdline.c (print_completion): Gettextizze.
22648 2001-01-14 Carles Pina i Estany <carles@pina.cat>
22650 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
22652 2010-01-14 Carles Pina i Estany <carles@pina.cat>
22654 * gettext/gettext.c (grub_gettext_translate): Push and pop
22656 (grub_gettext_delete_list): Change comment style.
22657 * kern/err.c (grub_error): Gettextizze.
22658 (grub_fatal): Gettextizze.
22660 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22662 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
22663 (grub_linux16_real_boot): ... this.
22664 * kern/i386/loader.S: Likewise.
22665 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
22666 (grub_linux16_boot): New function. Switches to text mode and calls
22667 grub_linux16_real_boot().
22669 * loader/i386/bsd.c: Include `<grub/video.h>'.
22670 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
22671 text mode before calling grub_unix_real_boot().
22673 * loader/i386/multiboot.c: Include `<grub/video.h>'.
22674 (grub_multiboot_boot): Switch to text mode before calling
22675 grub_relocator32_boot().
22677 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
22678 (grub_chainloader_boot): Switch to text mode before calling
22679 grub_chainloader_real_boot().
22681 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22682 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
22684 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
22687 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22688 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
22690 * util/grub.d/00_header.in: Define a "savedefault" function for use
22692 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
22694 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22695 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
22697 * util/grub-mkconfig_lib.in (save_default_entry): Only set
22698 saved_entry if boot_once is unset.
22699 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
22700 previous saved entry (i.e. grub-reboot).
22702 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22704 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
22706 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22708 * util/grub.d/00_header.in: Use `set var=val' rather than plain
22710 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
22712 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22714 * util/grub-reboot.in: Fix --version output.
22715 * util/grub-set-default.in: Likewise.
22717 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22719 * util/grub.d/00_header.in: Silently ignore zero-sized environment
22722 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22724 * util/grub.d/00_header.in: Quote the value assigned to `default',
22725 in case it contains spaces.
22727 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22729 * util/grub.d/30_os-prober.in: Fix merge error that moved a
22730 `save_default_entry' call from the macosx case to the linux case.
22732 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
22733 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
22735 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
22736 in `chosen' environment variable.
22737 * normal/menu_text.c (get_entry_number): Check if the variable
22738 matches the title of a menu entry.
22739 (run_menu): Pass menu to get_entry_number.
22741 * util/grub-reboot.in: New file.
22742 * util/grub-set-default.in: New file.
22743 * conf/common.rmk (grub-reboot): New utility.
22744 (grub-set-default): New utility.
22746 * util/grub-mkconfig_lib.in (save_default_entry): New function.
22747 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
22748 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
22749 move it to `saved_entry' for the next boot. Load environment on
22751 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
22752 * util/grub.d/10_hurd.in: Likewise.
22753 * util/grub.d/10_linux.in (linux_entry): Likewise.
22754 * util/grub.d/10_windows.in: Likewise.
22755 * util/grub.d/30_os-prober.in: Likewise.
22757 * util/grub-install.in: Create environment block.
22758 * util/i386/efi/grub-install.in: Likewise.
22759 * util/ieee1275/grub-install.in: Likewise.
22760 * util/sparc64/ieee1275/grub-install.in: Likewise.
22762 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
22764 Unit testing framework for GRUB.
22766 * Makefile.in: Test framework build rules for 'make check'.
22767 * conf/tests.rmk: Build rules for individual tests and framework.
22769 * include/grub/test.h: Header file for whitebox tests.
22770 * tests/lib/functional_test.c: Framework support for whitebox
22772 * tests/lib/test.c: Common whitebox testing code for unit and
22774 * tests/lib/unit_test.c: Framework support for whitebox unit
22777 * tests/util/grub-shell-tester.in: Support utility for grub-script
22779 * tests/util/grub-shell.in: Utility to execute grub-script
22780 commands in a Qemu instance.
22782 * tests/example_functional_test.c: Example whitebox functional
22784 * tests/example_grub_script_test.in: Example grub-script test.
22785 * tests/example_scripted_test.in: Example scripted test.
22786 * tests/example_unit_test.c: Example whitebox unit test.
22788 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
22790 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
22791 Add loader/i386/multiboot_mbi.c.
22792 (multiboot2_mod_SOURCES): Likewise.
22793 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
22794 (multiboot2_mod_SOURCES): Likewise.
22795 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
22796 (grub_multiboot_make_mbi): Likewise.
22797 (grub_multiboot_free_mbi): Likewise.
22798 (grub_multiboot_init_mbi): Likewise.
22799 (grub_multiboot_add_module): Likewise.
22800 (grub_multiboot_set_bootdev): Likewise.
22801 * loader/i386/multiboot.c (mbi): Removed.
22802 (mbi_dest): Likewise.
22803 (alloc_mbi): New variable.
22804 (grub_multiboot_payload_size): Removed. All users updated.
22805 (grub_multiboot_pure_size): New variable.
22806 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
22807 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
22808 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
22809 (grub_fill_multiboot_mmap): Likewise.
22810 (grub_multiboot_get_bootdev): Likewise.
22811 (grub_multiboot): Use multiboot_mbi functions.
22812 * loader/i386/multiboot_mbi.c: New file.
22814 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22816 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
22817 it would result in module crash.
22819 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22821 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
22822 (grub_ofconsole_getwh): Split to ...
22823 (grub_ofconsole_getwh): ... this.
22824 (grub_ofconsole_dimensions): ...and this.
22825 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
22827 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
22829 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
22831 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22833 * loader/i386/pc/multiboot2.c: Removed stalled file.
22835 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22837 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
22838 Reported by: Grégoire Sutre
22840 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
22842 * util/misc.c (canonicalize_file_name): New function.
22843 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
22844 instead of realpath().
22846 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
22848 * util/grub-install.in (usage): Clarify meaning of --root-directory,
22849 and make it clearer that it's optional. Based on confusion
22852 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22854 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
22855 in premature implicit newline.
22857 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22859 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
22860 which resulted in garbled command line at the end of screen.
22862 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22864 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
22865 initialization with similar approach as with other Linux loaders.
22867 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22869 Fix i386-ieee1275 build.
22871 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
22872 and grub_term_height() for video_{width,height} initialization.
22874 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22876 Fix grub-emu build.
22878 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
22880 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22881 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22883 Support for multiple terminals.
22885 * Makefile.in (pkglib_DATA): terminal.lst.
22886 (terminal.lst): New target.
22887 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
22888 (GRUB_MOD_INIT(handler)): Likewise.
22889 (GRUB_MOD_FINI(handler)): Likewise.
22890 * commands/help.c (grub_cmd_help): Handle multiple terminals.
22891 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
22892 * commands/sleep.c (do_print): Use grub_term_restore_pos.
22893 (grub_cmd_sleep): Use grub_term_save_pos.
22894 * commands/terminal.c: New file.
22895 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
22896 commands/terminal.c and lib/charset.c.
22897 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
22898 (pkglib_MODULES): Add terminal.mod.
22899 (terminal_mod_SOURCES): New variable.
22900 (terminal_mod_CFLAGS): Likewise.
22901 (terminal_mod_LDFLAGS): Likewise.
22902 * genhandlerlist.sh: Don't handle terminals.
22903 * genmk.rb: Generate terminal-*.lst.
22904 * genterminallist.sh: New file.
22905 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
22906 (grub_is_valid_utf8): Likewise.
22907 (grub_utf8_to_ucs4_alloc): Likewise.
22908 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
22909 (grub_menu_register_viewer): Changed argument.
22910 (grub_menu_try_text): New proto.
22911 (grub_gfxmenu_try_hook): New declaration.
22912 * include/grub/normal.h (grub_normal_exit_level): New declaration.
22913 (grub_menu_init_page): Additional argument term.
22914 (grub_normal_init_page): Likewise.
22915 (grub_cmdline_get): Arguments simplified.
22916 (grub_utf8_to_ucs4_alloc): Removed.
22917 (grub_print_ucs4): Additional argument term.
22918 (grub_getstringwidth): Likewise.
22919 (grub_print_message_indented): Likewise.
22920 (grub_menu_text_register_instances): New proto.
22921 (grub_show_menu): Likewise.
22922 (read_terminal_list): Likewise.
22923 (grub_set_more): Likewise.
22924 * include/grub/parser.h: Include handler.h.
22925 * include/grub/reader.h: Rewritten.
22926 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
22927 (GRUB_TERM_WIDTH): Changed to function.
22928 (GRUB_TERM_HEIGHT): Likewise.
22929 (GRUB_TERM_BORDER_WIDTH): Likewise.
22930 (GRUB_TERM_BORDER_HEIGHT): Likewise.
22931 (GRUB_TERM_NUM_ENTRIES): Likewise.
22932 (GRUB_TERM_ENTRY_WIDTH): Likewise.
22933 (GRUB_TERM_CURSOR_X): Likewise.
22934 (grub_term_input_class): Likewise.
22935 (grub_term_output_class): Likewise.
22936 (grub_term_outputs_disabled): New declaration.
22937 (grub_term_inputs_disabled): Likewise.
22938 (grub_term_outputs): Likewise.
22939 (grub_term_inputs): Likewise.
22940 (grub_term_register_input): Rewritten.
22941 (grub_term_register_output): Likewise.
22942 (grub_term_unregister_input): Likewise.
22943 (grub_term_unregister_output): Likewise.
22944 (FOR_ACTIVE_TERM_INPUTS): New macro.
22945 (FOR_DISABLED_TERM_INPUTS): Likewise.
22946 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22947 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22948 * include/grub/terminfo.h: Add oterm argument to all protypes.
22949 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
22950 Use grub_rescue_run.
22951 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
22953 * kern/reader.c: Removed. All users updated.
22954 * kern/rescue_reader.c (grub_rescue_init): Removed.
22955 (grub_rescue_reader): Likewise.
22956 (grub_register_rescue_reader): Likewise.
22957 (grub_rescue_run): New function based on kern/reader.c.
22958 * kern/term.c: Adapted for multiterm.
22959 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
22960 (grub_is_valid_utf8): Likewise.
22961 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
22962 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
22964 * loader/i386/linux.c (grub_linux_boot): Likewise.
22965 * normal/auth.c (grub_username_get): New function.
22966 (grub_auth_check_authentication): Use grub_username_get.
22967 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
22968 * normal/color.c: Adapt for multiterm.
22969 * normal/main.c (read_config_file): Don't use grub_reader_loop.
22970 (grub_normal_init_page): Additional argument term.
22971 (read_lists): Call read_terminal_lists.
22972 (grub_enter_normal_mode): Call grub_cmdline_run.
22973 Handle grub_normal_exit_level.
22974 (grub_cmd_normal): Make reentrant.
22975 (grub_cmd_normal_exit): New function.
22976 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
22977 * normal/menu.c: Adapt for multiterm.
22978 * normal/menu_entry.c: Likewise.
22979 * normal/menu_text.c: Likewise.
22980 * normal/menu_viewer.c: Removed. All users updated.
22981 * normal/term.c: New file.
22982 * util/console.c: Change order of includes to workaround a bug in
22984 * term/terminfo.c: New argument oterm on all exported functions.
22986 * util/grub-editenv.c (grub_term_input_class): Removed.
22987 (grub_term_output_class): Likewise.
22989 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22991 Make loader output a bit more user-friendly.
22993 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
22994 is being loaded. Likewise for the Hurd.
22996 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
22997 that kernel of FreeBSD ${version} is being loaded.
22999 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23001 (grub_cmd_initrd): Likewise.
23002 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23003 that Linux ${version} is being loaded. Likewise for initrd.
23005 2010-01-09 Carles Pina i Estany <carles@pina.cat>
23007 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23009 2010-01-08 Carles Pina i Estany <carles@pina.cat>
23011 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23012 (GRUB_MOD_INIT): Gettextizze.
23013 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23014 (GRUB_MOD_INIT): Gettextizze.
23015 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23016 (grub_cmd_linux): Capitalise Linux.
23017 (GRUB_MOD_INIT): Gettextizze.
23018 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23019 (grub_cmd_linux): Capitalise Linux.
23020 (GRUB_MOD_INIT): Gettextizze.
23021 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23022 (grub_cmd_linux): Capitalise Linux.
23023 (GRUB_MOD_INIT): Gettextizze.
23024 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23025 (GRUB_MOD_INIT): Gettextizze.
23026 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23027 (grub_cmd_linux): Capitalise Linux.
23028 (GRUB_MOD_INIT): Gettextizze.
23029 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23030 (grub_cpu_xnu_init): Gettextizze.
23031 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23032 (GRUB_MOD_INIT): Gettextizze.
23033 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23034 (GRUB_MOD_INIT): Gettextizze.
23035 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23036 (grub_linux_load64): Capitalise Linux.
23037 (GRUB_MOD_INIT): Gettextizze.
23038 * loader/xnu.c: Include `<grub/i18n.h>'.
23039 (GRUB_MOD_INIT): Gettextizze.
23040 * po/POTFILES: Add `loader/efi/appleloader.c',
23041 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23042 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23043 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23044 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23045 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23046 and `loader/xnu.c'.
23048 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23050 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23052 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23054 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23055 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23056 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23058 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23060 Reset Multiboot 2 support. New loader implements the draft in
23061 /branches/multiboot2 and shares as much code as possible with the
23062 production Multiboot 1 implementation.
23064 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23065 * loader/multiboot2.c: Likewise.
23066 * loader/i386/multiboot_helper.S: Likewise.
23067 * include/multiboot2.h: Replace with latest version from the draft
23068 in /branches/multiboot2.
23070 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23071 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23072 and `loader/multiboot2.c'.
23073 (pkglib_MODULES): Add `multiboot2.mod'.
23074 (multiboot2_mod_SOURCES): New variable.
23075 (multiboot2_mod_LDFLAGS): Likewise.
23076 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23078 * conf/i386-pc.rmk: Likewise.
23080 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23081 (multiboot_mod_SOURCES): Remove variable.
23082 (multiboot_mod_LDFLAGS): Likewise.
23083 (multiboot_mod_CFLAGS): Likewise.
23085 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23086 `<multiboot2.h>' instead of `<multiboot.h>'.
23087 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23088 (MULTIBOOT_HEADER_MAGIC): New macros.
23090 * loader/multiboot_loader.c (module_version_status): Remove variable.
23091 (find_multi_boot2_header): Remove function.
23092 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23093 logic. Always check for the Multiboot version we're compiling for.
23094 (grub_cmd_module_loader): Likewise.
23095 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23096 command instead of `multiboot'.
23098 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23100 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23101 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23104 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23105 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23107 Fix breakage introduced with previous commit.
23109 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23111 * normal/handler.c (read_handler_list): Revert part of previous commit
23112 affecting this file.
23113 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23114 (grub_normal_execute): ... here.
23116 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23118 Merge prefix-redefinition-fix branch.
23120 * normal/autofs.c (read_fs_list): Make function capable of being
23121 run multiple times, gracefuly replacing the previous data
23123 * normal/dyncmd.c (read_command_list): Likewise.
23124 * normal/handler.c (read_handler_list): Likewise.
23125 * normal/main.c (read_lists): New function. Calls all the
23126 list reading functions.
23127 (grub_normal_execute): Use read_lists() instead of calling all
23128 list reading functions explicitly. Register read_lists() as a
23129 variable hook attached to ${prefix}.
23131 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23133 Merge crypto branch.
23135 * Makefile.in (pkglib_DATA): Add crypto.lst.
23136 (crypto.lst): New target.
23137 * commands/hashsum.c: New file.
23138 * commands/password.c (check_password): Use grub_crypto_memcmp.
23139 * commands/password_pbkdf2.c: New file.
23140 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23141 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23142 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23143 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23144 -I$(srcdir)/lib/libgcrypt_wrap.
23145 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23146 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23147 password_pbkdf2.mod.
23148 (crypto_mod_SOURCES): New variable.
23149 (crypto_mod_CFLAGS): Likewise.
23150 (crypto_mod_LDFLAGS): Likewise.
23151 (hashsum_mod_SOURCES): New variable.
23152 (hashsum_mod_CFLAGS): Likewise.
23153 (hashsum_mod_LDFLAGS): Likewise.
23154 (pbkdf2_mod_SOURCES): New variable.
23155 (pbkdf2_mod_CFLAGS): Likewise.
23156 (pbkdf2_mod_LDFLAGS): Likewise.
23157 (password_pbkdf2_mod_SOURCES): New variable.
23158 (password_pbkdf2_mod_CFLAGS): Likewise.
23159 (password_pbkdf2_mod_LDFLAGS): Likewise.
23160 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23161 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23162 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23163 Include conf/gcry.rmk.
23164 * include/grub/auth.h: Rewritten.
23165 * include/grub/crypto.h: New file.
23166 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23167 * include/grub/normal.h (read_crypto_list): New prototype.
23168 * lib/crypto.c: New file.
23169 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23170 * lib/pbkdf2.c: Likewise.
23171 * normal/auth.c (grub_auth_strcmp): Removed.
23172 (grub_iswordseparator): Likewise.
23173 (grub_auth_strword): Likewise.
23174 (is_authenticated): Use grub_strword.
23175 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23176 and grub_strword. Pass entered password to authentication callback.
23177 * normal/crypto.c: New file.
23178 * normal/main.c: Call read_crypto_list.
23179 * util/grub-mkpasswd-pbkdf2.c: New file.
23180 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23182 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23184 Fix descent and ascent calculation.
23186 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23187 (options): New option "asce".
23189 (add_char): Ignore invalid glyphs for descent calculation.
23190 Calculate ascent from actual content.
23191 (print_glyphs): Use 'asce'.
23192 (write_font): Likewise. Allow ascent override.
23193 (main): Handle "asce" option.
23195 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23197 * kern/err.c: Include `<grub/i18n.h>'.
23198 (grub_print_error): Add full stop. Gettextizze.
23199 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23200 (grub_bsd_load_elf): Capitalise ELF.
23201 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23202 (grub_cmd_freebsd_module): Likewise.
23203 (grub_cmd_freebsd_module_elf): Likewise.
23204 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23206 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23208 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23209 * commands/search_file.c (HELP_MESSAGE): New macro.
23210 * commands/search_label.c (HELP_MESSAGE): Likewise.
23211 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23212 * po/POTFILES: Add `commands/search_file.c',
23213 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23214 `commands/search.c'.
23216 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23218 * config.rpath: Update from Gnulib.
23220 2010-01-05 Yves Blusseau <blusseau@zetam.org>
23222 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23224 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23226 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23228 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23230 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23231 arguments to fread so that we get a return value in bytes, rather
23232 than something that will normally be rounded down to 0.
23233 Adjust error handling to avoid producing garbage when size_t is not
23234 the same size as long long.
23236 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23238 * util/mkisofs/write.c (padblock_write): Check return value of
23241 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23243 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23246 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23248 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23250 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23251 instead of manual alignment.
23252 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23253 verbose). Avoid attempts to read past end of the device
23254 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23255 but GRUB_DISK_CACHE_SIZE may exceed that).
23257 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23259 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23260 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23263 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23265 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23267 (grub_efi_piwg_device_path): New structure
23268 (grub_efi_piwg_device_path_t): New type.
23269 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23270 (devpath_1): Transform to a structure. All users updated.
23271 (devpath_2): Likewise.
23272 (devpath_3): Likewise.
23273 (devpath_4): Likewise.
23274 (devpath_5): Likewise.
23276 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23278 * loader/efi/appleloader.c: Restored. Update all users.
23280 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23282 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23284 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23285 (struct boot_blocklist): Move from here ...
23286 * include/grub/i386/pc/boot.h [ASM_FILE]
23287 (struct grub_boot_blocklist): ... to here. Update all users.
23288 (setup): Only initialize `start' member of `first_block'
23289 structure. Add assert() calls to verify the other members.
23291 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23292 (generate_image): Fix broken blocklist length initialization.
23293 Add assert() call to verify blocklist `segment' field.
23295 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23297 * loader/efi/appleloader.c: Remove. Update all users.
23299 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23301 * boot/i386/pc/boot.S: Update copyright year.
23302 * boot/i386/pc/cdboot.S: Likewise.
23303 * boot/i386/pc/diskboot.S: Likewise.
23304 * boot/i386/pc/lnxboot.S: Likewise.
23305 * boot/i386/pc/pxeboot.S: Likewise.
23306 * bus/pci.c: Likewise.
23307 * commands/cmp.c: Likewise.
23308 * commands/help.c: Likewise.
23309 * commands/hexdump.c: Likewise.
23310 * commands/i386/pc/halt.c: Likewise.
23311 * commands/i386/pc/play.c: Likewise.
23312 * commands/i386/pc/vbeinfo.c: Likewise.
23313 * commands/ls.c: Likewise.
23314 * commands/test.c: Likewise.
23315 * disk/dmraid_nvidia.c: Likewise.
23316 * disk/i386/pc/biosdisk.c: Likewise.
23317 * disk/ieee1275/nand.c: Likewise.
23318 * disk/ieee1275/ofdisk.c: Likewise.
23319 * disk/lvm.c: Likewise.
23320 * disk/raid.c: Likewise.
23321 * disk/raid6_recover.c: Likewise.
23322 * disk/scsi.c: Likewise.
23323 * fs/affs.c: Likewise.
23324 * fs/cpio.c: Likewise.
23325 * fs/ext2.c: Likewise.
23326 * fs/hfs.c: Likewise.
23327 * fs/iso9660.c: Likewise.
23328 * fs/ntfs.c: Likewise.
23329 * fs/sfs.c: Likewise.
23330 * fs/udf.c: Likewise.
23331 * fs/ufs.c: Likewise.
23332 * fs/xfs.c: Likewise.
23333 * gencmdlist.sh: Likewise.
23334 * genmk.rb: Likewise.
23335 * include/grub/disk.h: Likewise.
23336 * include/grub/efi/api.h: Likewise.
23337 * include/grub/efi/efi.h: Likewise.
23338 * include/grub/efi/pe32.h: Likewise.
23339 * include/grub/elf.h: Likewise.
23340 * include/grub/fs.h: Likewise.
23341 * include/grub/i386/at_keyboard.h: Likewise.
23342 * include/grub/i386/pc/memory.h: Likewise.
23343 * include/grub/i386/pc/vbe.h: Likewise.
23344 * include/grub/i386/pci.h: Likewise.
23345 * include/grub/i386/tsc.h: Likewise.
23346 * include/grub/ieee1275/ieee1275.h: Likewise.
23347 * include/grub/ntfs.h: Likewise.
23348 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23349 * include/grub/sparc64/libgcc.h: Likewise.
23350 * include/grub/symbol.h: Likewise.
23351 * include/grub/types.h: Likewise.
23352 * include/multiboot2.h: Likewise.
23353 * io/gzio.c: Likewise.
23354 * kern/device.c: Likewise.
23355 * kern/disk.c: Likewise.
23356 * kern/efi/efi.c: Likewise.
23357 * kern/efi/mm.c: Likewise.
23358 * kern/elf.c: Likewise.
23359 * kern/file.c: Likewise.
23360 * kern/i386/dl.c: Likewise.
23361 * kern/i386/pc/init.c: Likewise.
23362 * kern/i386/pc/startup.S: Likewise.
23363 * kern/ieee1275/ieee1275.c: Likewise.
23364 * kern/ieee1275/init.c: Likewise.
23365 * kern/main.c: Likewise.
23366 * kern/mm.c: Likewise.
23367 * kern/powerpc/dl.c: Likewise.
23368 * kern/sparc64/dl.c: Likewise.
23369 * kern/x86_64/dl.c: Likewise.
23370 * lib/hexdump.c: Likewise.
23371 * loader/efi/appleloader.c: Likewise.
23372 * loader/i386/ieee1275/linux.c: Likewise.
23373 * loader/i386/pc/chainloader.c: Likewise.
23374 * loader/i386/pc/linux.c: Likewise.
23375 * loader/i386/pc/multiboot2.c: Likewise.
23376 * loader/ieee1275/multiboot2.c: Likewise.
23377 * loader/multiboot2.c: Likewise.
23378 * loader/multiboot_loader.c: Likewise.
23379 * loader/powerpc/ieee1275/linux.c: Likewise.
23380 * normal/completion.c: Likewise.
23381 * normal/menu_entry.c: Likewise.
23382 * partmap/apple.c: Likewise.
23383 * util/grub.d/10_hurd.in: Likewise.
23384 * util/hostfs.c: Likewise.
23385 * video/readers/png.c: Likewise.
23387 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
23389 * include/grub/misc.h (GNUC_PREREQ): New macro.
23390 (ATTRIBUTE_ERROR): New macro.
23391 * include/grub/list.h (grub_bad_type_cast_real): Use
23394 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23396 * normal/menu_text.c (print_message): Change messages.
23398 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23400 * normal/menu_entry.c (store_completion): Gettextizze.
23402 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23404 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
23406 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23408 * po/POTFILES: Sort correctly.
23410 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23412 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
23413 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
23414 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
23416 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
23417 summary. Gettextizze the strings.
23418 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
23419 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
23420 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
23422 (GRUB_MOD_INIT): Remove command name from summary.
23423 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
23425 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
23426 * term/i386/pc/serial.c (options): Add full stops.
23427 (GRUB_MOD_INIT): Remove command name from the summary.
23429 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23431 * commands/acpi.c: Gettextizze help strings and/or options. Include
23432 `grub/i18n.h' if needed.
23433 * commands/blocklist.c: Likewise.
23434 * commands/boot.c: Likewise.
23435 * commands/cat.c: Likewise.
23436 * commands/cmp.c: Likewise.
23437 * commands/configfile.c: Likewise.
23438 * commands/crc.c: Likewise.
23439 * commands/date.c: Likewise.
23440 * commands/echo.c: Likewise.
23441 * commands/efi/fixvideo.c: Likewise.
23442 * commands/efi/loadbios.c: Likewise.
23443 * commands/gptsync.c: Likewise.
23444 * commands/halt.c: Likewise.
23445 * commands/handler.c: Likewise.
23446 * commands/hdparm.c: Likewise.
23447 * commands/hexdump.c: Likewise.
23448 * commands/i386/cpuid.c: Likewise.
23449 * commands/i386/pc/drivemap.c: Likewise.
23450 * commands/i386/pc/halt.c: Likewise.
23451 * commands/i386/pc/pxecmd.c: Likewise.
23452 * commands/i386/pc/vbeinfo.c: Likewise.
23453 * commands/i386/pc/vbetest.c: Likewise.
23454 * commands/ieee1275/suspend.c: Likewise.
23455 * commands/keystatus.c: Likewise.
23456 * commands/loadenv.c: Likewise.
23457 * commands/ls.c: Likewise.
23458 * commands/lsmmap.c: Likewise.
23459 * commands/lspci.c: Likewise.
23460 * commands/memrw.c: Likewise.
23461 * commands/minicmd.c: Likewise.
23462 * commands/parttool.c: Likewise.
23463 * commands/password.c: Likewise.
23464 * commands/probe.c: Likewise.
23465 * commands/read.c: Likewise.
23466 * commands/reboot.c: Likewise.
23467 * commands/search.c: Likewise.
23468 * commands/sleep.c: Likewise.
23469 * commands/test.c: Likewise.
23470 * commands/true.c: Likewise.
23471 * commands/usbtest.c: Likewise.
23472 * commands/videotest.c: Likewise.
23473 * commands/xnu_uuid.c: Likewise.
23474 * disk/loopback.c: Likewise.
23475 * hello/hello.c: Likewise.
23476 * loader/i386/bsd.c: Likewise.
23477 * term/i386/pc/serial.c: Likewise.
23478 * po/POTFILES: Add new files.
23480 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
23482 * term/i386/pc/at_keyboard.c
23483 (keyboard_controller_wait_untill_ready): Rename to ...
23484 (keyboard_controller_wait_until_ready): ... this. Update all users.
23486 2010-01-01 Carles Pina i Estany <carles@pina.cat>
23488 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
23489 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
23490 string using string width.
23491 * normal/menu_text.c (grub_print_message_indented): Use
23492 grub_print_spaces and not print_spaces.
23493 (print_timeout): Likewise.
23494 (print_spaces): Move to...
23495 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
23497 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
23499 Import from Gnulib.
23501 * gnulib/getdelim.c: New file.
23502 * gnulib/getline.c: Likewise.
23504 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
23506 * include/grub/list.h (grub_assert_fail): Removed.
23507 (grub_bad_type_cast_real): New function.
23508 (grub_bad_type_cast): New macro.
23509 (GRUB_AS_LIST): Use grub_bad_type_cast.
23510 (GRUB_AS_LIST_P): Likewise.
23511 (GRUB_AS_NAMED_LIST): Likewise.
23512 (GRUB_AS_NAMED_LIST_P): Likewise.
23513 (GRUB_AS_PRIO_LIST): Likewise.
23514 (GRUB_AS_PRIO_LIST_P): Likewise.
23515 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
23517 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
23519 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
23522 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
23524 * configure.ac: Check for TARGET_CFLAGS initialization before we
23525 initialize it ourselves (sigh).
23526 Move a few modifications to TARGET_CFLAGS to be unconditional
23527 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
23530 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
23531 * term/i386/pc/at_keyboard.c
23532 (keyboard_controller_wait_untill_ready): Likewise.
23533 (keyboard_controller_led): Rename `led_status' paramter to avoid
23536 2009-12-28 Carles Pina i Estany <carles@pina.cat>
23538 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
23541 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23543 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
23545 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23547 * normal/menu_text.c (grub_print_message_indented): Prevent
23548 past-the-end-of-array dereference.
23550 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23552 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
23553 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
23555 2009-12-27 Carles Pina i Estany <carles@pina.cat>
23557 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
23558 * normal/main.c (grub_normal_read_line): Remove a space from the
23561 2009-12-27 Carles Pina i Estany <carles@pina.cat>
23563 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
23564 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23565 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23566 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23567 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23568 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23569 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23571 2009-12-26 Carles Pina i Estany <carles@pina.cat>
23573 * video/readers/jpeg.c (cmd): Declare.
23574 (grub_cmd_jpegtest): Use `grub_command_t' type.
23575 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23577 (GRUB_MOD_FINI): Use `cmd' to unregister.
23578 * video/readers/png.c (cmd): Declare.
23579 (grub_cmd_pngtest): Use `grub_command_t' type.
23580 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23582 (GRUB_MOD_FINI): Use `cmd' to unregister.
23583 * video/readers/tga.c (cmd): Declare.
23584 (grub_cmd_tgatest): Use `grub_command_t' type.
23585 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23587 (GRUB_MOD_FINI): Use `cmd' to unregister.
23589 2009-12-26 Carles Pina i Estany <carles@pina.cat>
23591 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
23593 * kern/corecmd.c (grub_register_core_commands): Likewise.
23594 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
23595 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23596 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
23597 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23598 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23599 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
23600 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23601 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
23602 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23603 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23604 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23605 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23606 * normal/handler.c (insert_handler): Likewise.
23607 * normal/main.c (GRUB_MOD_INIT): Likewise.
23608 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23610 2009-12-26 Carles Pina i Estany <carles@pina.cat>
23612 * commands/help.c (grub_cmd_help): Print the command name before the
23614 (GRUB_MOD_INIT): Remove command name from the summary.
23615 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
23617 * lib/arg.c (find_long): Print the command name before the summary.
23618 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
23620 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
23621 * commands/cat.c (GRUB_MOD_INIT): Likewise.
23622 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
23623 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23624 * commands/crc.c (GRUB_MOD_INIT): Likewise.
23625 * commands/date.c (GRUB_MOD_INIT): Likewise.
23626 * commands/echo.c (GRUB_MOD_INIT): Likewise.
23627 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
23628 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23629 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23630 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
23631 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
23632 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
23633 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
23634 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23635 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
23636 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
23637 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
23638 * commands/ls.c (GRUB_MOD_INIT): Likewise.
23639 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23640 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23641 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23642 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
23643 * commands/password.c (GRUB_MOD_INIT): Likewise.
23644 * commands/probe.c (GRUB_MOD_INIT): Likewise.
23645 * commands/read.c (GRUB_MOD_INIT): Likewise.
23646 * commands/search.c (GRUB_MOD_INIT): Likewise.
23647 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
23648 * commands/test.c (GRUB_MOD_INIT): Likewise.
23649 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
23650 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23651 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23652 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
23653 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23654 * lib/arg.c (GRUB_MOD_INIT): Likewise.
23655 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
23656 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23657 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23658 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23659 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23660 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
23661 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
23662 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
23664 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23666 Use search command for preliminar UUID search.
23668 * commands/search.c: Split into ...
23669 * commands/search_wrap.c: ...this
23670 * commands/search.c: ...and this.
23671 * commands/search_file.c: New file.
23672 * commands/search_label.c: New file.
23673 * commands/search_uuid.c: New file.
23674 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
23675 Add commands/search_wrap.c, commands/search_file.c,
23676 commands/search_label.c and commands/search_uuid.c.
23677 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
23678 (search_mod_SOURCES): Set to commands/search_wrap.c.
23679 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
23681 (search_fs_file_mod_SOURCES): New variable.
23682 (search_fs_file_mod_CFLAGS): Likewise.
23683 (search_fs_file_mod_LDFLAGS): Likewise.
23684 (search_label_mod_SOURCES): Likewise.
23685 (search_label_mod_CFLAGS): Likewise.
23686 (search_label_mod_LDFLAGS): Likewise.
23687 (search_fs_uuid_mod_SOURCES): New variable.
23688 (search_fs_uuid_mod_CFLAGS): Likewise.
23689 (search_fs_uuid_mod_LDFLAGS): Likewise.
23690 (fs_file_mod_SOURCES): Removed.
23691 (fs_file_mod_CFLAGS): Likewise.
23692 (fs_file_mod_LDFLAGS): Likewise.
23693 (fs_uuid_mod_SOURCES): Removed.
23694 (fs_uuid_mod_CFLAGS): Likewise.
23695 (fs_uuid_mod_LDFLAGS): Likewise.
23696 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
23697 Set to util/grub-install.in.
23698 * disk/fs_file.c: Removed.
23699 * disk/fs_uuid.c: Likewise.
23700 * include/grub/search.h: New file.
23701 * util/grub-install.in: Handle sparc64.
23702 Create and use load.cfg.
23703 * util/sparc64/ieee1275/grub-install.in: Removed.
23705 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23707 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
23708 Ignore return status if CF is cleared.
23709 (grub_biosdisk_get_diskinfo_standard): Likewise.
23711 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23713 * term/i386/pc/at_keyboard.c
23714 (keyboard_controller_wait_untill_ready): New function.
23715 (grub_keyboard_controller_write, grub_keyboard_controller_read)
23716 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
23717 for keyboard polling, rather than duplicate the same loop. This
23718 saves a few bytes in code size.
23720 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23722 Support for (pxe[:server[:gateway]]) syntax and
23723 use environment variable for PXE.
23725 * commands/i386/pc/pxecmd.c (options): Removed.
23726 (print_ip): Removed.
23727 (grub_cmd_pxe): Removed
23728 (grub_cmd_pxe_unload): New function.
23729 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
23730 (grub_pxe_your_ip): Made static.
23731 (grub_pxe_default_server_ip): Likewise.
23732 (grub_pxe_default_gateway_ip): Likewise.
23733 (grub_pxe_blksize): Likewise.
23734 (parse_ip): New function.
23735 (grub_pxe_open): Support server and gateway specification.
23736 (grub_pxe_close): Free disk->data.
23737 (grub_pxefs_open): Use disk->data.
23738 (grub_pxefs_read): Likewise.
23739 (grub_env_write_readonly): New function.
23740 (set_mac_env): Likewise.
23741 (set_env_limn_ro): Likewise.
23742 (parse_dhcp_vendor): Likewise.
23743 (grub_pxe_detect): Set the environment variables.
23744 (set_ip_env): New function.
23745 (write_ip_env): Likewise.
23746 (grub_env_write_pxe_default_server): Likewise.
23747 (grub_env_write_pxe_default_gateway): Likewise.
23748 (grub_env_write_pxe_blocksize): Likewise.
23749 (GRUB_MOD_INIT(pxe)): Set environment variables.
23750 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
23751 (grub_pxe_mac_addr_t): ... this. All users updated.
23752 (grub_pxe_your_ip): Removed.
23753 (grub_pxe_server_ip): Likewise.
23754 (grub_pxe_gateway_ip): Likewise.
23755 (grub_pxe_blksize): Likewise.
23757 2009-12-25 Carles Pina i Estany <carles@pina.cat>
23759 * commands/help.c: Include `<grub/i18n.h>'.
23760 (grub_cmd_help): Gettextizze.
23761 (GRUB_MOD_INIT): Likewise.
23762 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
23763 (GRUB_MOD_INIT): Gettextizze.
23764 * commands/search.c: Include `<grub/i18n.h>'.
23765 (options): Gettextizze.
23766 (GRUB_MOD_INIT): Gettextizze.
23767 * lib/arg.c: Include `<grub/i18n.h>'.
23768 (help_options): Gettextizze.
23769 (find_long): Likewise.
23770 (grub_arg_show_help): Likewise.
23771 * normal/dyncmd.c: Include `<grub/i18n.h>'.
23772 (read_command_list): Gettextizze.
23773 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
23774 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
23776 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23778 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
23779 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
23780 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
23781 (led_status): New variable.
23782 (keyboard_controller_led): New function.
23783 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
23784 update led status for caps lock, num lock and scroll lock.
23786 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
23788 * util/hostdisk.c (open_device): Fix a comment.
23790 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23792 * util/grub-install.in (host_os): New variable.
23793 * util/i386/efi/grub-install.in (host_os): Likewise.
23795 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23797 * util/mkisofs/write.c (padblock_write): Abort when given an
23798 excedingly large embed image, instead of silently truncating it.
23800 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23802 * include/multiboot.h: Indentation fixes.
23804 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23806 * include/multiboot.h (struct multiboot_aout_symbol_table)
23807 (struct multiboot_elf_section_header_table): New structure
23808 declarations (stolen from GRUB Legacy).
23809 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
23812 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
23813 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
23816 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23818 * include/multiboot.h: Make comments src2texi-friendly.
23820 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23822 For consistency with [multiboot]/docs/boot.S.
23824 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
23825 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
23826 (MULTIBOOT_MAGIC2): Rename from this ...
23827 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
23829 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23831 * include/multiboot.h: Remove `<grub/types.h>'.
23832 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
23833 types. Update all users.
23835 2009-12-25 Carles Pina i Estany <carles@pina.cat>
23837 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
23838 `couldn't' and `can not' by `cannot'.
23839 * commands/i386/pc/drivemap.c: Likewise.
23840 * disk/ata.c: Likewise.
23841 * disk/ieee1275/nand.c: Likewise.
23842 * fs/affs.c: Likewise.
23843 * fs/fat.c: Likewise.
23844 * fs/hfs.c: Likewise.
23845 * fs/hfsplus.c: Likewise.
23846 * fs/iso9660.c: Likewise.
23847 * fs/jfs.c: Likewise.
23848 * fs/minix.c: Likewise.
23849 * fs/reiserfs.c: Likewise.
23850 * fs/sfs.c: Likewise.
23851 * fs/udf.c: Likewise.
23852 * fs/ufs.c: Likewise.
23853 * fs/xfs.c: Likewise.
23854 * loader/powerpc/ieee1275/linux.c: Likewise.
23855 * loader/sparc64/ieee1275/linux.c: Likewise.
23856 * util/grub-probe.c: Likewise.
23857 * util/misc.c: Likewise.
23859 2009-12-24 Carles Pina i Estany <carles@pina.cat>
23861 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
23863 * commands/acpi.c: Likewise.
23864 * commands/blocklist.c: Likewise.
23865 * commands/efi/loadbios.c: Likewise.
23866 * commands/i386/pc/drivemap.c: Likewise.
23867 * commands/loadenv.c: Likewise.
23868 * commands/memrw.c: Likewise.
23869 * commands/password.c: Likewise.
23870 * commands/videotest.c: Likewise.
23871 * disk/ata.c: Likewise.
23872 * disk/ata_pthru.c: Likewise.
23873 * disk/dmraid_nvidia.c: Likewise.
23874 * disk/ieee1275/nand.c: Likewise.
23875 * disk/ieee1275/ofdisk.c: Likewise.
23876 * disk/loopback.c: Likewise.
23877 * disk/lvm.c: Likewise.
23878 * disk/mdraid_linux.c: Likewise.
23879 * disk/raid.c: Likewise.
23880 * disk/raid6_recover.c: Likewise.
23881 * disk/scsi.c: Likewise.
23882 * efiemu/main.c: Likewise.
23883 * efiemu/mm.c: Likewise.
23884 * efiemu/pnvram.c: Likewise.
23885 * efiemu/symbols.c: Likewise.
23886 * font/font.c: Likewise.
23887 * fs/cpio.c: Likewise.
23888 * fs/hfsplus.c: Likewise.
23889 * fs/iso9660.c: Likewise.
23890 * fs/jfs.c: Likewise.
23891 * fs/minix.c: Likewise.
23892 * fs/ntfs.c: Likewise.
23893 * fs/ntfscomp.c: Likewise.
23894 * fs/reiserfs.c: Likewise.
23895 * fs/ufs.c: Likewise.
23896 * fs/xfs.c: Likewise.
23897 * gettext/gettext.c: Likewise.
23898 * include/grub/auth.h: Likewise.
23899 * kern/elf.c: Likewise.
23900 * kern/file.c: Likewise.
23901 * kern/ieee1275/init.c: Likewise.
23902 * kern/ieee1275/mmap.c: Likewise.
23903 * kern/ieee1275/openfw.c: Likewise.
23904 * kern/powerpc/dl.c: Likewise.
23905 * kern/sparc64/dl.c: Likewise.
23906 * lib/arg.c: Likewise.
23907 * loader/i386/bsd.c: Likewise.
23908 * loader/i386/bsdXX.c: Likewise.
23909 * loader/i386/efi/linux.c: Likewise.
23910 * loader/i386/efi/xnu.c: Likewise.
23911 * loader/i386/ieee1275/linux.c: Likewise.
23912 * loader/i386/linux.c: Likewise.
23913 * loader/i386/multiboot.c: Likewise.
23914 * loader/i386/pc/linux.c: Likewise.
23915 * loader/i386/pc/multiboot2.c: Likewise.
23916 * loader/i386/xnu.c: Likewise.
23917 * loader/ieee1275/multiboot2.c: Likewise.
23918 * loader/macho.c: Likewise.
23919 * loader/machoXX.c: Likewise.
23920 * loader/multiboot2.c: Likewise.
23921 * loader/multiboot_loader.c: Likewise.
23922 * loader/powerpc/ieee1275/linux.c: Likewise.
23923 * loader/sparc64/ieee1275/linux.c: Likewise.
23924 * loader/xnu.c: Likewise.
23925 * loader/xnu_resume.c: Likewise.
23926 * mmap/i386/pc/mmap.c: Likewise.
23927 * normal/menu_viewer.c: Likewise.
23928 * partmap/acorn.c: Likewise.
23929 * partmap/amiga.c: Likewise.
23930 * partmap/apple.c: Likewise.
23931 * script/lexer.c: Likewise.
23932 * term/gfxterm.c: Likewise.
23933 * term/i386/pc/serial.c: Likewise.
23934 * term/i386/pc/vga.c: Likewise.
23935 * term/ieee1275/ofconsole.c: Likewise.
23936 * term/terminfo.c: Likewise.
23937 * video/bitmap.c: Likewise.
23938 * video/efi_gop.c: Likewise.
23939 * video/efi_uga.c: Likewise.
23940 * video/fb/video_fb.c: Likewise.
23941 * video/i386/pc/vbe.c: Likewise.
23942 * video/readers/tga.c: Likewise.
23943 * video/video.c: Likewise.
23945 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
23947 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
23948 * commands/lspci.c: Likewise.
23949 * commands/probe.c: Likewise.
23950 * commands/xnu_uuid.c: Likewise.
23951 * conf/i386-coreboot.rmk: Likewise.
23952 * conf/i386-efi.rmk: Likewise.
23953 * conf/i386-ieee1275.rmk: Likewise.
23954 * conf/i386-pc.rmk: Likewise.
23955 * conf/powerpc-ieee1275.rmk: Likewise.
23956 * conf/sparc64-ieee1275.rmk: Likewise.
23957 * conf/x86_64-efi.rmk: Likewise.
23958 * fs/i386/pc/pxe.c: Likewise.
23959 * gettext/gettext.c: Likewise.
23960 * include/grub/efi/graphics_output.h: Likewise.
23961 * include/grub/i386/pc/memory.h: Likewise.
23962 * kern/env.c: Likewise.
23963 * kern/i386/qemu/startup.S: Likewise.
23964 * lib/i386/pc/biosnum.c: Likewise.
23965 * lib/i386/relocator.c: Likewise.
23966 * lib/i386/relocator_asm.S: Likewise.
23967 * lib/relocator.c: Likewise.
23968 * loader/i386/bsd.c: Likewise.
23969 * loader/i386/multiboot.c: Likewise.
23970 * loader/i386/pc/chainloader.c: Likewise.
23971 * loader/i386/xnu.c: Likewise.
23972 * loader/xnu.c: Likewise.
23973 * normal/main.c: Likewise.
23974 * normal/menu_text.c: Likewise.
23975 * util/getroot.c: Likewise.
23976 * util/grub-mkconfig_lib.in: Likewise.
23977 * util/grub.d/00_header.in: Likewise.
23978 * util/i386/pc/grub-mkimage.c: Likewise.
23979 * util/mkisofs/eltorito.c: Likewise.
23980 * util/mkisofs/exclude.h: Likewise.
23981 * util/mkisofs/hash.c: Likewise.
23982 * util/mkisofs/iso9660.h: Likewise.
23983 * util/mkisofs/joliet.c: Likewise.
23984 * util/mkisofs/mkisofs.c: Likewise.
23985 * util/mkisofs/mkisofs.h: Likewise.
23986 * util/mkisofs/multi.c: Likewise.
23987 * util/mkisofs/name.c: Likewise.
23988 * util/mkisofs/rock.c: Likewise.
23989 * util/mkisofs/tree.c: Likewise.
23990 * util/mkisofs/write.c: Likewise.
23991 * video/efi_gop.c: Likewise.
23993 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
23995 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
23998 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24000 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24001 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24003 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24005 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24006 (GRUB_MOD_INIT(memrw)): Update help line.
24008 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24010 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24011 Use grub_extcmd_t. All users updated.
24012 (options): New variable.
24013 (grub_cmd_read): Restructure for readability. Support "-v" option.
24014 (grub_cmd_write): Restructure for readability.
24016 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24018 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24020 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24022 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24023 with the actual contents of the correspondending make variable.
24024 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24025 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24026 specifying `*.lst' and `efiemu??.o'
24028 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24030 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24031 after function name.
24032 Noticed by Rene Engelhard <rene@debian.org>.
24034 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24036 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24037 (options): New variable.
24038 (iospace): Likewise.
24039 (grub_lspci_iter): List IO spaces if "-i" was given.
24040 (grub_cmd_lspci): Parse options.
24041 (GRUB_MOD_INIT(lspci)): Use extcmd.
24042 (GRUB_MOD_FINI(lspci)): Likewise.
24044 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24046 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24047 `function' keyword.
24048 Patch by Tony Mancill <tmancill@debian.org>.
24050 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24052 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24053 (grub_uhci_portstatus): Likewise.
24054 (grub_uhci_portstatus): Add necessary delay.
24055 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
24057 2009-12-21 Carles Pina i Estany <carles@pina.cat>
24059 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24060 (GRUB_MOD_INIT): Likewise.
24061 * commands/boot.c (GRUB_MOD_INIT): Likewise.
24062 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24063 * commands/echo.c (options): Fix capitalizations and/or full stops.
24064 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24065 (enable_rom_area): Likewise.
24066 (GRUB_MOD_INIT): Likewise.
24067 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24068 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24069 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24070 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24071 * commands/hexdump.c (options): Likewise.
24072 * commands/i386/cpuid.c (options): Likewise.
24073 (GRUB_MOD_INIT): Likewise.
24074 * commands/i386/pc/drivemap.c (options): Likewise.
24075 (GRUB_MOD_INIT): Likewise.
24076 * commands/i386/pc/halt (options): Likewise.
24077 (GRUB_MOD_INIT): Likewise.
24078 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24079 * commands/i386/pc/pxecmd.c (options): Likewise.
24080 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24081 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24082 * commands/keystatus.c (options): Likewise.
24083 (GRUB_MOD_INIT): Likewise.
24084 * commands/loadenv.c (options): Likewise.
24085 * commands/ls.c (options): Likewise.
24086 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24087 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24088 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24089 * commands/parttool.c (helpmsg): Likewise.
24090 * commands/probe.c (options): Likewise.
24091 * commands/read.c (GRUB_MOD_INIT): Likewise.
24092 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24093 * commands/search.c (options): Likewise.
24094 * commands/sleep.c (options): Likewise.
24095 * commands/test.c (GRUB_MOD_INIT): Likewise.
24096 * commands/true.c (GRUB_MOD_INIT): Likewise.
24097 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24098 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24099 * lib/arg.c (help_options): Likewise.
24100 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24102 * po/POTFILES: Add `commands/loadenv.c'.
24104 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
24106 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
24107 instead of specifying them explicit.
24109 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24111 * NEWS: Add grub-probe support for GNU/Hurd.
24113 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24115 * NEWS: gettext was added after 1.97.
24117 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24119 * util/mkisofs/msdos_partition.h: New file (based on
24120 include/grub/msdos_partition.h).
24121 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24122 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24123 (ld_options, main): Recognize --protective-msdos-label.
24124 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24125 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24126 (padblock_write): If `use_protective_msdos_label' is set, patch a
24127 protective DOS-style label in the output image.
24129 * util/grub-mkrescue.in: Use --protective-msdos-label.
24131 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24133 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24136 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24138 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24140 (ld_options, main): Recognize `--embedded-boot'.
24141 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24143 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24144 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24145 (padblock_write): Likewise. Rewrite to support embedded boot image.
24147 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24148 for BIOS-based disk boot instead of only ElTorito.
24150 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24152 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24153 build (not needed for bootstrap).
24155 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24157 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24158 from i386-pc build (not needed for bootstrap).
24159 Rewrite a pair of strings.
24161 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24163 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24165 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
24167 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24169 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24171 * kern/env.c (grub_env_context_open): Mark exported variable for
24174 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24176 * kern/env.c (grub_env_export): Create nonexistent variables before
24179 2009-12-20 Carles Pina i Estany <carles@pina.cat>
24181 * include/grub/auth.h: Include `<grub/i18n.h>'.
24182 (GRUB_GET_PASSWORD): Gettextizze string.
24183 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24185 (grub_utf8_to_ucs4_alloc): Fix indentation.
24186 (grub_print_ucs4): Likewise.
24187 (grub_getstringwidth): Likewise.
24188 (print_message_indented): New declaration.
24189 * normal/auth.c: Include `<grub/i18n.h>'.
24190 (grub_auth_check_authentication): Gettexttize string.
24191 * normal/cmdline.c: Include `<grub/i18n.h>'.
24192 (grub_cmdline_get): Gettextizze.
24193 * normal/color.c: Include `<grub/i18n.h>'.
24194 (grub_parse_color_name_pair): Gettexttize strings.
24195 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24196 string (use `print_message_indented').
24197 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24198 `include/grub/normal.h'.
24199 (print_message_indented): Renamed to ...
24200 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24201 used in normal/main.c).
24202 (print_message): Use `grub_print_message_indented' instead of
24203 `print_message_indented'.
24204 (print_timeout): Likewise.
24205 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24206 (grub_normal_print_device_info): Gettexttize strings.
24207 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24209 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24211 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24212 of arguments. Return number of tokens and not arguments. All users
24215 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24217 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24218 non-MSDOS paritions.
24220 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24222 * include/grub/types.h (UNUSED): Removed since it conflicts with
24223 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24224 Reported by Grégoire Sutre.
24226 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24228 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24229 (grub_print_ucs4_alloc): Likewise.
24230 (grub_getstringwidth): Likewise.
24231 * normal/main.c (grub_normal_init_page): Gettextize version string.
24232 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24233 (getstringwidth): Renamed to ...
24234 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24235 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24236 (grub_print_ucs4): Remove `static' qualifer (now used in
24238 * po/POTFILES: Add normal/main.c.
24240 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24242 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24243 (print_message_indented): Add `margin_left' and `margin_right'
24245 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24247 (print_timeout): Use `print_message_indented' to print the message.
24248 Deletes `second_stage' parameter.
24249 (run_menu): Update `print_timeout' calls.
24251 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24253 Fix console palette on OpenFirmware.
24255 * term/ieee1275/ofconsole.c (MAX): Removed.
24256 (colors): Redone based on VGA palette.
24257 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24258 colors are supported.
24259 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24261 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24263 Fix potential EfiEmu double prepare.
24265 * efiemu/main.c (prepared): New variable
24266 (grub_efiemu_unload): Set prepare to '0'.
24267 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24269 set_virtual_address_map support.
24271 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24273 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24275 (grub_efiemu_crc32): Likewise.
24276 (grub_efiemu_crc64): Likewise.
24277 (grub_efiemu_set_virtual_address_map): Likewise.
24278 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24280 (grub_autoefi_set_virtual_address_map): Likewise.
24281 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24282 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24283 Restructure flow to accomodate it.
24284 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24285 (grub_efiemu_crc): Recompute CRC32.
24286 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24287 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24288 * efiemu/symbols.c (relocated_handle): New variable.
24289 (grub_efiemu_free_syms): Free relocated_handle.
24290 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24291 (grub_efiemu_write_sym_markers): New function.
24292 (grub_efiemu_set_virtual_address_map): Likewise.
24294 Newer XNU parameters.
24296 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24297 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24298 (grub_xnu_fill_devicetree): New prototype.
24299 (grub_xnu_heap_real_start): New variable.
24300 * loader/xnu.c (get_name_ptr): New function.
24301 (grub_xnu_load_driver): Fill namelen and name.
24303 64-bit xnu support.
24305 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24306 and 'loader/macho64.c'.
24307 * conf/i386-pc.rmk: Likewise.
24308 * conf/x86_64-efi.rmk: Likewise.
24309 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24310 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24311 * include/grub/macho.h (grub_macho_segment64): New structure.
24312 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24313 (grub_macho_size32): ... to this.
24314 (grub_macho32_get_entry_point): Renamed from ...
24315 (grub_macho_get_entry_point32): ... to this.
24316 (grub_macho_contains_macho64): New prototype.
24317 (grub_macho_size64): Likewise.
24318 (grub_macho_get_entry_point64): Likewise.
24319 (grub_macho32_load): Renamed from ...
24320 (grub_macho_load32): ... to this.
24321 (grub_macho32_filesize): Renamed from ...
24322 (grub_macho_filesize32): ... to this.
24323 (grub_macho32_readfile): Renamed from ...
24324 (grub_macho_readfile32): ... to this.
24325 (grub_macho_filesize64): New prototype.
24326 (grub_macho_readfile64): Likewise.
24327 (grub_macho_parse32): Likewise.
24328 (grub_macho_parse64): Likewise.
24329 * loader/macho.c: Split into ...
24330 * loader/machoXX.c: ... and this. Replace 32 with XX.
24331 * loader/macho32.c: New file.
24332 * loader/macho64.c: Likewise.
24333 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24334 (grub_cmd_xnu_kernel): Make 32-bit only.
24335 (grub_cmd_xnu_kernel64): New function.
24336 (grub_xnu_load_driver): Support Mach-O 64.
24337 (grub_cmd_xnu_mkext): Likewise.
24338 * util/grub.d/30_os-prober.in (osx_entry): New function.
24339 Generate entries for 64-bit boot too.
24341 Eliminate ad-hoc tree format in XNU and EfiEmu.
24343 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24344 * efiemu/pnvram.c: Rewritten to use environment variables.
24347 Inline utf16_to_utf8.
24349 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24350 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24352 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24354 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24355 * commands/usbtest.c (grub_usb_get_string): ... move here.
24356 (usb_print_str): Fix error handling.
24357 * include/grub/usb.h (grub_usb_get_string): Remove.
24359 UTF-8 to UTF-16 transformation.
24361 * conf/common.rmk (pkglib_MODULES): Add charset.mod
24362 (charset_mod_SOURCES): New variable.
24363 (charset_mod_CFLAGS): Likewise.
24364 (charset_mod_LDFLAGS): Likewise.
24365 * include/grub/utf.h: New file.
24366 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
24368 Support for device properties.
24370 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
24371 (grub_xnu_devprop_device_header): Likewise.
24372 (grub_xnu_devprop_device_descriptor): Likewise.
24373 (grub_xnu_devprop_add_device): New prototype.
24374 (grub_xnu_devprop_remove_device): Likewise.
24375 (grub_xnu_devprop_remove_property): Likewise.
24376 (grub_xnu_devprop_add_property_utf8): Likewise.
24377 (grub_xnu_devprop_add_property_utf16): Likewise.
24378 (grub_cpu_xnu_init): Likewise.
24379 (grub_cpu_xnu_fini): Likewise.
24380 (grub_cpu_xnu_unload): Likewise.
24381 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
24382 (property_descriptor): Likewise.
24383 (devices): New variable.
24384 (grub_xnu_devprop_remove_property): New function.
24385 (grub_xnu_devprop_add_device): Likewise.
24386 (grub_xnu_devprop_remove_device): Likewise.
24387 (grub_xnu_devprop_add_property): Likewise.
24388 (grub_xnu_devprop_add_property_utf8): Likewise.
24389 (grub_xnu_devprop_add_property_utf16): Likewise.
24390 (hextoval): Likewise.
24391 (grub_cpu_xnu_fill_devprop): Likewise.
24392 (grub_cmd_devprop_load): Likewise.
24393 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
24394 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
24395 (cmd_devprop_load): New variable.
24396 (grub_cpu_xnu_init): New function.
24397 (grub_cpu_xnu_fini): Likewise.
24398 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
24399 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
24400 (grub_cmd_xnu_devtree): Likewise.
24401 (hextoval): New function.
24402 (unescape): Likewise.
24403 (grub_xnu_fill_devicetree): Likewise.
24405 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
24406 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
24408 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24410 Workaround for broken ATI VBE.
24412 * video/i386/pc/vbe.c (last_set_mode): New variable.
24413 (grub_vbe_set_video_mode): Set 'last_set_mode'.
24414 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
24415 (grub_video_vbe_setup): Don't check for reserved flag.
24417 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
24419 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
24420 the `find' command.
24422 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
24424 UUID support for HFS.
24426 * fs/hfs.c (grub_hfs_uuid): New function.
24427 (grub_hfs_fs): New value .uuid.
24428 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
24430 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
24432 Fix a segfault with parsing unknown long options.
24434 * util/grub-mkrelpath.c (options): Zero terminate it.
24436 2009-12-13 Carles Pina i Estany <carles@pina.cat>
24438 * include/grub/misc.h (grub_puts): New declaration.
24439 (grub_puts_): Likewise.
24440 * kern/misc.c (grub_puts): New definition.
24441 (grub_puts_): Likewise.
24443 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24445 * util/grub-probe.c (probe): Improve error message.
24447 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24449 * loader/i386/multiboot_elfxx.c
24450 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
24453 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24455 Relocator framework
24457 * loader/i386/xnu_helper.S: Removed. All users updated.
24458 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
24459 (relocator_mod_SOURCES): New variable.
24460 (relocator_mod_CFLAGS): Likewise.
24461 (relocator_mod_LDFLAGS): Likewise.
24462 (relocator_mod_ASFLAGS): Likewise.
24463 * conf/x86_64.rmk: Likewise.
24464 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
24465 (grub_multiboot_payload_entry_offset): Likewise.
24466 (grub_multiboot_forward_relocator): Likewise.
24467 (grub_multiboot_forward_relocator_end): Likewise.
24468 (grub_multiboot_backward_relocator): Likewise.
24469 (grub_multiboot_backward_relocator_end): Likewise.
24470 (grub_multiboot_payload_eip): New variable.
24471 (grub_multiboot_payload_orig): Likewise.
24472 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
24473 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
24474 * include/grub/i386/memory.h
24475 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
24476 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
24477 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
24478 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
24479 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
24480 * include/grub/i386/relocator.h: New file.
24481 * include/grub/x86_64/relocator.h: Likewise.
24482 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
24483 (XNU_RELOCATOR): New macro.
24484 (grub_xnu_launcher_start): Remove.
24485 (grub_xnu_launcher_end): Likewise.
24486 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
24487 (grub_xnu_heap_real_start): Remove.
24488 (grub_xnu_heap_start): Change to void *. All users updated.
24489 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
24490 * lib/i386/relocator.c: New file.
24491 * lib/i386/relocator_asm.S: Likewise.
24492 * lib/i386/relocator_backward.S: Likewise.
24493 * lib/mips/relocator.c: Likewise.
24494 * lib/mips/relocator_asm.S: Likewise.
24495 * lib/relocator.c: Likewise.
24496 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
24498 (playground): Likewise.
24499 (grub_multiboot_payload_orig): New variable.
24500 (grub_multiboot_payload_dest): Likewise.
24501 (grub_multiboot_payload_size): Likewise.
24502 (grub_multiboot_payload_eip): Likewise.
24503 (grub_multiboot_payload_esp): Likewise.
24504 (grub_multiboot_boot): Use grub_relocator32_boot.
24505 (grub_multiboot_unload): Free relocators.
24506 (grub_multiboot): Setup stack. Use relocators.
24507 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
24508 (grub_multiboot_load_elfXX): Use relocators.
24509 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
24510 (grub_multiboot_payload_size): Likewise.
24511 (grub_multiboot_payload_dest): Likewise.
24512 (grub_multiboot_payload_entry_offset): Likewise.
24513 (grub_multiboot_forward_relocator): Likewise.
24514 (grub_multiboot_backward_relocator): Likewise.
24515 (grub_multiboot_real_boot): Likewise.
24516 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
24517 (grub_xnu_entry_point): Likewise.
24518 (grub_xnu_arg1): Likewise.
24519 (grub_xnu_stack): Likewise.
24520 (grub_xnu_launch): Removed.
24521 (grub_xnu_boot_resume): New function.
24522 (grub_xnu_boot): Use relocators.
24523 * loader/i386/xnu_helper.S: Removed.
24524 * loader/xnu.c (grub_xnu_heap_start): New variable.
24525 (grub_xnu_heap_size): Likewise.
24526 (grub_xnu_heap_malloc): Use relocators.
24527 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
24529 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24531 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
24534 2009-12-13 Carles Pina i Estany <carles@pina.cat>
24536 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
24537 GRUB_ERR_NONE before calling grub_env_set.
24539 2009-12-12 Robert Millan <rmh@aybabtu.com>
24541 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
24542 * genmk.rb (video): New variable.
24543 (CLEANFILES, VIDEOFILES): Add #{video}.
24544 (#{video}): New target rule.
24545 * genvideolist.sh: New file.
24546 * Makefile.in (pkglib_DATA): Add video.lst.
24547 (video.lst): New target rule.
24548 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
24550 * util/grub.d/30_os-prober.in: Replace `vbe' with
24551 ${GRUB_VIDEO_BACKEND}.
24553 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
24555 * THANKS: Add David Miller.
24557 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
24559 libpciaccess support.
24561 * Makefile.in (LIBPCIACCESS): New variable.
24562 (enable_grub_emu_pci): Likewise.
24563 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
24564 util/pci.c and commands/lspci.c.
24565 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
24566 * configure.ac (grub-emu-pci): New option.
24567 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
24568 (grub_pci_device_unmap_range): Likewise.
24569 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
24570 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
24571 (grub_pci_address_t) [!GRUB_UTIL]: New type.
24572 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
24573 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
24574 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
24575 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
24576 * include/grub/pciutils.h: New file.
24577 * util/pci.c: Likewise.
24579 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
24581 * util/misc.c: Don't include <errno.h> twice.
24583 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
24585 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
24586 name in an error message.
24587 (grub_biosdisk_rw): Likewise.
24589 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24591 Eliminate NTFS 4Gib barrier.
24593 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
24594 (read_run_data): Likewise.
24595 (grub_ntfs_read_run_list): Likewise.
24596 (grub_ntfs_read_block): Likewise.
24597 (grub_ntfs_iterate_dir): Likewise.
24598 (read_mft): Likewise.
24599 (read_data): Likewise.
24601 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
24602 to avoid 64-bit division
24603 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
24604 (grub_ntfs_rlst): Use grub_disk_addr_t.
24606 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24608 Eliminate grub-fstest 4Gib barrier.
24610 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
24611 (read_file): Fix error reporting.
24613 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24615 Eliminate hexdump 4Gib barrier.
24617 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
24618 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
24620 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24622 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
24625 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
24627 Remove miscellaneous files in distclean target.
24629 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
24631 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
24633 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
24634 if they're already set. This resolves the conflict between my
24635 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
24636 fixing the --grub-probe option again.
24637 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
24638 change on 2009-10-06, so that we now once again source
24639 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24641 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
24643 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
24644 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
24645 `util/devicemap.c'.
24647 2009-12-08 Carles Pina i Estany <carles@pina.cat>
24649 * include/grub/misc.h (grub_printf_): New declaration.
24650 * kern/misc.c (grub_printf_): New definition.
24651 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
24652 instead of `grub_printf' and `_'.
24653 * normal/menu_entry.c (store_completion): Likewise.
24655 (grub_menu_entry_run): Likewise.
24656 * normal/menu_text.c (grub_wait_after_message): Likewise.
24657 (notify_booting): Likewise.
24658 (notify_fallback): Likewise.
24659 (notify_execution_failure): Likewise.
24661 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
24663 * configure.ac: Check for vasprintf.
24664 * util/misc.c (asprintf): Move allocation from here ...
24665 (vasprintf): ... to here. New function.
24666 (xasprintf): New function.
24667 * include/grub/util/misc.h (vasprintf, xasprintf): Add
24669 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24670 * util/grub-mkfont.c (write_font): Likewise.
24671 * util/grub-probe.c (probe): Likewise.
24672 * util/hostdisk.c (make_device_name): Likewise.
24674 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
24676 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
24677 anything even prefixed with 'cdrom' as a cdrom.
24679 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
24681 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
24684 2009-12-05 Carles Pina i Estany <carles@pina.cat>
24686 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
24687 grub_gettext_msg_list.
24688 (grub_gettext_gettranslation_from_position): Return const char *
24690 (grub_gettext_translate): Add the translated strings into a list,
24691 returns from the list if existing there.
24692 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
24693 (grub_gettext_delete_list): Delete the list.
24694 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
24695 lang environment variable is changed.
24696 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
24698 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24700 Rename kernel.mod to kernel.img.
24702 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
24703 (kernel_mod_EXPORTS): Rename to ...
24704 (kernel_img_EXPORTS): ... this.
24705 (kernel_mod_SOURCES): Rename to ...
24706 (kernel_img_SOURCES): ... this.
24707 (kernel_mod_HEADERS): Rename to ...
24708 (kernel_img_HEADERS): ... this. All users updated.
24709 (kernel_mod_CFLAGS): Rename to ...
24710 (kernel_img_CFLAGS): ... this.
24711 (kernel_mod_ASFLAGS): Rename to ...
24712 (kernel_img_ASFLAGS): ... this.
24713 (kernel_mod_LDFLAGS): Rename to ...
24714 (kernel_img_LDFLAGS): ... this.
24715 * conf/x86_64-efi.rmk: Likewise.
24716 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
24717 (read_kernel_image): ... this. All users updated.
24718 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
24720 2009-12-05 Carles Pina i Estany <carles@pina.cat>
24722 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
24723 (print_spaces): New function.
24724 (grub_print_ucs4): New function.
24725 (getstringwidth): New function.
24726 (print_message_indented): New function.
24727 (print_message): Gettexttize strings using print_message_indented.
24728 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
24730 (get_entry_number): Gettextize and uses dynamic terminal width.
24731 (notify_booting, notify_fallback, notify_execution_failure):
24733 * normal/menu_entry.c (store_completion): Cleanup the gettextized
24736 (grub_menu_entry_run): Likewise.
24737 * PO/POTFILES: Add normal/menu_entry.c.
24739 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24741 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
24743 2009-12-05 Carles Pina i Estany <carles@pina.cat>
24745 * util/grub-install.in: Install gettext .mo files.
24746 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
24748 2009-12-05 Carles Pina i Estany <carles@pina.cat>
24750 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
24753 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
24755 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
24756 non-firmware-dependant one in realmode.S takes precedence.
24758 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
24760 * commands/halt.c: Replace misc arch-specific headers with
24762 * commands/reboot.c: Likewise.
24763 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
24765 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
24766 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
24767 (kernel_img_SOURCES): ... to here.
24769 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
24770 * include/grub/i386/pc/init.h: Likewise.
24771 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24772 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24774 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
24776 * include/grub/i386/halt.h: Remove.
24777 * include/grub/i386/reboot.h: Likewise.
24779 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
24781 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
24783 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
24784 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
24785 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
24787 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24788 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24789 (usage): Add missing comma in printf.
24791 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
24793 Use the same reboot approach on i386 coreboot and qemu as we do on
24796 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
24797 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
24798 * kern/i386/reboot.c: Remove.
24799 * include/grub/i386/reboot.h (grub_reboot): Export function.
24800 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
24801 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
24802 0xf000:0xfff0 instead of 0xffff:0x0000.
24803 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
24804 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
24806 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
24808 Fix $srcdir != $objdir build.
24810 * Makefile.in (po/%.po): Rewrite as ...
24811 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
24813 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
24815 Fix GNU/Hurd grub-install crash.
24816 * util/grub-probe.c (probe): Try to access `path' only when it is not
24819 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24821 Correct module naming.
24823 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24824 (GRUB_MOD_INIT(efi_uga)): ... to this
24825 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24826 (GRUB_MOD_FINI(efi_uga)): ... to this
24827 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24828 (GRUB_MOD_INIT(efi_gop)): ... to this
24829 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24830 (GRUB_MOD_FINI(efi_gop)): ... to this
24832 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
24834 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
24836 (usage): Translate `arg' strings using gettext().
24837 Thanks to Jordi Mallach for the suggestion.
24839 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24841 GOP support. Based on patch from Bean
24842 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24844 * video/efi_gop.c: New file.
24845 * include/grub/efi/graphics_output.h: Likewise.
24846 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
24847 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24849 * conf/x86_64-efi.rmk: Likewise.
24851 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24853 Rename efi_fb to efi_uga.
24855 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24857 (efi_fb_mod_SOURCES): Rename this ...
24858 (efi_uga_mod_SOURCES): ... to this.
24859 (efi_fb_mod_CFLAGS): Rename this ...
24860 (efi_uga_mod_CFLAGS): ... to this.
24861 (efi_fb_mod_LDFLAGS): Rename this ...
24862 (efi_uga_mod_LDFLAGS): ... to this.
24863 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24865 (efi_fb_mod_SOURCES): Rename this ...
24866 (efi_uga_mod_SOURCES): ... to this.
24867 (efi_fb_mod_CFLAGS): Rename this ...
24868 (efi_uga_mod_CFLAGS): ... to this.
24869 (efi_fb_mod_LDFLAGS): Rename this ...
24870 (efi_uga_mod_LDFLAGS): ... to this.
24871 * video/efi_fb.c: Move this ...
24872 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
24874 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24876 * po/README: New file. Explain our PO file workflow.
24878 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24880 * po/ChangeLog: Remove. Move relevant entries back to ...
24881 * ChangeLog: ... here.
24882 * po/ca.po: Remove (now handled by TLP).
24883 * po/id.po: Likewise.
24884 * po/zh_CN.po: Likewise.
24885 * Makefile.in (LINGUAS): Initialize in a way that supports
24888 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24890 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
24891 reliing on po/LINGUAS.
24892 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
24893 (po/%.po): ... this.
24895 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
24897 * util/i386/efi/grub-mkimage.c: Include "progname.h".
24898 (main): Use `program_name' instead of nonexistent `progname'.
24900 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
24902 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24903 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
24905 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24907 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
24909 * conf/i386-efi.rmk: Likewise.
24910 * conf/i386-ieee1275.rmk: Likewise.
24911 * conf/powerpc-ieee1275.rmk: Likewise.
24912 * conf/sparc64-ieee1275.rmk: Likewise.
24913 * conf/x86_64-efi.rmk: Likewise.
24915 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
24917 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
24919 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
24921 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
24923 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24925 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
24926 (grub_mkdevicemap_SOURCES): New variable.
24927 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
24928 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
24929 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
24930 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
24931 (grub_mkdevicemap_SOURCES): Remove.
24932 * conf/i386-efi.rmk: Likewise.
24933 * conf/i386-ieee1275.rmk: Likewise.
24934 * conf/i386-pc.rmk: Likewise.
24935 * conf/powerpc-ieee1275.rmk: Likewise.
24936 * conf/sparc64-ieee1275.rmk: Likewise.
24937 * conf/x86_64-efi.rmk: Likewise.
24938 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
24939 (usage): Fix strings to use `program_name'.
24940 (main): Initialize gettext.
24941 * util/grub-editenv.c: Likewise.
24942 * util/grub-emu.c: Likewise.
24943 * util/grub-fstest.c: Likewise.
24944 * util/grub-mkdevicemap.c: Likewise.
24945 * util/grub-mkfont.c: Likewise.
24946 * util/grub-mkrelpath.c: Likewise.
24947 * util/grub-pe2elf.c: Likewise.
24948 * util/grub-probe.c: Likewise.
24949 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24950 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24951 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24953 * util/misc.c: Include `"progname.h"'.
24954 (progname): Remove variable.
24955 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
24957 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
24959 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
24960 printf and print a newline after the menuentry header line.
24961 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24963 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
24965 autoconf >= 2.60 support $(localedir).
24967 * INSTALL: Note that autoconf 2.60 is required.
24968 * configure.ac (AC_PREREQ): Bump to 2.60.
24969 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
24970 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24972 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
24974 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
24977 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24979 * normal/main.c (grub_normal_read_line): Fix off-by-one
24982 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24984 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
24985 "parser.grub" in grub_command_execute() call.
24987 2009-11-24 Carles Pina i Estany <carles@pina.cat>
24989 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
24990 * conf/i386-efi.rmk: Likewise.
24991 * conf/i386-ieee1275.rmk: Likewise.
24992 * conf/i386-pc.rmk: Likewise.
24993 * conf/powerpc-ieee1275.rmk: Likewise.
24994 * conf/sparc64-ieee1275.rmk: Likewise.
24995 * conf/x86_64-efi.rmk: Likewise.
24996 * gettext/gettex.c: Include <grub/i18n.h>.
24997 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
24999 * include/grub/i18n.h: ... to here
25000 * include/grub/i18n.h: ... to here.
25001 * kern/misc.c: Include <grub/i18n.h>
25002 (grub_gettext_dummy): Move above user.
25004 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25006 * util/Makefile.in (install-local): Convert a `for' into a normal
25009 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25011 * autogen.sh: Add automake call.
25012 * config.guess: Remove.
25013 * config.sub: Likewise.
25014 * install-sh: Likewise.
25016 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25018 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25020 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25022 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25023 function to a normal shell `for'.
25025 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25027 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25029 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25031 * util/grub-mkrelpath.c: New file.
25032 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25033 (grub_mkrelpath_SOURCES): New variable.
25034 * include/grub/util/misc.h: New function prototype.
25035 * util/misc.c (make_system_path_relative_to_its_root): New function.
25037 * util/grub-mkconfig_lib.in (bindir): New variable.
25038 (grub_mkrelpath): Likewise.
25039 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25041 * util/probe.c (probe): Make the file path relative to its root.
25042 Change a info message to use the GRUB path. Enable again the
25043 check if we can read the file with GRUB facilities.
25045 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25048 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25050 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25053 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25055 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25058 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25060 * util/getroot.c (grub_util_is_dmraid): New function.
25061 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25062 devices as normal ones, not as LVM.
25064 2009-11-23 Carles Pina i Estany <carles@pina.cat>
25066 * conf/common.rmk: Add grub-gettext_lib target and updates
25067 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25069 * gettext/gettext.c: New file. (Reads mo files).
25070 * include/grub/file.h (grub_file_pread): New prototype.
25071 * include/grub/i18n.h (_): New prototype.
25072 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25074 * kern/misc.c (grub_gettext_dummy): New function.
25075 * normal/menu_text.c: Include <grub/i18n.h>.
25076 * normal/menu_text.c (print_timeout): Gettexttize string.
25077 * normal/menu_text.c (print_message): Gettexttize string.
25078 * po/POTFILES: Add `normal/menu_text.c'.
25079 * po/ca.po: Add new translations.
25080 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25081 gettext module and defines locale_dir and lang in grub.cfg.
25082 * NEWS: Add gettext support.
25084 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25086 * util/hostdisk.c: Include `<grub/i18n.h>'.
25087 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25088 (make_device_name): Rewrite using asprintf.
25089 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25090 (find_system_device): If a device is not found, generate one just
25091 by reusing the OS path name.
25092 (read_device_map): Make it permissible for device.map not to exist.
25094 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25096 * script/sh/execute.c: Move from here ...
25097 * script/execute.c: ... to here. Update all users.
25098 * script/sh/function.c: Move from here ...
25099 * script/function.c: ... to here. Update all users.
25100 * script/sh/lexer.c: Move from here ...
25101 * script/lexer.c: ... to here. Update all users.
25102 * script/sh/main.c: Move from here ...
25103 * script/main.c: ... to here. Update all users.
25104 * script/sh/parser.y: Move from here ...
25105 * script/parser.y: ... to here. Update all users.
25106 * script/sh/script.c: Move from here ...
25107 * script/script.c: ... to here. Update all users.
25109 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25111 * configure.ac: Detect all `emu' platforms. Define
25112 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25113 --enable-grub-emu logic. Disable include/grub/machine
25114 symlink on `emu' platforms.
25116 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25117 * gensymlist.sh.in: Likewise.
25119 * include/grub/i386/coreboot/machine.h: Remove file.
25120 * include/grub/i386/efi/machine.h: Likewise.
25121 * include/grub/i386/ieee1275/machine.h: Likewise.
25122 * include/grub/i386/pc/machine.h: Likewise.
25123 * include/grub/i386/qemu/machine.h: Likewise.
25124 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25125 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25126 * include/grub/x86_64/efi/machine.h: Likewise.
25128 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25129 * commands/halt.c: Likewise.
25130 * commands/reboot.c: Likewise.
25131 * include/grub/autoefi.h: Likewise.
25132 * include/grub/i386/at_keyboard.h: Likewise.
25133 * include/grub/i386/kernel.h: Likewise.
25134 * include/grub/i386/loader.h: Likewise.
25135 * include/grub/i386/pc/memory.h: Likewise.
25136 * kern/dl.c: Likewise.
25137 * kern/i386/coreboot/init.c: Likewise.
25138 * loader/i386/bsd.c: Likewise.
25139 * loader/i386/linux.c: Likewise.
25140 * loader/multiboot_loader.c: Likewise.
25141 * term/i386/pc/serial.c: Likewise.
25142 * term/usb_keyboard.c: Likewise.
25144 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25145 `<grub/machine/machine.h>'
25146 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25147 * util/misc.c: Remove `<grub/machine/machine.h>' and
25148 `<grub/machine/time.h>'.
25150 * Makefile.in (enable_grub_emu): Remove variable.
25151 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25153 * conf/any-emu.rmk: New file.
25154 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25155 (grub_emu_init.c): Move from here ...
25156 * conf/any-emu.rmk: ... to here.
25158 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25159 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25160 * conf/any-emu.rmk: ... to here.
25162 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25164 * include/grub/parser.h (grub_parser_register): Document need
25165 of `name' parameter.
25166 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25167 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25170 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25172 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25174 * include/grub/i18n.h (N_): New macro.
25175 * util/mkisofs/mkisofs.h: Likewise.
25176 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25178 (usage): Use gettext() to translate help strings when printing them.
25180 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25182 Based on patch from Bean
25183 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25185 * video/efi_fb.c: New file.
25186 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25187 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25189 * conf/x86_64-efi.rmk: Likewise.
25191 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25193 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25194 * util/i386/pc/grub-setup.c: Likewise.
25196 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25198 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25200 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25201 file_get_storage_info to implement grub_guess_root_device.
25203 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25205 * Makefile.in (target): Use make's builtin $(shell) function
25206 instead of calling directly $(SHELL) to create the locale directories,
25207 inside the $(foreach) function.
25209 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25211 * util/grub-mkrescue.in: Print an error and usage if output option
25212 has not been given.
25214 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25216 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25217 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25218 root and /boot are on different devices.
25220 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25222 Fix build for srcdir != objdir.
25224 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25225 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25227 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25228 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25229 reference for input.
25231 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25233 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25234 or hardlinking it). Remove -J option, Joliet is not compatible with
25235 multiple source directories.
25237 2009-11-21 Carles Pina i Estany <carles@pina.cat>
25238 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25240 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25241 (process_input_dir): New function. Process an arbitrary input
25243 Misc adjustments to support both "override mode" and system-wide mode.
25245 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25247 * configure.ac (UNIFONT_BDF): Rename to ...
25248 (FONT_SOURCE): ... this. Update all users.
25250 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25252 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25253 to the list of unifont files to look for.
25255 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25257 Patch from Joe Auricchio <jauricchio@gmail.com>
25258 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25259 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25260 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25262 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25264 * Makefile.in (install-local): Add a missing backslash.
25266 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25268 * include/grub/x86_64/io.h: New file.
25270 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25272 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25273 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25274 Include `"progname.h"'.
25275 (main): Initialize gettext.
25276 * util/i386/pc/grub-setup.c: Gettexttize.
25277 * util/i386/pc/grub-mkimage.c: Likewise.
25279 * Makefile.in (po/*.po): Redefine as ...
25280 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25282 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25284 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25286 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25287 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25288 (program_name): Remove.
25289 (main): Initialize gettext support.
25290 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25291 Include `<libintl.h>'.
25294 * util/mkisofs/eltorito.c: Gettexttize.
25295 * util/mkisofs/joliet.c: Likewise.
25296 * util/mkisofs/mkisofs.c: Likewise.
25297 * util/mkisofs/multi.c: Likewise.
25298 * util/mkisofs/rock.c: Likewise.
25299 * util/mkisofs/tree.c: Likewise.
25300 * util/mkisofs/write.c: Likewise.
25302 * po/POTFILES: Update with new files.
25304 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25306 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25307 * util/mkisofs/iso9660.h: Likewise.
25308 * util/mkisofs/joliet.c: Likewise.
25309 * util/mkisofs/mkisofs.c: Likewise.
25310 * util/mkisofs/mkisofs.h: Likewise.
25311 * util/mkisofs/rock.c: Likewise.
25312 * util/mkisofs/tree.c: Likewise.
25313 * util/mkisofs/write.c: Likewise.
25315 * util/mkisofs/eltorito.c (rcsid): Remove.
25316 * util/mkisofs/hash.c: Likewise.
25317 * util/mkisofs/joliet.c: Likewise.
25318 * util/mkisofs/name.c: Likewise.
25319 * util/mkisofs/rock.c: Likewise.
25320 * util/mkisofs/tree.c: Likewise.
25321 * util/mkisofs/write.c: Likewise.
25323 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25325 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25326 instead of static allocation.
25327 * util/mkisofs/match.h: Likewise.
25329 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25331 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25332 and `util/grub.d/10_linux.in'.
25333 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25334 translatable Shell files.
25336 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25338 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25340 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25342 * INSTALL: Document Automake is needed for bootstrap.
25343 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
25344 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25345 Add gettext initialization.
25346 (kfreebsd_entry): Make menuentry output translatable.
25348 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25350 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25351 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25352 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25353 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25354 (LINGUAS): Auto-generate using `po/LINGUAS'.
25355 * po/LINGUAS: New file.
25357 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25359 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
25361 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
25362 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
25363 bindtextdomain() calls for gettext initialization.
25365 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25367 * gnulib/progname.c: New file (imported from Gnulib).
25368 * gnulib/progname.h: Likewise.
25369 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25370 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
25371 (usage): Replace `progname' with `program_name'.
25372 (main): Use set_program_name() for program name initialization.
25374 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25376 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
25378 * Makefile.in (CPPFLAGS): ... to here.
25380 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25382 * aclocal.m4: Move from here ...
25383 * acinclude.m4: ... to here.
25384 * autogen.sh: Add call to `aclocal'.
25385 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
25387 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25389 * Makefile.in (CLEANFILES): Add `po/*.mo'.
25390 (LINGUAS): New variable.
25391 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
25392 (install-local): Install MO files.
25393 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
25394 * include/grub/i18n.h: New file.
25395 * po/POTFILES: New file.
25396 * po/ca.po: New file.
25397 * util/grub.d/10_linux.in (bindir): New variable.
25398 Add gettext initialization.
25399 (linux_entry): Make menuentry output translatable.
25400 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
25401 (usage): Make --help output translatable.
25402 (main): Initialize gettext.
25404 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25406 * import_gcry.py: New file (written by Vladimir with minor
25408 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
25410 * INSTALL: Document that Python is required for bootstrap.
25412 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25414 Import ciphers from libgcrypt 1.4.4.
25416 * lib/libgcrypt/cipher/ChangeLog
25417 * lib/libgcrypt/cipher/ac.c
25418 * lib/libgcrypt/cipher/arcfour.c
25419 * lib/libgcrypt/cipher/bithelp.h
25420 * lib/libgcrypt/cipher/blowfish.c
25421 * lib/libgcrypt/cipher/camellia-glue.c
25422 * lib/libgcrypt/cipher/camellia.c
25423 * lib/libgcrypt/cipher/camellia.h
25424 * lib/libgcrypt/cipher/cast5.c
25425 * lib/libgcrypt/cipher/cipher.c
25426 * lib/libgcrypt/cipher/crc.c
25427 * lib/libgcrypt/cipher/des.c
25428 * lib/libgcrypt/cipher/dsa.c
25429 * lib/libgcrypt/cipher/ecc.c
25430 * lib/libgcrypt/cipher/elgamal.c
25431 * lib/libgcrypt/cipher/hash-common.c
25432 * lib/libgcrypt/cipher/hash-common.h
25433 * lib/libgcrypt/cipher/hmac-tests.c
25434 * lib/libgcrypt/cipher/md.c
25435 * lib/libgcrypt/cipher/md4.c
25436 * lib/libgcrypt/cipher/md5.c
25437 * lib/libgcrypt/cipher/primegen.c
25438 * lib/libgcrypt/cipher/pubkey.c
25439 * lib/libgcrypt/cipher/rfc2268.c
25440 * lib/libgcrypt/cipher/rijndael-tables.h
25441 * lib/libgcrypt/cipher/rijndael.c
25442 * lib/libgcrypt/cipher/rmd.h
25443 * lib/libgcrypt/cipher/rmd160.c
25444 * lib/libgcrypt/cipher/rsa.c
25445 * lib/libgcrypt/cipher/seed.c
25446 * lib/libgcrypt/cipher/serpent.c
25447 * lib/libgcrypt/cipher/sha1.c
25448 * lib/libgcrypt/cipher/sha256.c
25449 * lib/libgcrypt/cipher/sha512.c
25450 * lib/libgcrypt/cipher/tiger.c
25451 * lib/libgcrypt/cipher/twofish.c
25452 * lib/libgcrypt/cipher/whirlpool.c
25454 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25456 Fix build for systems without error().
25458 * gnulib/error.c: New file (imported from Gnulib).
25459 * gnulib/error.h: Likewise.
25460 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
25461 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
25462 (this variable is now used by error()).
25464 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
25466 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
25467 instead of relying that char is signed.
25469 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
25471 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
25472 blocksize different from specified.
25473 (grub_pxefs_read): Likewise.
25475 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
25477 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
25479 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
25480 (grub_ata_readwrite): Likewise. Update 2 format strings.
25481 (grub_atapi_read): Likewise.
25483 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
25484 * conf/i386.rmk (pkglib_MODULES): ... to here ...
25485 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
25486 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
25487 (ata_mod_LDFLAGS): Move from here ...
25488 * conf/i386.rmk: ... to here ...
25489 * conf/x86_64-efi.rmk: ... and here.
25490 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
25491 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
25493 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25495 Relicense multiboot.h, with RMS' blessing.
25497 * include/multiboot.h: Change to X11 license.
25499 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
25501 Support --version in grub-mkisofs.
25503 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
25504 (OPTION_VERSION): New macro.
25505 (ld_options): Recognize --version.
25506 (usage): Move `program_name' from here ...
25507 (program_name): ... to here. Add `static' qualifier.
25508 (main): Recognize `OPTION_VERSION'.
25510 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
25512 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
25513 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
25515 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25517 Fix help2man generation for mkisofs.
25519 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
25520 (usage): Send output to stdout (rather than stderr).
25522 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25524 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
25525 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25526 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
25527 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25528 (bin_SCRIPTS): Add `grub-mkfloppy'.
25529 (grub_mkfloppy_SOURCES): New variable.
25531 * util/grub-mkrescue.in: New file.
25532 * util/i386/pc/grub-mkfloppy.in: New file.
25534 * util/i386/coreboot/grub-mkrescue.in: Remove.
25535 * util/i386/pc/grub-mkrescue.in: Remove.
25537 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25539 * include/grub/multiboot.h (struct grub_multiboot_header): Move
25541 * include/multiboot.h (struct multiboot_header): ... to here. Update
25543 * include/grub/multiboot.h (struct grub_multiboot_info): Move
25545 * include/multiboot.h (struct multiboot_info): ... to here. Update
25547 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
25549 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
25551 * include/grub/multiboot.h (struct grub_mod_list): Move
25553 * include/multiboot.h (struct multiboot_mod_list): ... to here.
25556 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25558 * include/multiboot2.h (multiboot_word): Rename from this ...
25559 (multiboot2_word): ... to this. Update all users.
25560 (multiboot_header): Rename from this ...
25561 (multiboot2_header): ... to this. Update all users.
25562 (multiboot_tag_header): Rename from this ...
25563 (multiboot2_tag_header): ... to this. Update all users.
25564 (multiboot_tag_start): Rename from this ...
25565 (multiboot2_tag_start): ... to this. Update all users.
25566 (multiboot_tag_name): Rename from this ...
25567 (multiboot2_tag_name): ... to this. Update all users.
25568 (multiboot_tag_module): Rename from this ...
25569 (multiboot2_tag_module): ... to this. Update all users.
25570 (multiboot_tag_memory): Rename from this ...
25571 (multiboot2_tag_memory): ... to this. Update all users.
25572 (multiboot_tag_unused): Rename from this ...
25573 (multiboot2_tag_unused): ... to this. Update all users.
25574 (multiboot_tag_end): Rename from this ...
25575 (multiboot2_tag_end): ... to this. Update all users.
25577 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25579 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
25580 this platform we should support Multiboot1 first.
25582 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25583 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
25584 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
25586 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25588 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
25589 of write calls (converting them to fwrite() if they aren't already).
25590 (get_torito_desc): Likewise.
25591 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
25593 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25595 * util/i386/pc/grub-install.in: Move from here ...
25596 * util/grub-install.in: ... to here. Update all users.
25598 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
25600 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
25602 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25604 Support for El Torito without floppy emulation.
25606 * util/mkisofs/eltorito.c: Include `<errno.h>'.
25607 (init_boot_catalog): Improve error handling.
25608 (get_torito_desc): Don't use floppy emulation unless requested by
25609 user. Patch boot information table when requested via
25610 `-boot-info-table'.
25611 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
25612 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
25613 (use_boot_info_table): New variables.
25614 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
25615 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
25616 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
25617 `--eltorito-emul-floppy'.
25618 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
25619 and `OPTION_ELTORITO_EMUL_FLOPPY'.
25620 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
25621 (use_boot_info_table, get_731): New prototypes.
25622 * util/mkisofs/write.c (get_731): New function.
25624 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
25626 Fix the generation of the man page.
25628 * util/pc/i386/grub-install.in: Source
25629 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25631 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25633 Large file support for grub-mkisofs.
25635 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
25636 * util/mkisofs/mkisofs.c (next_extent, last_extent)
25637 (session_start): Upgrade type to `uint64_t'. Update all users.
25638 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
25639 (struct directory_entry): Upgrade type of `starting_block' and
25640 `size' to `uint64_t'. Update all users.
25641 (struct deferred): Remove unused structure.
25642 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
25644 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
25645 file is larger than `UINT32_MAX'.
25646 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
25647 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
25649 (struct deferred_write): Upgrade type of `extent' and `size' to
25650 `uint64_t'. Update all users.
25651 (last_extent_written): Upgrade type to `uint64_t'. Update all
25653 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
25654 Update all users. Upgrade type of `remain' to `int64_t' and
25655 `use' to `size_t'. Use error() to handle fread() errors.
25656 (write_files): Rely on write_one_file() rather than calling
25657 xfwrite() directly.
25659 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
25661 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
25663 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25665 * util/mkisofs/fnmatch.c: Remove.
25666 * util/mkisofs/getopt1.c: Likewise.
25667 * util/mkisofs/getopt.c: Likewise.
25668 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
25669 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
25670 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
25671 `gnulib/getopt1.c' and `gnulib/getopt.c'.
25672 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
25674 * configure.ac: Detect `mingw32msvc' host_os.
25675 Check for lstat(), getuid() and getgid().
25677 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
25678 instances of `u_char' with `uint8_t'.
25680 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
25681 [!HAVE_GETUID] (getuid): New function (stub).
25682 [!HAVE_GETGID] (getgid): Likewise.
25683 [!HAVE_LSTAT] (lstat): Likewise.
25684 [!S_IROTH] (S_IROTH): New macro (dummy).
25685 [!S_IRGRP] (S_IRGRP): Likewise.
25687 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25689 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
25690 conditional expression).
25692 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25694 Import from Gnulib.
25696 * gnulib/fnmatch.c: New file.
25697 * gnulib/fnmatch.h: Likewise.
25698 * gnulib/fnmatch_loop.c: Likewise.
25699 * gnulib/getopt.c: Likewise.
25700 * gnulib/getopt.h: Likewise.
25701 * gnulib/getopt1.c: Likewise.
25702 * gnulib/getopt_int.h: Likewise.
25703 * gnulib/gettext.h: Likewise.
25705 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25707 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
25708 * normal/handler.c (read_handler_list): Likewise.
25710 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25714 * kern/command.c (grub_register_command_prio): Use
25715 grub_zalloc() instead of explicitly zeroing data.
25716 * kern/list.c: Include `<grub/mm.h>'.
25717 (grub_named_list_find): Replace `0' with `NULL'.
25718 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
25719 (fs_module_list): Change type to `grub_named_list_t'. Update all
25721 * normal/dyncmd.c (read_command_list): Add space between function
25722 call and parenthesis.
25723 * normal/handler.c (read_handler_list): Likewise.
25725 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25727 * normal/auth.c (punishment_delay): Moved from here ...
25728 (grub_auth_strcmp): ... to here (inside function).
25730 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25732 * include/grub/list.h (struct grub_named_list): Remove `const'
25733 qualifier from `name'.
25734 (struct grub_prio_list): Likewise.
25736 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25738 * normal/auth.c: Include `<grub/time.h>'.
25739 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
25741 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25743 * normal/auth.c (punishment_delay): New variable.
25744 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
25745 (grub_auth_check_authentication): Punish failed login attempts with
25746 an incremental (2^N) delay.
25748 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25750 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
25751 path with $(srcdir).
25753 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25755 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
25757 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25759 * util/i386/coreboot/grub-mkrescue.in: New file.
25760 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
25763 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
25764 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
25765 * configure.ac: Add header and function checks to satisfy grub-mkisofs
25767 * util/mkisofs/defaults.h: New file.
25768 * util/mkisofs/eltorito.c: Likewise.
25769 * util/mkisofs/exclude.h: Likewise.
25770 * util/mkisofs/fnmatch.c: Likewise.
25771 * util/mkisofs/getopt.c: Likewise.
25772 * util/mkisofs/getopt1.c: Likewise.
25773 * util/mkisofs/hash.c: Likewise.
25774 * util/mkisofs/include/fctldefs.h: Likewise.
25775 * util/mkisofs/include/mconfig.h: Likewise.
25776 * util/mkisofs/include/prototyp.h: Likewise.
25777 * util/mkisofs/include/statdefs.h: Likewise.
25778 * util/mkisofs/iso9660.h: Likewise.
25779 * util/mkisofs/joliet.c: Likewise.
25780 * util/mkisofs/match.c: Likewise.
25781 * util/mkisofs/match.h: Likewise.
25782 * util/mkisofs/mkisofs.c: Likewise.
25783 * util/mkisofs/mkisofs.h: Likewise.
25784 * util/mkisofs/multi.c: Likewise.
25785 * util/mkisofs/name.c: Likewise.
25786 * util/mkisofs/rock.c: Likewise.
25787 * util/mkisofs/tree.c: Likewise.
25788 * util/mkisofs/write.c: Likewise.
25790 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25792 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
25795 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25797 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
25798 `grub-mkimage' (and use $0 when possible).
25800 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25802 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
25803 error message for excessively large memory map.
25805 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25807 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
25810 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25812 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
25813 message for coreboot users.
25815 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
25817 Fix build with GNU gold.
25819 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
25820 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
25821 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
25823 * aclocal.m4: Likewise.
25825 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
25827 * configure.ac (AC_PREREQ): Bump to 2.59d.
25828 * INSTALL: Make it more clear when Autoconf and Ruby are
25829 needed and when to run `./autogen.sh'.
25831 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
25833 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
25836 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25838 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
25840 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25842 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
25843 giving it to GNU Mach.
25845 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25847 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
25848 GNU partition number to get internal GRUB partition number.
25850 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25852 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
25853 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
25855 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
25857 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
25858 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
25861 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
25863 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
25865 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25869 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
25870 `-isystem=$(srcdir)/include'.
25872 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25874 * util/i386/pc/grub-install.in: Remove hint that device.map should be
25875 checked (grub-install doesn't currently rely on it).
25877 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
25881 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
25882 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25883 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
25884 * conf/i386-ieee1275.rmk: Likewise.
25885 * conf/i386-pc.rmk: Likewise.
25886 * conf/powerpc-ieee1275.rmk: Likewise.
25887 * conf/sparc64-ieee1275.rmk: Likewise.
25888 * conf/x86_64-efi.rmk: Likewise.
25890 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25892 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
25894 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25896 * include/grub/misc.h: Stop checking for APPLE_CC.
25898 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25900 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
25901 doesn't cause an infinite call loop.
25903 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
25905 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
25908 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25910 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
25912 * Makefile.in: Likewise.
25914 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25916 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
25918 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25920 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
25922 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25924 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
25926 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25928 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
25930 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
25932 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25934 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
25935 in $(MAKEINFO) invocation. This makes it clear in output that
25936 errors are being ignored.
25938 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25940 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
25942 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25943 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
25944 * conf/i386-ieee1275.rmk: Likewise.
25945 * conf/i386-pc.rmk: Likewise.
25946 * conf/powerpc-ieee1275.rmk: Likewise.
25947 * conf/sparc64-ieee1275.rmk: Likewise.
25948 * conf/x86_64-efi.rmk: Likewise.
25950 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
25952 * util/grub-editenv.c (main): If only a command is given, use
25953 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
25954 (usage): FILENAME is now optional and has a default.
25956 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
25958 Improve grub-mkconfig performance when there are several menu
25959 entries on a single filesystem.
25961 * util/grub.d/10_linux.in (linux_entry): Cache the output of
25962 prepare_grub_to_access_device.
25963 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25964 * util/grub.d/30_os-prober.in: Likewise.
25966 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25968 * util/grub.d/10_freebsd.in: Remove.
25969 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
25970 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
25972 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25974 * docs/grub.cfg: Fix example usage of *BSD loaders.
25976 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25978 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
25979 grub_util_error() call.
25981 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25983 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
25984 `reserved_first_sector' member.
25985 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
25986 `reserved_first_sector' to 1.
25987 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
25988 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
25989 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
25990 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
25991 filesystems which begin at first sector.
25992 (options): New option --skip-fs-probe.
25993 (main): Handle --skip-fs-probe and pass it to setup().
25995 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25997 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
25998 (memset): Fix function prototype.
26000 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26001 2009-10-25 Vasily Averin <vvs@parallels.com>
26003 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26004 `dirent.direntlen == 0'.
26006 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26008 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26010 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26012 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26014 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26015 `__trampoline_setup' and `__ucmpdi2'.
26016 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26017 that libgcc provides.
26019 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26021 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26022 * include/grub/sparc64/libgcc.h (memset): Likewise.
26023 * include/grub/misc.h (memset, memcmp): New function prototypes.
26025 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26027 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26029 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26031 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26033 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26034 * docs/grub.cfg: Compensate for recent change in multiboot
26035 loader (since 2009-08-14 it won't pass filename to payload).
26036 * util/grub.d/10_hurd.in: Likewise.
26038 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
26040 * config.guess: Update to latest version from config git
26042 * config.sub: Likewise.
26044 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26046 Fix build on sparc64.
26048 * configure.ac: Perform checks for libgcc symbols before
26049 adding `-nostdlib' to LDFLAGS.
26051 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26053 Let user specify OpenBSD root device.
26055 * loader/i386/bsd.c (openbsd_root): New variable.
26056 (openbsd_opts): New option 'root'.
26057 (OPENBSD_ROOT_ARG): New macro.
26058 (grub_openbsd_boot): Use 'openbsd_root'.
26059 (grub_cmd_openbsd): Fill 'openbsd_root'.
26061 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26063 * NEWS: Misc adjustments.
26065 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26067 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26069 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26071 * configure.ac: Bump version to 1.97.
26073 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
26075 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26076 -mno-3dnow on x86 architectures. Some toolchains enable these
26077 features by default, but they rely on registers that aren't enabled
26078 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26080 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26082 Make entry text a bit more readable.
26084 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26086 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26088 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26090 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26092 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26095 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26097 * configure.ac: Add missing dollar.
26099 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26101 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26103 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26104 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26106 * include/grub/sparc64/libgcc.h: Likewise. Use
26107 preprocessor conditionals.
26109 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26111 * conf/common.rmk (grub-dumpbios): Remove rule.
26112 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26113 * util/grub-dumpbios.in: Remove file.
26115 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26117 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26118 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26120 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26121 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26124 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26125 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26126 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26127 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26130 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26132 * term/tparm.c: Switch to GPLv3.
26134 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26136 * include/grub/i386/cpuid.h: Add header protection.
26138 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26140 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26142 * include/grub/i386/cpuid.h: New file.
26143 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26144 (has_longmode): Rename to ...
26145 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26146 `static' attribute.
26147 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26148 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26149 on a CPU that doesn't implement AMD64 instruction set.
26151 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26153 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26154 that version.texi is rebuilt on version number changes.
26156 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26158 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26161 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26163 * util/i386/pc/grub-install.in: Source
26164 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26165 that the --grub-probe option will work.
26166 * util/sparc64/ieee1275/grub-install.in: Likewise.
26168 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26170 * configure.ac: Bump version to 1.97~beta4.
26172 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26174 Resync grub-mkdevicemap in x86_64-efi.
26176 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26177 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26178 `util/devicemap.c'.
26180 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
26182 * util/grub-editenv.c (create_envblk_file): Write new block with a
26183 .new suffix and then rename it into place, to ensure atomic
26186 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26188 Do not automatically install headers.
26190 * Makefile.in (include_DATA): Remove. Update all users.
26192 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26194 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26195 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26197 * util/osdetect.lua: Remove.
26198 * script/lua/lauxlib.c: Likewise.
26199 * script/lua/ldebug.c: Likewise.
26200 * script/lua/grub_main.c: Likewise.
26201 * script/lua/lauxlib.h: Likewise.
26202 * script/lua/ldebug.h: Likewise.
26203 * script/lua/ltablib.c: Likewise.
26204 * script/lua/liolib.c: Likewise.
26205 * script/lua/lstrlib.c: Likewise.
26206 * script/lua/lualib.h: Likewise.
26207 * script/lua/ldo.c: Likewise.
26208 * script/lua/ldump.c: Likewise.
26209 * script/lua/ldo.h: Likewise.
26210 * script/lua/loslib.c: Likewise.
26211 * script/lua/lundump.c: Likewise.
26212 * script/lua/grub_lib.c: Likewise.
26213 * script/lua/ldblib.c: Likewise.
26214 * script/lua/lundump.h: Likewise.
26215 * script/lua/lmem.c: Likewise.
26216 * script/lua/grub_lib.h: Likewise.
26217 * script/lua/lmathlib.c: Likewise.
26218 * script/lua/lstate.c: Likewise.
26219 * script/lua/ltm.c: Likewise.
26220 * script/lua/lvm.c: Likewise.
26221 * script/lua/lmem.h: Likewise.
26222 * script/lua/lstate.h: Likewise.
26223 * script/lua/ltm.h: Likewise.
26224 * script/lua/ltable.c: Likewise.
26225 * script/lua/lvm.h: Likewise.
26226 * script/lua/llex.c: Likewise.
26227 * script/lua/lgc.c: Likewise.
26228 * script/lua/grub_lua.h: Likewise.
26229 * script/lua/loadlib.c: Likewise.
26230 * script/lua/lfunc.c: Likewise.
26231 * script/lua/lopcodes.c: Likewise.
26232 * script/lua/lparser.c: Likewise.
26233 * script/lua/ltable.h: Likewise.
26234 * script/lua/llex.h: Likewise.
26235 * script/lua/lgc.h: Likewise.
26236 * script/lua/lfunc.h: Likewise.
26237 * script/lua/lbaselib.c: Likewise.
26238 * script/lua/lopcodes.h: Likewise.
26239 * script/lua/lparser.h: Likewise.
26240 * script/lua/lzio.c: Likewise.
26241 * script/lua/linit.c: Likewise.
26242 * script/lua/lobject.c: Likewise.
26243 * script/lua/llimits.h: Likewise.
26244 * script/lua/lstring.c: Likewise.
26245 * script/lua/lzio.h: Likewise.
26246 * script/lua/lapi.c: Likewise.
26247 * script/lua/lcode.c: Likewise.
26248 * script/lua/lua.h: Likewise.
26249 * script/lua/lobject.h: Likewise.
26250 * script/lua/lstring.h: Likewise.
26251 * script/lua/lapi.h: Likewise.
26252 * script/lua/lcode.h: Likewise.
26253 * script/lua/luaconf.h: Likewise.
26255 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
26257 * docs/grub.texi (Command-line and menu entry commands): Document
26258 date and echo commands.
26260 2009-09-24 Pavel Roskin <proski@gnu.org>
26262 * include/grub/kernel.h (struct grub_module_header): Remove
26263 `grub_module_header_types'. Make `type' unsigned. Make `size'
26264 32-bit on all platforms.
26265 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26266 8-bit field. Use grub_host_to_target32() for `size'.
26267 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26268 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26269 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26271 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26273 Fix "lost keypress" bug in at_keyboard.
26275 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26276 Checks for readyness of input buffer (without flushing it).
26277 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26278 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26280 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26282 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26283 size check within GRUB_MACHINE_PCBIOS section.
26285 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26287 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26289 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26290 KEYBOARD_ISREADY check.
26291 (grub_at_keyboard_checkkey): Rename to ...
26292 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26293 Remove gratuitous cast.
26295 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
26297 * configure.ac: Call AC_PROG_MKDIR_P.
26298 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26299 version.texi in $(builddir) rather than $(srcdir).
26300 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26301 to makeinfo's @include search path.
26303 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26305 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26307 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26309 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26312 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
26314 Build info documentation. Some code borrowed from Automake.
26316 * configure.ac: Check for makeinfo.
26317 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26318 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26320 (MOSTLYCLEANFILES): Add vti.tmp.
26321 (docs/version.texi, docs/stamp-vti): Update automatically.
26322 (docs/grub.info): Build info documentation. Use --force and ignore
26324 (all-local): Add $(INFOS).
26325 (install-local): Install info files.
26326 (uninstall): Uninstall info files.
26327 * docs/version.texi: Remove from revision control. This file is
26328 automatically generated on build now.
26329 * gendistlist.sh: Add `*.info'.
26331 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26333 * kern/term.c: Fix indentation.
26335 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26337 * util/hostdisk.c: Fix a comment.
26339 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26341 Fix regression introduced in r2539.
26343 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26346 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
26348 * util/grub.d/30_os-prober.in: Don't throw away stderr from
26349 os-prober. Under normal operation, it does not print anything to
26350 stderr; if it does, we need to debug it, and throwing away stderr
26351 makes that excessively difficult.
26353 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26355 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26357 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26359 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
26360 AC_LANG_PROGRAM from autoconf.
26361 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
26362 prototypes (fixes warning).
26364 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
26365 `--disable-werror' was used.
26367 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26369 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
26370 uninitialized `lastaddr'.
26372 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
26374 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
26376 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
26378 * commands/test.c (get_fileinfo): Return immediately if
26379 grub_fs_probe fails.
26381 2009-09-14 José Martínez <xosemp@gmail.com>
26383 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
26385 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
26387 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
26390 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
26392 * configure.ac: Remove --enable-grub-pe2elf. Only build
26393 grub-pe2elf when needed by the build system itself.
26394 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
26396 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26398 * configure.ac: Bump version to 1.97~beta3.
26399 * docs/version.texi: Likewise.
26401 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26403 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
26404 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
26406 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
26407 (grub_linux_setup_video): ... to here (with some adjustments).
26409 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26411 Fix memory corruption issue (spotted by Colin Watson).
26413 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
26414 causing returned size to be stored in an incorrect memory location.
26415 Fix use of uninitialized value when storing the returned size.
26417 2009-09-12 Yves Blusseau <blusseau@zetam.org>
26419 Change clean rules to properly remove files
26421 * genmk.rb: add new clean rules
26422 * Makefile.in (clean): add the new targets
26423 (mostlyclean): likewise
26425 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
26427 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
26429 * fs/ntfs.c (init_file): Understand 64-bit sizes for
26430 non-resident files.
26432 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
26434 * configure.ac: Don't look for help2man when cross-compiling. Fixes
26435 part of bug #27349.
26437 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
26439 * util/grub-mkconfig.in: Make the created config mode 400 and
26440 print a warning if it fails.
26442 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
26444 * util/grub.d/40_custom.in: Ask user to type custom entries below
26445 comment, rather than below 'exec tail' line.
26447 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
26449 * util/grub.d/40_custom.in: Make sure that the explanatory text is
26450 visible in grub.cfg.
26452 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
26454 * util/grub.d/40_custom.in: Make it a little clearer how to use this
26457 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
26459 * docs/grub.cfg: Add an example menu entry for memtest86+.
26461 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
26463 * config.guess: Update to latest version from config git.
26464 * config.sub: Likewise.
26466 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
26468 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
26469 unknown-command case. Fixes bug #27320.
26471 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
26473 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
26474 `help' if the command exists.
26476 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
26478 * INSTALL: Require GCC 4.1.3 or later.
26480 2009-09-06 Yves Blusseau <blusseau@zetam.org>
26482 * Makefile.in (RMKFILES): add i386-qemu.rmk
26483 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
26484 $(srcdir)/stamp-h.in
26486 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
26488 * util/grub-probe.c (probe): Comment out buggy codepath, which
26489 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
26490 should be re-enabled after 1.97.
26492 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
26494 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
26497 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
26499 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
26500 unnecessary calls to grub_error.
26502 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
26504 * NEWS: Mention `keystatus' and Unicode fonts.
26506 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
26508 * configure.ac: Bump version to 1.97~beta2.
26509 * docs/version.texi: Likewise.
26511 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
26513 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
26514 containing unwind information in some cases where it previously did
26515 not. Use -fno-dwarf2-cfi-asm if available to restore the old
26516 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
26519 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
26521 Embedding loadenv module into grub-emu
26523 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
26525 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
26526 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
26527 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
26528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
26529 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
26530 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
26532 2009-09-03 Magnus Granberg <zorry@ume.nu>
26534 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
26535 include -fPIE in the default specs.
26536 * configure.ac: Check if pie_possible is yes and add -fno-PIE
26539 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
26541 * INSTALL: Note that GNU Bison 2.3 or later is required.
26543 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
26545 * kern/i386/pc/startup.S: Fix typo.
26547 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
26549 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
26552 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
26554 * docs/grub.texi (Naming convention): Describe one-based partition
26556 (Device syntax): Likewise.
26557 (File name syntax): Likewise.
26558 (Block list syntax): Likewise.
26559 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
26561 (File name syntax): Likewise.
26562 (Command-line and menu entry commands): Document acpi, blocklist,
26563 crc, export, insmod, keystatus, ls, set, and unset commands.
26565 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
26567 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
26568 to avoid implying that only one of --shift, --ctrl, or --alt may be
26571 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
26573 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
26574 rather than comparing against S_IFREG, which will almost never work.
26576 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
26578 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
26579 (write_blocklists): Likewise.
26581 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
26583 * script/lua/grub_lua.h (fputs): Supply a format string as the first
26584 argument to grub_printf.
26586 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
26588 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
26591 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26593 * kern/file.c (grub_file_read): Spelling fix
26595 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26597 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
26598 loading of headers in some cases.
26600 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
26602 * configure.ac: Bump version to 1.97~beta1.
26603 * docs/version.texi: Likewise.
26605 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
26607 * include/grub/i386/xnu.h: Add license header.
26608 include grub/err.h explicitly.
26610 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26612 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
26613 to `ufs' in the vfs.root.mountfrom kernel parameter.
26615 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26617 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
26619 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
26620 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
26622 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
26623 `ARRAY_SIZE' macro.
26625 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26627 * kern/file.c (grub_file_read): Check offset.
26628 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
26629 * fs/jfs.c (grub_jfs_read_file): Likewise.
26630 * fs/ntfs.c (grub_ntfs_read): Likewise.
26631 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
26632 * fs/minix.c (grub_minix_read_file): Correct offset check.
26633 * fs/ufs.c (grub_ufs_read_file): Likewise.
26635 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
26637 * term/i386/pc/console.c (bios_data_area): Cast
26638 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
26640 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26642 1-bit optimised blitters.
26644 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
26646 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26647 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26648 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26649 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26650 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26651 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26652 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
26654 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26655 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26656 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26657 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26658 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26659 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26660 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
26662 * video/video.c (grub_video_get_blit_format): Return
26663 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
26665 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
26667 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
26668 the first argument to grub_printf.
26670 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
26671 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
26673 Add `getkeystatus' terminal method. Add a new `keystatus' command
26676 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
26677 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
26678 modifier key bitmasks.
26679 (struct grub_term_input): Add `getkeystatus' member.
26680 (grub_getkeystatus): Add prototype.
26681 * kern/term.c (grub_getkeystatus): New function.
26683 * include/grub/i386/pc/memory.h
26684 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
26685 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
26687 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
26688 (grub_console_term_input): Set `getkeystatus' member.
26689 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
26691 (grub_usb_keyboard_getreport): Likewise.
26692 (grub_usb_keyboard_checkkey): Likewise.
26693 (grub_usb_keyboard_getkeystatus): New function.
26694 (grub_usb_keyboard_term): Set `getkeystatus' member.
26696 * commands/keystatus.c: New file.
26697 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
26698 (keystatus_mod_SOURCES): New variable.
26699 (keystatus_mod_CFLAGS): Likewise.
26700 (keystatus_mod_LDFLAGS): Likewise.
26701 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
26702 commands/keystatus.c.
26703 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26704 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26705 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26707 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26708 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26710 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26712 Split befs.mod and afs.mod into *_be.mod and *.mod
26714 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
26715 (grub_fstest_SOURCES): Likewise.
26716 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
26717 (afs_be_mod_SOURCES): New variable.
26718 (afs_be_mod_CFLAGS): Likewise.
26719 (afs_be_mod_LDFLAGS): Likewise.
26720 (befs_be_mod_SOURCES): Likewise.
26721 (befs_be_mod_CFLAGS): Likewise.
26722 (befs_be_mod_LDFLAGS): Likewise.
26723 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
26724 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26726 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26727 (grub_emu_SOURCES): Likewise.
26728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26729 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26730 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26731 * fs/afs_be.c: New file.
26732 * fs/befs_be.c: New file.
26733 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
26734 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
26735 (U16): Replaced with ...
26736 (grub_afs_to_cpu16): ...this. All users updated.
26737 (U32): Replaced with ...
26738 (grub_afs_to_cpu32): ...this. All users updated.
26739 (U64): Replaced with ...
26740 (grub_afs_to_cpu64): ...this. All users updated.
26741 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
26742 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
26743 (grub_afs_validate_sblock): Check only one endianness.
26744 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26745 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26746 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26747 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26748 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26749 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26750 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26751 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26753 2009-08-26 Bean <bean123ch@gmail.com>
26755 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
26757 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
26758 (grub_xfs_inode_block): Change return type to grub_uint64_t.
26759 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
26761 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26763 NetBSD memory map support.
26765 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
26766 (grub_netbsd_btinfo_mmap_header): New structure.
26767 (grub_netbsd_btinfo_mmap_entry): Likewise.
26768 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
26770 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26772 Enable bsd.mod on coreboot.
26774 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
26775 (bsd_mod_SOURCES): New variable.
26776 (bsd_mod_CFLAGS): Likewise.
26777 (bsd_mod_LDFLAGS): Likewise.
26778 (bsd_mod_ASFLAGS): Likewise.
26779 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
26780 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
26782 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26784 Cleanup NetBSD root support.
26786 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
26787 grub_bsd_get_device.
26790 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
26792 * util/grub.d/00_header.in: Move check for the video backend of
26793 gfxterm from here ...
26794 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
26795 a suitable video backend.
26797 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26799 Fix breakage in grub-setup.
26801 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
26802 "msdos_partition_map".
26804 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26806 Fix breakage in normal/auth.c.
26808 * normal/auth.c (grub_iswordseparator): New function.
26810 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26812 Authentication support.
26814 * commands/password.c: New file.
26815 * conf/common.rmk (pkglib_MODULES): Add password.mod.
26816 (password_mod_SOURCES): New variable.
26817 (password_mod_CFLAGS): Likewise.
26818 (password_mod_LDFLAGS): Likewise.
26819 (normal_mod_SOURCES): Add normal/auth.c.
26820 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
26822 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26823 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26824 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26826 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26827 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26828 * include/grub/auth.h: New file.
26829 * include/grub/err.h (grub_err_t): New enum value
26830 GRUB_ERR_ACCESS_DENIED.
26831 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
26833 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
26834 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
26836 * normal/auth.c: New file.
26837 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
26838 (grub_cmdline_run): Don't allow to go to command line without
26840 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
26841 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
26842 menuentry without superuser rights.
26843 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
26844 user isn't a superuser.
26846 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26848 Save space by inlining misc.c functions.
26850 * kern/misc.c (grub_iswordseparator): Made static.
26851 * kern/misc.c (grub_strcat): Moved from here ...
26852 * include/grub/misc.h (grub_strcat): ... here. Inlined.
26853 * kern/misc.c (grub_strncat): Moved from here ...
26854 * include/grub/misc.h (grub_strncat): ... here. Inlined.
26855 * kern/misc.c (grub_strcasecmp): Moved from here ...
26856 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
26857 * kern/misc.c (grub_strncasecmp): Moved from here ...
26858 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
26859 * kern/misc.c (grub_isalpha): Moved from here ...
26860 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
26861 * kern/misc.c (grub_isdigit): Moved from here ...
26862 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
26863 * kern/misc.c (grub_isgraph): Moved from here ...
26864 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
26865 * kern/misc.c (grub_tolower): Moved from here ...
26866 * include/grub/misc.h (grub_tolower): ... here. Inlined.
26868 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26870 * script/sh/function.c (grub_script_function_find): Cut error message
26871 not to flood terminal.
26872 * script/sh/lexer.c (grub_script_yylex): Remove command line length
26874 * script/sh/script.c (grub_script_arg_add): Duplicate string.
26876 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
26878 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
26879 `report' grub_uint8_t *.
26880 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
26881 Use a 50-millisecond timeout rather than just repeating
26882 grub_usb_keyboard_getreport 50 times.
26883 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
26885 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26887 Rename *_partition_map to part_*
26889 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
26890 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
26891 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
26892 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
26894 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
26896 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
26897 * util/grub-probe.c (probe_partmap): Don't transform partition name
26898 to get module name.
26900 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26902 Fix OpenBSD and NetBSD support.
26904 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
26905 memory address conflict.
26906 (OPENBSD_MMAP_ACPI): New definition.
26907 (OPENBSD_MMAP_NVS): Likewise.
26908 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
26909 and OPENBSD_MMAP_NVS.
26910 Add memory map terminator
26911 Explicit cast when calling grub_unix_real_boot.
26912 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
26914 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26916 Let user specify NetBSD root device.
26918 * loader/i386/bsd.c (netbsd_root): New variable.
26919 (netbsd_opts): New option 'root'.
26920 (NETBSD_ROOT_ARG): New macro.
26921 (grub_netbsd_boot): Use 'netbsd_root'.
26922 (grub_bsd_unload): Free 'netbsd_root'.
26923 (grub_cmd_netbsd): Fill 'netbsd_root'.
26925 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26927 Support for 64-bit NetBSD.
26929 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
26930 point when booting non-FreeBSD.
26932 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26934 Support --no-smp and --no-acpi for NetBSD.
26936 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
26937 (NETBSD_AB_NOACPI): Likewise.
26938 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
26939 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
26941 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26943 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
26945 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
26946 errors. Call grub_error when needed.
26948 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26950 * commands/search.c (search_fs): Try searching without autoload first.
26951 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
26952 filesystem module explicitly for faster booting.
26954 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
26956 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
26958 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
26960 * util/grub.d/30_os-prober.in: Disable os-prober if
26961 `GRUB_DISABLE_OS_PROBER' was set to true.
26963 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
26965 * partmap/pc.c: Rename to ...
26966 * partmap/msdos.c: ... this. Update all users.
26967 (grub_pc_partition_map): Rename to ...
26968 (grub_msdos_partition_map): ... this. Update all users.
26970 * parttool/pcpart.c: Rename to ...
26971 * parttool/msdospart.c: ... this. Update all users.
26973 * include/grub/pc_partition.h: Rename to ...
26974 * include/grub/msdos_partition.h: ... this. Update all users.
26975 (grub_pc_partition_bsd_entry): Rename to ...
26976 (grub_msdos_partition_bsd_entry): ... this. Update all users.
26977 (grub_pc_partition_disk_label): Rename to ...
26978 (grub_msdos_partition_disk_label): ... this. Update all users.
26979 (grub_pc_partition_entry): Rename to ...
26980 (grub_msdos_partition_entry): ... this. Update all users.
26981 (grub_pc_partition_mbr): Rename to ...
26982 (grub_msdos_partition_mbr): ... this. Update all users.
26983 (grub_pc_partition): Rename to ...
26984 (grub_msdos_partition): ... this. Update all users.
26985 (grub_pc_partition_is_empty): Rename to ...
26986 (grub_msdos_partition_is_empty): ... this. Update all users.
26987 (grub_pc_partition_is_extended): Rename to ...
26988 (grub_msdos_partition_is_extended): ... this. Update all users.
26989 (grub_pc_partition_is_bsd): Rename to ...
26990 (grub_msdos_partition_is_bsd): ... this. Update all users.
26992 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
26993 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
26994 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
26995 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
26996 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
26997 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
26998 (gpt_mod_LDFLAGS): Rename to ...
26999 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27000 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27001 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27002 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27003 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27004 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27005 (part_gpt_mod_LDFLAGS): ... this.
27006 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27007 `pcpart.mod' to `msdospart.mod'.
27008 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27010 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27011 (msdospart_mod_LDFLAGS): ... this.
27013 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27015 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27016 (openbsd_opts): Likewise.
27017 (netbsd_opts): Likewise.
27018 (freebsd_flags): Added 0 terminator.
27019 (openbsd_flags): Likewise.
27020 (netbsd_flags): Likewise.
27021 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27022 (grub_cmd_freebsd): Transformed into extended command.
27023 (grub_cmd_openbsd): Likewise.
27024 (grub_cmd_netbsd): Likewise.
27025 (cmd_freebsd): Changed type to grub_extcmd_t.
27026 (cmd_openbsd): Likewise.
27027 (cmd_netbsd): Likewise.
27028 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27029 grub_cmd_openbsd as extended commands.
27030 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27031 cmd_netbsd and cmd_openbsd
27033 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27035 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27037 2009-08-21 Pavel Roskin <proski@gnu.org>
27039 * Makefile.in (install-local): When checking if a file is in the
27040 build directory, use "test -e" to detect symlinks.
27042 * Makefile.in (install-local): Remove all files in
27043 $(DESTDIR)$(pkglibdir) before installing new files there.
27045 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27047 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27050 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27052 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27053 explicitly specified by the user.
27055 2009-08-18 Pavel Roskin <proski@gnu.org>
27057 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27058 grub_uint8_t pointer for data.
27059 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27061 * video/fb/fbutil.c: Remove unnecessary casts.
27063 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27067 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27068 (grub_vbe_set_video_mode): Save active mode info
27069 only after setting the mode.
27070 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27073 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27075 Rename variables for clarity.
27077 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27078 (active_vbe_mode_info): ... this. All users updated.
27079 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27081 (initial_mode): Rename to ...
27082 (initial_vbe_mode): ... this. All users updated.
27083 (mode_in_use): Rename to ..
27084 (vbe_mode_in_use): ... this. All users updated.
27085 (mode_list): Rename to ..
27086 (vbe_mode_list): ... this. All users updated.
27087 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27088 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27089 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27090 'mode_list_size' to 'vbe_mode_list_size'.
27091 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27092 'best_mode_info' to 'best_vbe_mode_info' and
27093 'best_mode' to 'best_vbe_mode'
27095 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27097 Remove duplicate grub_video_fb_get_video_ptr.
27099 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27100 (grub_video_fb_get_video_ptr): ... this.
27101 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27102 * video/fb/fbutil.c: Add comment about addressing.
27103 (get_data_ptr): Rename to ...
27104 (grub_video_fb_get_video_ptr): ... this. All users updated.
27105 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27107 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27109 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27110 grub_dprintf() that was just added.
27112 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27114 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27115 (DEFAULT_VIDEO_MODE): Remove macros.
27116 (grub_linux_boot): Remove assumption that Linux has FB support,
27117 and use "text" as default video mode.
27119 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27121 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27123 * fs/fat.c (grub_fat_read_data): Likewise.
27125 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27127 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27129 (grub_module): Likewise.
27131 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27133 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27134 mbi->cmdline but free playground.
27136 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27138 Handle group offset on UFS1.
27140 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27141 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27143 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27145 Split ufs.mod into ufs1.mod and ufs2.mod.
27147 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27148 (grub_fstest_SOURCES): Likewise.
27149 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27150 (ufs_mod_SOURCES): Remove.
27151 (ufs_mod_CFLAGS): Likewise.
27152 (ufs_mod_LDFLAGS): Likewise.
27153 (ufs1_mod_SOURCES): New variable.
27154 (ufs1_mod_CFLAGS): Likewise.
27155 (ufs1_mod_LDFLAGS): Likewise.
27156 (ufs2_mod_SOURCES): New variable.
27157 (ufs2_mod_CFLAGS): Likewise.
27158 (ufs2_mod_LDFLAGS): Likewise.
27159 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27160 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27162 (grub_emu_SOURCES): Likewise.
27163 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27164 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27165 (grub_setup_SOURCES): Likewise.
27166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27167 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27168 (grub_setup_SOURCES): Likewise.
27169 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27171 * fs/ufs2.c: New file.
27172 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27174 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27178 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27179 subsystem at the end.
27180 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27181 (video_fb_mod_SOURCES): New variable.
27182 (video_fb_mod_CFLAGS): Likewise.
27183 (video_fb_mod_LDFLAGS): Likewise.
27184 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27185 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27186 * video/i386/pc/vbeblit.c: Moved from here ...
27187 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27188 * video/i386/pc/vbefill.c: Moved from here ...
27189 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27190 * video/i386/pc/vbeutil.c: Moved from here ...
27191 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27192 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27193 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27194 * include/grub/i386/pc/vbefill.h: Moved from here ...
27195 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27196 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27197 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27198 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27199 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27200 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27201 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27202 (grub_video_adapter): Added 'get_info_and_fini'.
27203 (grub_video_get_info_and_fini): New prototype.
27204 (grub_video_set_mode): make modestring const char *.
27205 * loader/i386/linux.c (grub_linux_setup_video): Use
27206 grub_video_get_info_and_fini.
27207 (grub_linux_boot): Move modesetting just before booting.
27208 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27209 grub_video_get_info_and_fini.
27210 * video/i386/pc/vbe.c: Moved framebuffer part ...
27211 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27212 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27213 grub_video_fbstd_colors and grub_video_fb_set_palette.
27214 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27215 grub_video_fb_init.
27216 (grub_video_vbe_fini): Use grub_video_fb_fini.
27217 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27218 render_target and use grub_video_fb_set_active_render_target and
27219 grub_video_fb_set_palette.
27220 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27221 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27222 (grub_video_vbe_adapter): Use framebuffer.
27223 * video/video.c (grub_video_get_info_and_fini): New function.
27224 (grub_video_set_mode): Make modestring const char *.
27225 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27226 values are already initialised.
27228 2009-08-14 Pavel Roskin <proski@gnu.org>
27230 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27232 * boot/i386/pc/diskboot.S: Likewise.
27233 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27234 sectors allow compilation on MacOSX.
27235 * conf/i386-pc.rmk: Enable unconditional compilation of
27238 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
27240 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27241 * util/grub.d/00_header.in: Enter interruptible sleep if
27242 GRUB_HIDDEN_TIMEOUT is set.
27244 2009-08-13 Yves Blusseau <blusseau@zetam.org>
27246 * include/grub/symbol.h: Add the LOCAL macro.
27247 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27248 starting with "L_".
27250 2009-08-13 Pavel Roskin <proski@gnu.org>
27252 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27253 any modern compilers we support.
27255 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27256 Use local labels starting with "L_" so that Apple assembler
27257 knows they are local.
27259 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27261 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27262 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27263 (bsd_kernel_types): ... this enum.
27265 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27266 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27267 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27269 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27270 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27271 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27274 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27276 * util/grub-dumpdevtree: Moved from here ...
27277 * util/i386/efi/grub-dumpdevtree: ... to here.
27278 (hexify): New function. Converts a string to its hex version.
27279 Generate hex versions of "efi" and "device-properties" by calling
27280 hexify() on the ASCII strings rather than by hardcoding numbers.
27282 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27284 * fs/jfs.c: Update copyright year.
27286 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27288 * util/grub.d/00_header.in: Fix a comment.
27289 * util/grub.d/10_linux.in: Likewise.
27290 * util/grub.d/10_windows.in: Likewise.
27291 * util/grub.d/10_hurd.in: Likewise.
27293 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27295 * util/grub-mkconfig.in: Allow the user to specify the used font
27298 2009-08-08 Pavel Roskin <proski@gnu.org>
27300 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27301 available, xfs.mod needs it now.
27303 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27304 the "g" modifier in sed when the intention is to strip something
27305 once. This fixes comparison of kernels with multiple dashes.
27307 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27308 on it. Add missing space before closing bracket. Fix
27309 misleading formatting.
27311 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27313 * docs/grub.texi: Major overhaul. Remove all sections that are
27314 specific to GRUB Legacy, or mostly composed of Legacy-specific
27317 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27319 * docs/version.texi: New file. Provides version information for
27322 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27324 * docs/grub.texi: Update CVS information to SVN.
27325 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27327 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27329 * util/grub-mkconfig.in: Remove a wrong `fi'.
27331 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27333 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27334 (grub_jfs_uuid): New function.
27335 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27337 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27339 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27341 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27342 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27344 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27346 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27347 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27350 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27351 not just "vmlinu[zx]".
27352 Moved from here ...
27353 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27356 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27357 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27360 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27362 * util/grub.d/10_freebsd.in: Use an absolute device path for
27363 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
27365 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
27367 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
27368 handling of multiple abstraction modules.
27370 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
27372 Fix a bug resulting in black screen when loading Linux using a
27375 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
27378 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
27379 (grub_vbe_bios_getset_dac_palette_width): New function.
27380 (grub_vbe_bios_get_dac_palette_width)
27381 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
27382 grub_vbe_bios_getset_dac_palette_width()).
27384 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
27385 check for return status.
27386 (grub_vbe_get_video_mode_info): When getting information for a packed
27387 mode (<= 8 bpp), obtain DAC palette width using
27388 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
27389 {red,green,blue}_mark_size.
27391 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
27393 * commands/search.c (options): Fix help output to match actual code.
27395 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
27397 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
27400 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27402 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
27403 on XFS or ReiserFS.
27405 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27407 Support Apple partition map with sector size different from 512 bytes.
27409 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
27410 (apple_partition_map_iterate): Respect 'aheader.blocksize'
27411 and 'apart.partmap_size'.
27413 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27414 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
27418 * commands/i386/cpuid.c (options): New variable.
27419 (grub_cmd_cpuid): Return real error.
27420 (GRUB_MOD_INIT(cpuid)): Declare options.
27422 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
27424 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
27427 2009-07-31 Bean <bean123ch@gmail.com>
27429 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
27431 (grub_fshelp_node): Move inode field to the end.
27432 (grub_xfs_data): Remove inode field.
27433 (grub_xfs_inode_block): Calculate inode size using sblock.
27434 (grub_xfs_inode_offset): Likewise.
27435 (grub_xfs_read_inode): Calculate inode size using sblock.
27436 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
27437 (grub_xfs_iterate_dir): Calculate inode size using sblock.
27438 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
27439 to match inode size.
27440 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
27441 not accessible when data is null.
27442 (grub_xfs_open): Likewise.
27444 2009-07-31 Bean <bean123ch@gmail.com>
27446 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
27447 Don't change pv->disk if it's already set.
27449 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
27450 (grub_raid_register): ... here.
27451 (grub_raid_rescan): Removed.
27453 * include/grub/raid.h (grub_raid_rescan): Removed.
27455 * util/grub-fstest.c: Remove include file <grub/raid.h>.
27456 (fstest): Replace grub_raid_rescan with module fini function followed
27459 * util/grub-probe.c: Add include file <grub/raid.h>.
27460 (probe_raid_level): New function.
27461 (probe): Detect abstraction by walking the disk device, support two
27462 level of abstraction (LVM on RAID) when detecting partition map.
27464 2009-07-31 Pavel Roskin <proski@gnu.org>
27466 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
27467 to grub_zalloc(), it was erroneous.
27468 Reported by Bean <bean123ch@gmail.com>
27470 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
27472 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
27473 embedding zone, not only the first one.
27475 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
27477 * term/gfxterm.c (clear_char): New function.
27478 (grub_virtual_screen_setup): Use clear_char.
27479 (scroll_up): Likewise.
27480 (grub_virtual_screen_cls): Likewise.
27482 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
27484 * util/deviceiter.c (get_acceleraid_disk_name): New static
27486 (grub_util_iterate_devices): Handle Accelraid devices.
27487 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
27489 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
27491 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
27492 separator for the suggested gfxpayload string (';' collides with the
27493 parser and needs escaping).
27495 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
27497 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
27498 Clear direction flag before jumping to OS.
27499 (grub_multiboot2_real_boot): Likewise.
27501 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
27503 * util/i386/pc/grub-install: Fix parsing of --disk-module
27506 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
27508 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
27511 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
27513 * util/grub-mkconfig.in (package_version): New variable.
27514 Use it do display the version.
27516 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
27518 * kern/file.c (grub_file_open): Revert to previous check with
27521 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27523 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
27524 from help line. It's out of sync with code.
27526 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27528 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
27529 entries on failed boot.
27531 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
27533 * kern/file.c (grub_file_open): Fix an error check.
27535 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
27537 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
27538 partition map couldn't be identified.
27540 2009-07-23 Pavel Roskin <proski@gnu.org>
27542 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
27543 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
27544 case of little endian words becomes just an optimization.
27545 Respect const modifier.
27546 (md5_final): Use code that doesn't depend on endianness.
27548 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
27549 to avoid loss of upper bits if align is unsigned and shorter
27552 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27554 UUID support for UFS
27556 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
27557 (grub_ufs_uuid): New function.
27558 (grub_ufs_fs): add .uuid
27560 2009-07-21 Pavel Roskin <proski@gnu.org>
27562 * kern/dl.c (grub_dl_check_header): Make static.
27564 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
27566 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
27567 add drivemap for Vista. It breaks Windows 7.
27569 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27571 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
27574 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27578 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
27579 (grub_fstest_SOURCES): Likewise.
27580 (pkglib_MODULES): Add befs.mod.
27581 (befs_mod_SOURCES): New variable.
27582 (befs_mod_CFLAGS): Likewise.
27583 (befs_mod_LDFLAGS): Likewise.
27584 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27585 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27586 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27587 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27588 (grub_setup_SOURCES): Likewise.
27589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27590 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27591 (grub_setup_SOURCES): Likewise.
27592 * fs/befs.c: New file.
27593 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
27594 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
27595 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
27596 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
27597 (B_KEY_INDEX_ALIGN): New declaration.
27598 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
27599 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
27600 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
27601 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
27602 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
27603 (grub_afs_mount) [MODE_BFS]: Likewise.
27604 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
27605 (grub_afs_fs): Use GRUB_AFS_FSNAME
27606 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
27607 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
27608 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
27609 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
27611 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
27613 * util/getroot.c (find_root_device): Add support for MacOSX.
27614 * util/hostdisk.c: Likewise.
27616 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27618 * font/font.c (find_glyph): Check whether a font is present to avoid
27619 segmentation fault.
27621 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
27623 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
27625 2009-07-20 Pavel Roskin <proski@gnu.org>
27627 * configure.ac: Trim excessively wordy excuses.
27629 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27631 Add symlink, mtime and label support to AtheFS.
27633 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
27634 (grub_afs_iterate_dir): Handle symlinks.
27635 (grub_afs_open): Use grub_afs_read_symlink.
27636 (grub_afs_dir): Likewise.
27638 (grub_afs_label): New function.
27639 (grub_afs_fs): Add grub_afs_label.
27640 (grub_afs_read_symlink): New function.
27642 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27644 Fix AtheFS support.
27646 * fs/afs.c: Fix comments style.
27647 (grub_afs_blockrun): Declare as packed.
27648 (grub_afs_datastream): Likewise.
27649 (grub_afs_bnode): Likewise.
27650 (grub_afs_btree): Likewise.
27651 (grub_afs_sblock): Likewise.
27652 Declare `name' as char.
27653 (grub_afs_inode): Declare as packed.
27654 Change void *vnode to grub_uint32_t unused.
27655 (grub_afs_iterate_dir): Check that key_size is positive.
27656 (grub_afs_mount): Don't read superblock twice.
27657 (grub_afs_dir): Don't free node in case of error,
27658 grub_fshelp_find_file already handles this.
27659 (grub_afs_open): Likewise.
27661 2009-07-19 Pavel Roskin <proski@gnu.org>
27663 * Makefile.in: Remove LIBLZO and enable_lzo.
27664 * conf/i386-pc.rmk: Remove lzo support.
27665 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
27666 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
27668 * kern/i386/pc/lzo1x.S: Remove.
27669 * kern/i386/pc/startup.S: Remove lzo support.
27670 * util/i386/pc/grub-mkimage.c: Likewise.
27672 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
27674 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
27675 * fs/xfs.c (grub_xfs_dir): Likewise.
27676 * fs/afs.c (grub_afs_dir): Likewise.
27677 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
27678 (grub_iso9660_open): Likewise.
27679 * fs/jfs.c (grub_jfs_open): Likewise.
27680 * fs/ext2.c (grub_ext2_dir): Likewise.
27681 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
27682 * script/sh/lexer.c (grub_script_yylex): Likewise.
27684 2009-07-16 Pavel Roskin <proski@gnu.org>
27686 * configure.ac: Never add "-c" to CFLAGS.
27688 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
27690 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
27691 grub_cv_cc_efiemu should be used.
27693 * configure.ac: Typo fixes.
27695 * kern/mm.c (grub_zalloc): New function.
27696 (grub_debug_zalloc): Likewise.
27697 * include/grub/mm.h: Declare grub_zalloc() and
27698 grub_debug_zalloc().
27699 * util/misc.c (grub_zalloc): New function.
27700 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
27701 instead of grub_malloc(), remove unneeded initializations.
27702 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
27703 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
27704 * commands/parttool.c (grub_cmd_parttool): Likewise.
27705 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
27706 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
27707 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
27708 * disk/usbms.c (grub_usbms_finddevs): Likewise.
27709 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
27710 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
27711 (grub_cmd_efiemu_pnvram): Likewise.
27712 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
27713 * fs/iso9660.c (grub_iso9660_mount): Likewise.
27714 (grub_iso9660_iterate_dir): Likewise.
27715 * fs/jfs.c (grub_jfs_opendir): Likewise.
27716 * fs/ntfs.c (list_file): Likewise.
27717 (grub_ntfs_mount): Likewise.
27718 * kern/disk.c (grub_disk_open): Likewise.
27719 * kern/dl.c (grub_dl_load_core): Likewise.
27720 * kern/elf.c (grub_elf_file): Likewise.
27721 * kern/env.c (grub_env_context_open): Likewise.
27722 (grub_env_set): Likewise.
27723 (grub_env_set_data_slot): Likewise.
27724 * kern/file.c (grub_file_open): Likewise.
27725 * kern/fs.c (grub_fs_blocklist_open): Likewise.
27726 * loader/i386/multiboot.c (grub_module): Likewise.
27727 * loader/xnu.c (grub_xnu_create_key): Likewise.
27728 (grub_xnu_create_value): Likewise.
27729 * normal/main.c (grub_normal_add_menu_entry): Likewise.
27730 (read_config_file): Likewise.
27731 * normal/menu_entry.c (make_screen): Likewise.
27732 * partmap/sun.c (sun_partition_map_iterate): Likewise.
27733 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
27734 * script/sh/script.c (grub_script_parse): Likewise.
27735 * video/bitmap.c (grub_video_bitmap_create): Likewise.
27736 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
27737 * video/readers/png.c (grub_png_output_byte): Likewise.
27738 (grub_video_reader_png): Likewise.
27740 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27742 Enable all targets that can be built by default
27744 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
27745 grub-mkfont and grub-fstest if they can be built
27747 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27749 Fix hang and segmentation fault in grub-emu-usb
27751 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
27752 * util/usb.c (grub_libusb_devices): likewise
27753 (grub_libusb_init): rename to ...
27754 (GRUB_MOD_INIT (libusb)):...this
27755 (grub_libusb_fini): rename to ..
27756 (GRUB_MOD_FINI (libusb)):...this
27757 * disk/usbms.c (grub_usbms_transfer): fix retry logic
27758 * include/grub/disk.h (grub_raid_init): removed, it's useless
27759 (grub_raid_fini): likewise
27760 (grub_lvm_init): likewise
27761 (grub_lvm_fini): likewise
27762 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
27765 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27769 * Makefile.in (LIBUSB): new macro
27770 * genmk.rb (Utility/print_tail): new method
27771 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
27772 (top level): call util.print_tail at the end.
27774 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27776 Make FreeBSD accept zpool.cache
27778 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
27779 type is /boot/zfs/zpool.cache
27781 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27785 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
27786 correct wrong typedef
27787 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
27789 2009-07-15 Pavel Roskin <proski@gnu.org>
27791 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
27792 * kern/disk.c (struct grub_disk_cache): Likewise.
27794 * commands/probe.c (options): Typo fix.
27796 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
27797 Increase to 0x5a to accommodate FAT32. Adjust other offsets
27799 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
27801 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
27802 the end of "Error" to make the message more readable.
27804 * boot/i386/pc/boot.S (kernel_segment): Remove.
27805 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
27808 * boot/i386/pc/boot.S (boot_version): Remove.
27809 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
27812 * include/grub/i386/pc/boot.h: Sort all offsets.
27813 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
27814 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
27815 * boot/i386/pc/boot.S: Assert location of every offset listed in
27816 include/grub/i386/pc/boot.h.
27818 2009-07-13 Pavel Roskin <proski@gnu.org>
27820 * include/grub/i386/coreboot/machine.h: Rename
27821 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
27822 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
27823 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
27825 * kern/dl.c: Force native word size to suppress warnings when
27826 compiling grub-emu.
27828 * kern/device.c (grub_device_iterate): Change struct part_ent to
27829 hold the name, not a pointer to it. Use one grub_malloc() per
27830 partition, not two. Free partition_name if grub_malloc() fails.
27831 Set ents to NULL only before grub_partition_iterate() is called.
27833 2009-07-11 Bean <bean123ch@gmail.com>
27835 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
27838 2009-07-10 Bean <bean123ch@gmail.com>
27839 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
27841 * kern/ieee1275/openfw.c (grub_children_iterate)
27842 (grub_devalias_iterate): Fix size evaluation for property or path
27843 strings, which was broken since r2132.
27845 2009-07-07 Pavel Roskin <proski@gnu.org>
27847 * commands/search.c (search_file): Merge into ...
27848 (search_fs): ... this. Accept search type as argument.
27849 (grub_cmd_search): Pass search type to search_fs().
27851 * include/grub/util/console.h: New file.
27852 * util/console.c: Use it instead of grub/machine/console.h.
27853 * util/grub-emu.c: Likewise.
27855 * lib/arg.c (find_long_option): Remove.
27856 (find_long): Add `len' argument, make `s' const char *.
27857 (grub_arg_parse): Parse long options in place, not in a
27860 2009-07-06 Pavel Roskin <proski@gnu.org>
27862 * commands/search.c (search_fs): Fix potential NULL pointer
27865 * commands/search.c (search_fs): Replace QUID macro with quid_fn
27868 2009-07-06 Daniel Mierswa <impulze@impulze.org>
27870 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
27873 2009-07-05 Pavel Roskin <proski@gnu.org>
27875 * include/grub/i386/linux.h (struct linux_kernel_params):
27876 Restore padding3, it's still needed.
27878 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
27880 * util/osdetect.lua: Likewise.
27882 2009-07-05 Bean <bean123ch@gmail.com>
27884 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
27886 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
27887 (grub_lua_getenv): Likewise.
27888 (grub_lua_setenv): Likewise.
27889 (save_errno): New function.
27890 (push_result): Likewise.
27891 (grub_lua_enum_device): Likewise.
27892 (grub_lua_enum_file): Likewise.
27893 (grub_lua_file_open): Likewise.
27894 (grub_lua_file_close): Likewise.
27895 (grub_lua_file_seek): Likewise.
27896 (grub_lua_file_read): Likewise.
27897 (grub_lua_file_getline): Likewise.
27898 (grub_lua_file_getsize): Likewise.
27899 (grub_lua_file_getpos): Likewise.
27900 (grub_lua_file_eof): Likewise.
27901 (grub_lua_file_exist): Likewise.
27902 (grub_lua_add_menu): Likewise.
27904 * script/lua/grub_lua.h (isupper): New inline function.
27905 (islower): Likewise.
27906 (ispunct): Likewise.
27907 (isxdigit): Likewise.
27908 (strcspn): Change to normal function.
27909 (strpbkr): New function declaration.
27910 (memchr): Likewise.
27912 * script/lua/grub_main.c (scan_str): New function.
27913 (strcspn): Likewise.
27914 (strpbrk): Likewise.
27915 (memchr): Likewise.
27917 * script/lua/linit.c (lualibs): Enable the string library.
27919 * util/osdetect.lua: New file.
27921 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
27923 * include/grub/i386/linux.h (struct linux_kernel_params): Add
27924 `capabilities' member.
27926 2009-07-02 Pavel Roskin <proski@gnu.org>
27928 * genparttoollist.sh: Add missing newline at the end.
27930 2009-07-01 Pavel Roskin <proski@gnu.org>
27932 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
27934 * util/hostdisk.c (open_device): Remove `const' from
27935 `sysctl_size', as sysctlbyname() can change it (in this case it
27936 doesn't actually happen).
27938 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
27939 using signed long int constants.
27941 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
27942 constant to avoid a warning on FreeBSD.
27944 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
27947 * Makefile.in: Install include/grub/machine symlink.
27949 * Makefile.in: When installing symlinks, use "cp -fR", which
27950 works on FreeBSD and MacOSX.
27951 From Yves Blusseau <cl7m42e02@sneakemail.com>
27953 * kern/dl.c (grub_dl_resolve_symbol): Make static.
27954 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
27956 * util/misc.c: Move grub_reboot() and grub_halt() ...
27957 * util/grub-emu.c: ... here. Make main_env static.
27958 * include/grub/util/misc.h: Remove main_env.
27960 * kern/mm.c: Use correct format to print size_t.
27962 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
27963 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
27964 * kern/powerpc/dl.c: Likewise.
27965 * kern/sparc64/dl.c: Likewise.
27966 * kern/x86_64/dl.c: Likewise.
27968 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27970 Fix grub-emu build on sparc64-ieee1275.
27972 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
27973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
27975 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27977 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
27978 (grub_reboot, grub_halt): New functions.
27980 * util/i386/pc/misc.c: Delete. Update all users.
27981 * util/sparc64/ieee1275/misc.c: Likewise.
27982 * util/powerpc/ieee1275/misc.c: Likewise.
27984 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27986 * conf/i386.rmk (setjmp_mod_SOURCES)
27987 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
27988 * conf/common.rmk (setjmp_mod_SOURCES)
27989 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
27990 to use $(target_cpu).
27991 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
27992 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
27993 * conf/powerpc-ieee1275.rmk: Likewise.
27994 * conf/sparc64-ieee1275.rmk: Likewise.
27996 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
27997 $(target_cpu) for kern/$(target_cpu)/dl.c.
27998 * conf/i386-efi.rmk: Likewise.
27999 * conf/i386-ieee1275.rmk: Likewise.
28000 * conf/x86_64-efi.rmk: Likewise.
28001 * conf/i386-coreboot.rmk: Likewise.
28002 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28003 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28004 kern/$(target_cpu)/cache.S.
28005 * conf/sparc64-ieee1275.rmk: Likewise.
28007 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28009 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28010 type to `grub_uint8_t', and adjust `padding9' accordingly.
28012 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28014 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28016 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28017 assembly in final jump, using register constraints.
28019 (grub_linux_boot): For text mode, initialize `have_vga' using
28020 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28022 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28023 right before the final jump.
28025 Set `video_mode' to 0x3.
28027 Document initialization of `video_page', `video_mode' and
28030 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28032 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28033 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
28034 and set GRUB_LINUX_FLAG_QUIET appropriately.
28036 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28038 Fix build on Debian / sparc.
28040 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28042 2009-06-28 Pavel Roskin <proski@gnu.org>
28044 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28047 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28049 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28051 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28054 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28058 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28059 file can't be opened. grub_file_open() is already supposed to set
28060 grub_errno / grub_errmsg appropriately.
28061 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28063 2009-06-27 Pavel Roskin <proski@gnu.org>
28064 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28066 * include/grub/dl.h: Include grub/elf.h.
28067 (struct grub_dl): Add symtab field.
28068 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28069 GRUB_MODULES_MACHINE_READONLY.
28070 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28071 of the header for read-only modules.
28072 (grub_dl_unload): Free mod->symtab for read-only modules.
28073 * kern/i386/dl.c: Use mod->symtab.
28074 * kern/powerpc/dl.c: Likewise.
28075 * kern/sparc64/dl.c: Likewise.
28076 * kern/x86_64/dl.c: Likewise.
28078 * conf/i386-qemu.rmk: New file.
28079 * kern/i386/qemu/startup.S: Likewise.
28080 * kern/i386/qemu/mmap.c: Likewise.
28081 * boot/i386/qemu/boot.S: Likewise.
28082 * include/grub/i386/qemu/time.h: Likewise.
28083 * include/grub/i386/qemu/serial.h: Likewise.
28084 * include/grub/i386/qemu/kernel.h: Likewise.
28085 * include/grub/i386/qemu/console.h: Likewise.
28086 * include/grub/i386/qemu/boot.h: Likewise.
28087 * include/grub/i386/qemu/init.h: Likewise.
28088 * include/grub/i386/qemu/machine.h: Likewise.
28089 * include/grub/i386/qemu/loader.h: Likewise.
28090 * include/grub/i386/qemu/memory.h: Likewise.
28092 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28093 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28094 [qemu] (pkglib_IMAGES): Add `boot.img'.
28095 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28096 [qemu] (boot_img_FORMAT): New variables.
28097 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28098 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28099 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28100 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28101 [qemu] (kernel_img_FORMAT): New variables.
28103 * configure.ac: Recognise `i386-qemu'.
28105 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28106 (for no compression).
28107 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28108 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28109 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28110 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28113 2009-06-27 Pavel Roskin <proski@gnu.org>
28115 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28117 * efiemu/prepare32.c: Likewise.
28118 * efiemu/prepare64.c: Likewise.
28120 2009-06-26 Pavel Roskin <proski@gnu.org>
28122 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28123 * include/grub/elf.h: Define symbols without "32" or "64" based
28124 on GRUB_TARGET_WORDSIZE.
28125 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28126 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28128 * efiemu/loadcore64.c: Likewise.
28129 * loader/i386/bsd32.c: Likewise.
28130 * loader/i386/bsd64.c: Likewise.
28131 * kern/dl.c: Remove own ELF definitions.
28132 * util/i386/efi/grub-mkimage.c: Likewise.
28134 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28136 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28137 segment 0x0 unconditionally, because the reference generated by
28138 GAS is an absolute address.
28140 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28142 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28143 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28145 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28147 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28148 indexes. Check for -f explicitly.
28149 (search_file): Improve error message.
28150 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
28152 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28154 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28155 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28157 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28159 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28160 * conf/i386-ieee1275.rmk: Likewise.
28161 * conf/i386-coreboot.rmk: Likewise.
28163 * kern/i386/pc/startup.S (grub_stop): Remove function.
28164 * kern/i386/ieee1275/startup.S: Likewise.
28165 * kern/i386/coreboot/startup.S: Likewise.
28166 * kern/i386/misc.S (grub_stop): New function.
28168 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28170 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28171 * kern/i386/realmode.S (real_to_prot): ... to here.
28173 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28175 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28177 (kernel_elf_SOURCES): Rename to ...
28178 (kernel_img_SOURCES): ... this.
28179 (kernel_elf_HEADERS): Rename to ...
28180 (kernel_img_HEADERS): ... this. Update all users.
28181 (kernel_elf_ASFLAGS): Rename to ...
28182 (kernel_img_ASFLAGS): ... this.
28183 (kernel_elf_CFLAGS): Rename to ...
28184 (kernel_img_CFLAGS): ... this.
28185 (kernel_elf_LDFLAGS): Rename to ...
28186 (kernel_img_LDFLAGS): ... this.
28187 * conf/i386-coreboot.rmk: Likewise.
28188 * conf/powerpc-ieee1275.rmk: Likewise.
28190 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28193 2009-06-21 Pavel Roskin <proski@gnu.org>
28195 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28196 to match nested functions.
28197 * loader/sparc64/ieee1275/linux.c: Likewise.
28199 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28201 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28203 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28204 all i386 platforms.
28206 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28208 Fix asm file handling on ELF, and remove workarounds.
28210 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
28211 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
28212 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28213 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28215 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28217 Load BSD ELF modules
28219 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28220 and loader/i386/bsd64.c
28221 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28222 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28223 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28224 (grub_freebsd_load_elfmodule32): New declaration
28225 (grub_freebsd_load_elfmoduleobj64): Likewise
28226 (grub_freebsd_load_elf_meta32): Likewise
28227 (grub_freebsd_load_elf_meta64): Likewise
28228 (grub_freebsd_add_meta): Likewise
28229 (grub_freebsd_add_meta_module): Likewise
28230 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28231 (grub_freebsd_add_meta_module): Likewise and move module-specific
28232 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28233 (grub_cmd_freebsd): Add elf-kernel specific parts
28234 based on grub_freebsd_add_meta_module
28235 (grub_cmd_freebsd_module): Add type parsing moved from
28236 grub_freebsd_add_meta_module
28237 (grub_cmd_freebsd_module_elf): New function
28238 (cmd_freebsd_module_elf): New variable
28239 (GRUB_MOD_INIT): Register freebsd_module_elf
28240 * loader/i386/bsd32.c: New file
28241 * loader/i386/bsd64.c: Likewise
28242 * loader/i386/bsdXX.c: Likewise
28243 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28244 (grub_elf64_load): Likewise
28245 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28247 (grub_elf64_load_hook_t): Likewise
28249 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
28251 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28253 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28254 don't write a menu entry for recovery mode.
28256 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28258 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28259 after it's no longer needed.
28261 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28263 * include/grub/i386/loader.h (grub_linux_prot_size)
28264 (grub_linux_tmp_addr, grub_linux_real_addr)
28265 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28266 GRUB_MACHINE_PCBIOS.
28267 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28268 common grub_util_info() call to ...
28269 (generate_image): ... here.
28270 Fix use of uninitialized memory, comparison of signed with
28271 unsigned integers and memory leak.
28272 Remove bogus module address message.
28274 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28276 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28278 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28280 2009-06-19 Pavel Roskin <proski@gnu.org>
28282 * configure.ac: Remove stray AC_MSG_CHECKING.
28284 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28286 * disk/scsi.c (grub_scsi_open): use continue instead of big if
28288 2009-06-18 Pavel Roskin <proski@gnu.org>
28290 * conf/common.rmk: Add fs_file.mod.
28291 * disk/fs_file.c: New file.
28292 * include/grub/disk.h (enum grub_disk_dev_id): Add
28293 GRUB_DISK_DEVICE_FILE_ID.
28295 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28297 Fix build with Apple's toolchain. Part 2
28299 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28302 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28304 Fix build with Apple's toolchain. Part 1
28306 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28308 * configure.ac: remove a leftover AC_MSG_RESULT
28309 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
28312 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28316 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28317 (decomp_block): initialize ch
28318 use grub_memcpy instead of memcpy
28320 2009-06-17 Pavel Roskin <proski@gnu.org>
28322 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28323 version, use declarations needed to use vga_text as the startup
28326 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28327 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28329 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28330 and grub_at_keyboard_fini(), it's done on module load and
28333 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
28335 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28336 file can't be found.
28337 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28339 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28341 Fix newline handling
28343 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
28344 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
28345 (grub_script_yylex): don't segfault on unterminated script
28346 newline terminates command and variable
28348 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28350 avoid double grub_adjust_range call. Bug reported by David Simner
28352 * kern/disk.c (grub_disk_write): change to raw disk access before
28355 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
28357 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28358 spaces, for the benefit of help2man.
28359 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28361 2009-06-16 Pavel Roskin <proski@gnu.org>
28363 * kern/i386/halt.c: Include grub/machine/init.h.
28364 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
28366 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
28368 * util/grub.d/30_os-prober.in: Use ${root} in the generated
28369 drivemap menuentry.
28371 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
28373 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
28376 2009-06-16 Pavel Roskin <proski@gnu.org>
28378 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
28379 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
28380 save %dx, we only need %dl and we never change it.
28381 * boot/i386/pc/cdboot.S: Don't set the root drive.
28382 * boot/i386/pc/pxeboot.S: Likewise.
28383 * include/grub/i386/pc/boot.h: Remove
28384 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
28385 GRUB_BOOT_MACHINE_DRIVE_CHECK.
28386 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
28387 * kern/i386/pc/init.c (make_install_device): Remove references
28388 to grub_root_drive.
28389 * kern/i386/pc/startup.S: Likewise.
28390 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
28392 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28396 * commands/xnu_uuid.c: new file
28397 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
28398 (xnu_uuid_mod_SOURCES): new variable
28399 (xnu_uuid_mod_CFLAGS): likewise
28400 (xnu_uuid_mod_LDFLAGS): likewise
28401 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28402 * conf/i386-ieee1275.rmk: likewise
28403 * conf/i386-pc.rmk: likewise
28404 * conf/powerpc-ieee1275.rmk: likewise
28405 * conf/sparc64-ieee1275.rmk: likewise
28406 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
28408 2009-06-16 Pavel Roskin <proski@gnu.org>
28410 * configure.ac: Avoid '==' in test command, it's not portable.
28412 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28416 * commands/probe.c: new file
28417 * conf/common.rmk (pkglib_MODULES): add probe.mod
28418 (probe_mod_SOURCES): new variable
28419 (probe_mod_CFLAGS): likewise
28420 (probe_mod_LDFLAGS): likewise
28421 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28422 * conf/i386-ieee1275.rmk: likewise
28423 * conf/i386-pc.rmk: likewise
28424 * conf/powerpc-ieee1275.rmk: likewise
28425 * conf/sparc64-ieee1275.rmk: likewise
28427 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
28429 Fix handling of string like \"hello\" and "a
28432 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
28433 (grub_script_yylex): fix parsing of quoting, escaping and newline
28435 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
28437 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
28440 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
28442 * util/grub-mkconfig.in: Fix parsing of --output option.
28444 2009-06-12 Pavel Roskin <proski@gnu.org>
28446 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
28447 genmk.rb don't need to be generated or installed.
28449 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
28451 * commands/i386/pc/drivemap_int13h.S: add more comments
28453 2009-06-11 Pavel Roskin <proski@gnu.org>
28455 * Makefile.in (uninstall): Uninstall manuals.
28457 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
28458 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
28459 and update-grub_lib in two places.
28460 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
28462 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
28463 a compiler warning.
28465 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
28466 `entry_lo' to fix variable shadowing.
28468 2009-06-11 Christian Franke <franke@computer.org>
28470 * kern/misc.c (__enable_execute_stack): Add missing return type
28471 to prevent gcc warning.
28473 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
28475 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
28477 2009-06-11 Pavel Roskin <proski@gnu.org>
28479 * Makefile.in: Don't rely on any scripts being executable.
28480 Always use $(SHELL) to run shell scripts.
28482 * configure.ac: Always define ___main if using -nostdlib. This
28483 fixes tests on Cygwin.
28485 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
28489 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
28490 is in bytes and not in blocks
28492 2009-06-11 Pavel Roskin <proski@gnu.org>
28494 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
28497 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
28499 * util/grub.d/30_os-prober.in: Fix a comment. Source
28500 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
28501 to set the root device. Place drivemap command in the generated
28504 2009-06-11 Pavel Roskin <proski@gnu.org>
28506 * configure.ac: Remove host_m32. Issues with 64-bit utilities
28507 have long been resolved.
28509 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
28511 * util/grub.d/10_linux.in: Capitalise "Linux".
28513 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
28515 2009-06-11 Pavel Roskin <proski@gnu.org>
28517 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
28518 fix a gcc warning and ensure that the function won't ever exit.
28520 * kern/i386/ieee1275/init.c: Add missing prototype for
28521 grub_stop_floppy().
28523 * loader/ieee1275/multiboot2.c [__i386__]: Include
28524 grub/cpu/multiboot.h.
28526 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
28527 casts to short - they are not portable and cause warnings. Fix
28528 use of uninitialized values in input_buf. Use ARRAY_SIZE.
28530 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
28534 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
28536 (grub_get_root_biosnumber_saved): new variable
28537 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
28538 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
28539 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
28540 %dx after the call if necessary
28541 * conf/common.rmk (pkglib_MODULES): remove boot.mod
28542 (boot_mod_SOURCES): remove
28543 (boot_mod_CFLAGS): remove
28544 (boot_mod_LDFLAGS): remove
28545 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
28546 (boot_mod_SOURCES): new variable
28547 (boot_mod_CFLAGS): likewise
28548 (boot_mod_LDFLAGS): likewise
28549 * conf/i386-efi.rmk: likewise
28550 * conf/i386-ieee1275.rmk: likewise
28551 * conf/i386-pc.rmk: likewise
28552 * conf/powerpc-ieee1275.rmk: likewise
28553 * conf/sparc64-ieee1275.rmk: likewise
28554 * conf/x86_64-efi.rmk: likewise
28555 * include/grub/i386/pc/biosnum.h: new file
28556 * lib/i386/pc/biosnum.c: likewise
28557 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
28558 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
28559 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
28561 2009-06-10 Pavel Roskin <proski@gnu.org>
28563 * io/gzio.c (test_header): Don't reuse one buffer for all data.
28564 Use separate variables. Read only the file size at the end, but
28565 not the checksum that we don't use.
28567 * kern/file.c (grub_file_read): Use void pointer for the buffer.
28568 Adjust all callers.
28570 * kern/ieee1275/openfw.c: Remove libc includes.
28571 * kern/ieee1275/cmain.c: Likewise.
28572 * include/grub/ieee1275/ieee1275.h: Likewise.
28574 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
28577 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
28579 * Makefile.in: Remove all trailing whitespace.
28580 * conf/i386-pc.rmk: Likewise.
28581 * conf/powerpc-ieee1275.rmk: Likewise.
28582 * conf/sparc64-ieee1275.rmk: Likewise.
28583 * docs/grub.texi: Likewise.
28584 * docs/texinfo.tex: Likewise.
28585 * disk/fs_uuid.c: Likewise.
28586 * disk/lvm.c: Likewise.
28587 * disk/scsi.c: Likewise.
28588 * disk/ata.c: Likewise.
28589 * disk/ieee1275/ofdisk.c: Likewise.
28590 * disk/i386/pc/biosdisk.c: Likewise.
28591 * disk/host.c: Likewise.
28592 * disk/raid.c: Likewise.
28593 * disk/efi/efidisk.c: Likewise.
28594 * disk/usbms.c: Likewise.
28595 * disk/memdisk.c: Likewise.
28596 * disk/loopback.c: Likewise.
28597 * kern/powerpc/dl.c: Likewise.
28598 * kern/device.c: Likewise.
28599 * kern/dl.c: Likewise.
28600 * kern/sparc64/dl.c: Likewise.
28601 * kern/ieee1275/ieee1275.c: Likewise.
28602 * kern/term.c: Likewise.
28603 * kern/fs.c: Likewise.
28604 * kern/i386/dl.c: Likewise.
28605 * kern/i386/pc/startup.S: Likewise.
28606 * kern/i386/pc/init.c: Likewise.
28607 * kern/i386/pc/mmap.c: Likewise.
28608 * kern/i386/pc/lzo1x.S: Likewise.
28609 * kern/i386/ieee1275/init.c: Likewise.
28610 * kern/i386/realmode.S: Likewise.
28611 * kern/i386/tsc.c: Likewise.
28612 * kern/partition.c: Likewise.
28613 * kern/corecmd.c: Likewise.
28614 * kern/file.c: Likewise.
28615 * kern/efi/efi.c: Likewise.
28616 * kern/efi/init.c: Likewise.
28617 * kern/efi/mm.c: Likewise.
28618 * kern/main.c: Likewise.
28619 * kern/err.c: Likewise.
28620 * kern/env.c: Likewise.
28621 * kern/disk.c: Likewise.
28622 * kern/generic/millisleep.c: Likewise.
28623 * kern/generic/rtc_get_time_ms.c: Likewise.
28624 * kern/misc.c: Likewise.
28625 * kern/parser.c: Likewise.
28626 * genmk.rb: Likewise.
28627 * configure.ac: Likewise.
28628 * boot/i386/pc/diskboot.S: Likewise.
28629 * boot/i386/pc/pxeboot.S: Likewise.
28630 * boot/i386/pc/boot.S: Likewise.
28631 * boot/i386/pc/lnxboot.S: Likewise.
28632 * boot/i386/pc/cdboot.S: Likewise.
28633 * parttool/pcpart.c: Likewise.
28634 * video/readers/tga.c: Likewise.
28635 * video/video.c: Likewise.
28636 * video/bitmap.c: Likewise.
28637 * lib/envblk.c: Likewise.
28638 * lib/i386/setjmp.S: Likewise.
28639 * fs/xfs.c: Likewise.
28640 * fs/afs.c: Likewise.
28641 * fs/fat.c: Likewise.
28642 * fs/ntfs.c: Likewise.
28643 * fs/udf.c: Likewise.
28644 * fs/affs.c: Likewise.
28645 * fs/iso9660.c: Likewise.
28646 * fs/hfs.c: Likewise.
28647 * fs/fshelp.c: Likewise.
28648 * fs/ext2.c: Likewise.
28649 * fs/jfs.c: Likewise.
28650 * fs/reiserfs.c: Likewise.
28651 * fs/hfsplus.c: Likewise.
28652 * fs/minix.c: Likewise.
28653 * fs/cpio.c: Likewise.
28654 * fs/sfs.c: Likewise.
28655 * fs/ufs.c: Likewise.
28656 * efiemu/prepare.c: Likewise.
28657 * efiemu/loadcore_common.c: Likewise.
28658 * efiemu/runtime/efiemu.sh: Likewise.
28659 * efiemu/runtime/efiemu.S: Likewise.
28660 * efiemu/runtime/efiemu.c: Likewise.
28661 * efiemu/pnvram.c: Likewise.
28662 * efiemu/main.c: Likewise.
28663 * efiemu/i386/pc/cfgtables.c: Likewise.
28664 * efiemu/i386/loadcore64.c: Likewise.
28665 * efiemu/i386/loadcore32.c: Likewise.
28666 * efiemu/loadcore.c: Likewise.
28667 * efiemu/symbols.c: Likewise.
28668 * efiemu/mm.c: Likewise.
28669 * include/grub/autoefi.h: Likewise.
28670 * include/grub/datetime.h: Likewise.
28671 * include/grub/term.h: Likewise.
28672 * include/grub/hfs.h: Likewise.
28673 * include/grub/lvm.h: Likewise.
28674 * include/grub/i386/tsc.h: Likewise.
28675 * include/grub/i386/linux.h: Likewise.
28676 * include/grub/i386/xnu.h: Likewise.
28677 * include/grub/i386/efiemu.h: Likewise.
28678 * include/grub/i386/pc/biosdisk.h: Likewise.
28679 * include/grub/i386/pc/memory.h: Likewise.
28680 * include/grub/i386/pc/vbe.h: Likewise.
28681 * include/grub/parttool.h: Likewise.
28682 * include/grub/video.h: Likewise.
28683 * include/grub/memory.h: Likewise.
28684 * include/grub/fs.h: Likewise.
28685 * include/grub/partition.h: Likewise.
28686 * include/grub/xnu.h: Likewise.
28687 * include/grub/efi/api.h: Likewise.
28688 * include/grub/efi/pe32.h: Likewise.
28689 * include/grub/efi/memory.h: Likewise.
28690 * include/grub/multiboot.h: Likewise.
28691 * include/grub/usbdesc.h: Likewise.
28692 * include/grub/multiboot2.h: Likewise.
28693 * include/grub/acpi.h: Likewise.
28694 * include/grub/efiemu/efiemu.h: Likewise.
28695 * include/grub/disk.h: Likewise.
28696 * include/grub/ieee1275/ieee1275.h: Likewise.
28697 * include/grub/net.h: Likewise.
28698 * include/grub/machoload.h: Likewise.
28699 * include/grub/macho.h: Likewise.
28700 * include/multiboot.h: Likewise.
28701 * genmoddep.awk: Likewise.
28702 * normal/main.c: Likewise.
28703 * normal/menu_entry.c: Likewise.
28704 * normal/menu_viewer.c: Likewise.
28705 * normal/completion.c: Likewise.
28706 * normal/cmdline.c: Likewise.
28707 * normal/misc.c: Likewise.
28708 * normal/datetime.c: Likewise.
28709 * bus/usb/usbtrans.c: Likewise.
28710 * bus/usb/ohci.c: Likewise.
28711 * bus/usb/uhci.c: Likewise.
28712 * bus/usb/usb.c: Likewise.
28713 * mmap/efi/mmap.c: Likewise.
28714 * mmap/i386/pc/mmap_helper.S: Likewise.
28715 * mmap/i386/pc/mmap.c: Likewise.
28716 * mmap/i386/mmap.c: Likewise.
28717 * mmap/i386/uppermem.c: Likewise.
28718 * mmap/mmap.c: Likewise.
28719 * commands/acpi.c: Likewise.
28720 * commands/echo.c: Likewise.
28721 * commands/blocklist.c: Likewise.
28722 * commands/loadenv.c: Likewise.
28723 * commands/usbtest.c: Likewise.
28724 * commands/boot.c: Likewise.
28725 * commands/parttool.c: Likewise.
28726 * commands/search.c: Likewise.
28727 * commands/cat.c: Likewise.
28728 * commands/i386/pc/play.c: Likewise.
28729 * commands/i386/pc/drivemap.c: Likewise.
28730 * commands/i386/pc/vbeinfo.c: Likewise.
28731 * commands/i386/pc/acpi.c: Likewise.
28732 * commands/i386/pc/vbetest.c: Likewise.
28733 * commands/ls.c: Likewise.
28734 * commands/cmp.c: Likewise.
28735 * commands/test.c: Likewise.
28736 * commands/efi/acpi.c: Likewise.
28737 * commands/gptsync.c: Likewise.
28738 * commands/help.c: Likewise.
28739 * partmap/amiga.c: Likewise.
28740 * partmap/apple.c: Likewise.
28741 * partmap/acorn.c: Likewise.
28742 * partmap/pc.c: Likewise.
28743 * partmap/sun.c: Likewise.
28744 * partmap/gpt.c: Likewise.
28745 * script/sh/lexer.c: Likewise.
28746 * script/sh/function.c: Likewise.
28747 * font/font.c: Likewise.
28748 * font/font_cmd.c: Likewise.
28749 * loader/powerpc/ieee1275/linux.c: Likewise.
28750 * loader/efi/chainloader.c: Likewise.
28751 * loader/multiboot_loader.c: Likewise.
28752 * loader/macho.c: Likewise.
28753 * loader/i386/multiboot.c: Likewise.
28754 * loader/i386/linux.c: Likewise.
28755 * loader/i386/pc/linux.c: Likewise.
28756 * loader/i386/pc/multiboot2.c: Likewise.
28757 * loader/i386/pc/chainloader.c: Likewise.
28758 * loader/i386/pc/xnu.c: Likewise.
28759 * loader/i386/bsd_trampoline.S: Likewise.
28760 * loader/i386/efi/linux.c: Likewise.
28761 * loader/i386/multiboot_elfxx.c: Likewise.
28762 * loader/i386/bsd_helper.S: Likewise.
28763 * loader/i386/bsd.c: Likewise.
28764 * loader/i386/linux_trampoline.S: Likewise.
28765 * loader/i386/xnu_helper.S: Likewise.
28766 * loader/i386/xnu.c: Likewise.
28767 * loader/i386/bsd_pagetable.c: Likewise.
28768 * loader/i386/multiboot_helper.S: Likewise.
28769 * loader/xnu.c: Likewise.
28770 * loader/xnu_resume.c: Likewise.
28771 * io/gzio.c: Likewise.
28772 * term/efi/console.c: Likewise.
28773 * term/terminfo.c: Likewise.
28774 * term/ieee1275/ofconsole.c: Likewise.
28775 * term/i386/pc/serial.c: Likewise.
28776 * term/i386/pc/vesafb.c: Likewise.
28777 * term/i386/pc/vga.c: Likewise.
28778 * term/usb_keyboard.c: Likewise.
28779 * term/gfxterm.c: Likewise.
28780 * aclocal.m4: Likewise.
28781 * util/lvm.c: Likewise.
28782 * util/grub.d/30_os-prober.in: Likewise.
28783 * util/grub.d/10_hurd.in: Likewise.
28784 * util/console.c: Likewise.
28785 * util/grub-macho2img.c: Likewise.
28786 * util/grub-probe.c: Likewise.
28787 * util/hostfs.c: Likewise.
28788 * util/i386/pc/grub-mkimage.c: Likewise.
28789 * util/i386/pc/grub-setup.c: Likewise.
28790 * util/i386/efi/grub-mkimage.c: Likewise.
28791 * util/grub-mkconfig.in: Likewise.
28792 * util/raid.c: Likewise.
28793 * util/resolve.c: Likewise.
28794 * util/grub-mkdevicemap.c: Likewise.
28795 * util/grub-emu.c: Likewise.
28796 * util/getroot.c: Likewise.
28797 * util/hostdisk.c: Likewise.
28798 * util/usb.c: Likewise.
28799 * util/grub-editenv.c: Likewise.
28800 * util/misc.c: Likewise.
28802 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
28804 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
28805 `genparttoollist.sh'.
28806 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
28807 Add `*.sh' to the list find searches for and change `mdate.sh'
28810 2009-06-10 Pavel Roskin <proski@gnu.org>
28812 * include/grub/multiboot2.h: Provide compatibility defines for
28814 * include/multiboot2.h: Include stdint.h only if needed, using
28816 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
28818 * loader/ieee1275/multiboot2.c: Likewise.
28819 * loader/multiboot2.c: Likewise.
28820 * loader/multiboot_loader.c: Likewise.
28822 * configure.ac: Use -nostdlib when probing for the target. It
28823 should not be required to have libc for the target.
28825 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
28826 they fail without libc headers for the target.
28827 * include/grub/powerpc/libgcc.h: Use weak attribute for all
28829 * include/grub/sparc64/libgcc.h: Likewise. Don't use
28830 preprocessor conditionals.
28832 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
28833 build system doesn't need to be aware of the tar.c internals.
28835 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
28837 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
28839 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
28841 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
28842 disk limit to 26 for IDE, Virtio, Xen and SCSI.
28844 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
28846 * util/i386/pc/grub-install.in: Change the error message if UUIDs
28847 aren't available if ata.mod gets used.
28849 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
28851 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
28852 initialising controller.
28853 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28855 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
28857 * util/i386/pc/grub-install.in: Add a parameter --disk-module
28858 to choose between ata and biosdisk module on i386-pc.
28860 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
28862 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
28863 Subclass and Programming Interface fields in terms of the 3 byte
28864 Class Code register.
28865 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28867 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
28868 interface is OHCI. Add grub_dprintf for symmetry with
28870 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
28871 interface is UHCI. Add interf variable for programming
28872 interface. Print interface with class/subclass.
28874 * bus/usb/ohci.c: Set interf with correct field.
28876 * bus/usb/uhci.c: Remove unneeded doubled lines.
28877 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
28878 Remove whitespace inside comment.
28880 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
28882 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
28883 as fallback an equivalent option without depth.
28885 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28887 Not fail if unable to retrieve C/H/S on LBA disks
28889 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
28890 if unable to retrieve C/H/S on LBA disks
28892 2009-06-08 Pavel Roskin <proski@gnu.org>
28894 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
28897 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
28899 * Makefile.in (uninstall): Remove all $lib_DATA files.
28901 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28903 Bugfix: install on partitionless device
28905 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
28908 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
28910 * Makefile.in (uninstall): Remove all $include_DATA files.
28912 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
28914 * commands/true.c: New file. Implement the true and false commands.
28915 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
28916 (true_mod_SOURCES): New variable.
28917 (true_mod_CFLAGS): Likewise.
28918 (true_mod_LDFLAGS): Likewise.
28920 2009-06-05 Colin D Bennett <colin@gibibit.com>
28922 Optimized font character lookup using binary search instead of linear
28923 search. Fonts now are required to have the character index ordered by
28926 * font/font.c (load_font_index): Verify that fonts have ordered
28928 (find_glyph): Use binary search instead of linear search to find a
28929 character in a font.
28931 2009-06-05 Michael Scherer <misc@mandriva.org>
28933 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
28934 uses case sensitive btree.
28935 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
28936 only for case insensitive filesystems.
28938 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
28940 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
28941 * conf/common.rmk (search_mod_CFLAGS): likewise
28943 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28945 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
28946 compensate a compiler bug
28948 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28950 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
28953 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28955 Definitions for creating asm symbols with Apple's CC
28957 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
28958 [APPLE_CC] (VARIABLE): likewise
28960 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28962 Disable lnxboot.img when compiled
28965 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
28966 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
28967 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
28968 [! APPLE_CC] (CODE_LENG): skip
28969 [! APPLE_CC] (setup_sects): likewise
28970 [! APPLE_CC]: skip filling
28972 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28974 Address in trampolines based on 32-bit registers when compiled
28977 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
28979 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
28981 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28983 Avoid aliases when compiling with Apple's CC for PCBIOS machine
28985 * kern/misc.c [APPLE_CC] (memcpy): new function
28986 [APPLE_CC] (memmove): likewise
28987 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
28988 (memcpy): define alias conditionally on !APPLE_CC
28991 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
28992 APPLE_CC are defined
28993 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
28994 (grub_assert_fail): make prototype conditional
28996 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28998 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29000 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29002 (CLEANFILES): add grub-macho2img
29003 (grub_macho2img_SOURCES): new variable
29004 * kern/i386/pc/startup.S (bss_start): new variable
29005 (bss_end): likewise
29006 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29007 * util/grub-macho2img.c: new file
29009 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29011 Use objconv when compiling with Apple's CC
29013 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29014 (efiemu64.o): likewise
29015 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29016 when compiling with Apple's CC
29017 (efiemu64_s.o): likewise
29018 * configure.ac: check for objconv when compiling with Apple's CC
29019 * genmk.rb: use objconv for modules when compiled with Apple's CC
29021 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29023 Define segment as well as section when compiling with
29026 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29027 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29028 (efiemu_convert_pointer): likewise
29029 (efiemu_set_virtual_address_map): likewise
29030 (efiemu_convert_pointer): likewise
29031 (efiemu_getcrc32): likewise
29032 (init_crc32_table): likewise
29033 (reflect): likewise
29034 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29035 (GRUB_MOD_DEP): likewise
29037 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29039 Allow a compilation without -mcmodel=large
29041 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29042 when compiled without -mcmodel=large
29043 (filter_memory_map): remove memory post 4 GiB when compiled
29044 without -mcmodel=large
29045 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
29046 TARGET_CFLAGS when -mcmodel=large isn't supported
29048 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29050 Remove nested functions in efiemu core
29052 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
29054 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29056 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29058 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29060 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29062 (grub_cpu_is_tsc_supported): likewise
29063 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
29065 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29067 Absolute addressing through constant with Apple's cc
29069 * kern/i386/pc/startup.S: Define necessary constants
29070 and address through it when using ABS with Apple's CC
29071 * boot/i386/pc/diskboot.S: likewise
29072 * boot/i386/pc/boot.S: likewise
29073 * boot/i386/pc/lnxboot.S: likewise
29074 * boot/i386/pc/cdboot.S: likewise
29075 * mmap/i386/pc/mmap_helper.S: likewise
29076 * commands/i386/pc/drivemap_int13h.S: likewise
29078 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29080 Check if compiler is apple cc
29082 * Makefile.in (ASFLAGS): new variable
29083 (TARGET_ASFLAGS): likewise
29084 (TARGET_MODULE_FORMAT): likewise
29085 (TARGET_APPLE_CC): likewise
29086 (OBJCONV): likewise
29087 (TARGET_IMG_CFLAGS): likewise
29088 (TARGET_CPPFLAGS): add includedir
29089 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29090 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29091 Check for linker script only if compiler isn't Apple's CC
29092 (TARGET_MODULE_FORMAT): set
29093 (TARGET_APPLE_CC): likewise
29094 (TARGET_ASFLAGS): likewise
29095 (ASFLAGS): likewise
29096 Check for objcopy only if compiler isn't Apple's CC
29097 Check for BSS symbol only if compiler isn't Apple's CC
29098 * genmk.rb: adapt nm options if we use Apple's utils
29099 * aclocal.m4 (grub_apple_cc): new test
29100 (grub_apple_target_cc): likewise
29102 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29104 Simplify sed expressions and improve awk
29106 * Makefile.in (install-local): simplify sed expression
29107 * gencmdlist.sh: likewise
29108 * genmoddep.awk: avoid adding module as a dependency of itself
29110 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29112 Add missing start symbols
29114 * boot/i386/pc/boot.S: add start
29115 * boot/i386/pc/pxeboot.S: likewise
29117 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29119 Fix wrong assumptions with grub-mkimage on EFI
29121 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
29122 (relocate_addresses): consider both r_addend and value at offset
29123 (make_mods_section): zerofill modinfo and header
29124 (convert_elf): write prefix here
29126 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29128 Use .asciz instead of .string
29130 * i386/pc/diskboot.S: use .asciz instead of .string
29131 * i386/pc/boot.S: likewise
29132 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29133 (GRUB_MOD_NAME): likewise
29135 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29139 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29140 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29141 (grub_video_setup): remove
29142 (grub_video_set_mode): new prototype
29143 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29145 (linux_vesafb_res): compile only on PCBIOS
29146 (grub_linux_boot): support gfxpayload
29147 * loader/i386/pc/xnu.c (video_hook): new function
29148 (grub_xnu_set_video): support gfxpayload
29149 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29150 (DEFAULT_VIDEO_HEIGHT): likewise
29151 (DEFAULT_VIDEO_FLAGS): likewise
29152 (DEFAULT_VIDEO_MODE): new definition
29153 (video_hook): new function
29154 (grub_gfxterm_init): use grub_video_set_mode
29155 * util/grub.d/30_os-prober.in: remove explicit modesetting before
29157 * video/video.c (grub_video_setup): removed
29158 (grub_video_set_mode): new function based on grub_gfxterm_init and
29161 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29163 Avoid calling biosdisk in drivemap
29165 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29166 (revparse_biosdisk): likewise
29167 (list_mappings): derive name from id directly
29168 (grub_cmd_drivemap): use tryparse_diskstring
29170 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29174 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29175 (grub_lexer_param): add tokenonhold
29176 (grub_script_create_cmdline): remove cmdline. All callers updated
29177 (grub_script_function_create): make functionname
29178 grub_script_arg. All callers updated
29179 (grub_script_execute_argument_to_string): new prototype
29180 * kern/parser.c (state_transitions): reorder
29181 (grub_parser_cmdline_state): fix a bug and make more compact
29182 * script/sh/execute.c (grub_script_execute_argument_to_string):
29184 (grub_script_execute_cmdline): use new format
29185 * script/sh/function.c (grub_script_function_create): make functionname
29186 grub_script_arg. All callers updated
29187 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
29188 (grub_script_yylex): remove
29189 (grub_script_yylex2): renamed to ...
29190 (grub_script_yylex): ...renamed
29191 parse the expressions like a${b}c
29192 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29193 (GRUB_PARSER_TOKEN_VAR): remove
29194 (GRUB_PARSER_TOKEN_NAME): likewise
29195 ("if"): declare as typeless
29196 ("while"): likewise
29197 ("function"): likewise
29202 (argument): likewise
29203 (script): accept empty scripts and make exit on error
29204 (arguments): use GRUB_PARSER_TOKEN_ARG
29205 (function): likewise
29206 (command): move error handling to script
29207 (menuentry): move grub_script_lexer_ref before
29208 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
29209 argument. All callers updated
29211 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29213 Prevent GRUB from probing floppies during boot.
29215 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29216 * commands/search.c (options): Add --no-floppy.
29217 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29218 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29219 --no-floppy when searching for UUIDs.
29221 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29223 Simplify the code duplication in commands/search.c.
29225 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29226 (search_fs): ... this. Update all users.
29228 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
29230 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29232 2009-05-28 Pavel Roskin <proski@gnu.org>
29234 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29235 Remove the original symlink explicitly.
29237 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29238 just one slash. That's how grub_fshelp_find_file() does it.
29240 2009-05-26 Pavel Roskin <proski@gnu.org>
29242 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29245 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29248 2009-05-25 Christian Franke <franke@computer.org>
29250 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29252 (grub_atapi_identify): Add wait after drive select.
29253 (grub_ata_identify): Do more strict status register check before
29254 calling grub_atapi_identify (). Suppress error message if status
29255 register is 0x00 after command failure. Add status register
29256 check after PIO read to avoid bogus identify due to stuck DRQ.
29257 Thanks to Pavel Roskin for testing.
29258 (grub_device_initialize): Remove unsafe status register check.
29259 Thanks to 'phcoder' for problem report and patch.
29260 Prevent sign extension in debug message.
29262 2009-05-23 Colin D Bennett <colin@gibibit.com>
29264 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29265 definition file, and functions defined in `normal/menu.c' have had
29266 their prototypes moved to `include/grub/menu.h' for consistency.
29268 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29270 (grub_menu_get_entry): Likewise.
29271 (grub_menu_get_timeout): Likewise.
29272 (grub_menu_set_timeout): Likewise.
29273 (grub_menu_execute_entry): Likewise.
29274 (grub_menu_execute_with_fallback): Likewise.
29275 (grub_menu_entry_run): Likewise.
29277 * include/grub/normal.h: Re-ordered and grouped function
29278 prototypes by file that the function is defined in.
29279 (grub_menu_execute_callback): Removed; moved to menu.h.
29280 (grub_menu_get_entry): Likewise.
29281 (grub_menu_get_timeout): Likewise.
29282 (grub_menu_set_timeout): Likewise.
29283 (grub_menu_execute_entry): Likewise.
29284 (grub_menu_execute_with_fallback): Likewise.
29285 (grub_menu_entry_run): Likewise.
29286 (grub_menu_addentry): Renamed from this ...
29287 (grub_normal_add_menu_entry): ... to this.
29289 * normal/main.c (grub_menu_addentry): Renamed from this ...
29290 (grub_normal_add_menu_entry): ... to this.
29292 * script/sh/execute.c (grub_script_execute_menuentry): Update
29293 reference to renamed grub_menu_addentry function.
29295 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
29297 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29299 2009-05-22 Pavel Roskin <proski@gnu.org>
29301 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29302 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29303 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29304 compiling for the i386 targets, but not for the utilities.
29306 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29308 (grub_root_drive): Likewise.
29309 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29311 (grub_root_drive): Change size to byte.
29312 (grub_start_addr): Remove.
29313 (grub_end_addr): Likewise.
29314 (grub_apm_bios_info): Likewise.
29316 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
29318 * normal/i386: Remove.
29319 * normal/powerpc: Likewise.
29320 * normal/sparc64: Likewise.
29321 * normal/x86_64: Likewise.
29323 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29325 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
29326 * loader/i386/linux_trampoline.S: Fix indentation
29327 * loader/i386/xnu_helper.S: Likewise
29329 2009-05-18 Colin D Bennett <colin@gibibit.com>
29331 Display error messages when parsing a Lua statement fails.
29332 Previously, executing a syntactically invalid statement like
29333 ")foo" or "bar;" would silently fail.
29335 * script/lua/grub_main.c (handle_lua_error): New function.
29336 (grub_lua_parse_line): Improved reporting of Lua parser and
29339 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29341 Remove -Werror which causes build to fail on some systems
29343 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29344 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29345 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
29347 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29349 trampoline for linux on 64-bit platform
29351 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29352 loader/i386/efi/linux_trampoline.S
29353 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
29355 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29357 * loader/i386/linux_trampoline.S: moved here
29358 * loader/i386/efi/linux.c (allocate_pages): reserve space for
29360 (jumpvector): removed
29361 (grub_linux_trampoline_start): new declaration
29362 (grub_linux_trampoline_end): likewise
29363 (grub_linux_boot): use trampoline when on 64-bit platform
29364 * loader/i386/linux.c: likewise
29366 2009-05-16 Pavel Roskin <proski@gnu.org>
29368 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
29369 const to avoid a warning.
29370 (grub_lua_setenv): Likewise.
29371 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
29372 lmsg to fix a warning.
29374 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
29376 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
29377 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29378 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
29379 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29380 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29381 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29382 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29383 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29385 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
29387 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
29389 2009-05-16 Bean <bean123ch@gmail.com>
29391 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
29392 (lua_mod_SOURCES): New variable.
29393 (lua_mod_CFLAGS): Likewise.
29394 (lua_mod_LDFLAGS): Likewise.
29396 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
29397 (setjmp_mod_SOURCES): New variable.
29398 (setjmp_mod_CFLAGS): Likewise.
29399 (setjmp_LDFLAGS): Likewise.
29401 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
29402 (setjmp_mod_SOURCES): New variable.
29403 (setjmp_mod_CFLAGS): Likewise.
29404 (setjmp_LDFLAGS): Likewise.
29406 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29407 (setjmp_mod_SOURCES): New variable.
29408 (setjmp_mod_CFLAGS): Likewise.
29409 (setjmp_LDFLAGS): Likewise.
29411 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29412 (setjmp_mod_SOURCES): New variable.
29413 (setjmp_mod_CFLAGS): Likewise.
29414 (setjmp_LDFLAGS): Likewise.
29416 * normal/i386/setjmp.S: Moved from here ...
29417 * lib/i386/setjmp.S: ... Moved here
29418 * normal/x86_64/setjmp.S: Moved from here ...
29419 * lib/x86_64/setjmp.S: ... Moved here
29420 * normal/powerpc/setjmp.S: Moved from here ...
29421 * lib/powerpc/setjmp.S: ... Moved here
29422 * normal/sparc64/setjmp.S: Moved from here ...
29423 * lib/sparc64/setjmp.S: ... Moved here
29425 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
29426 returns_twice in mingw.
29428 * script/lua/grub_lib.c: New file.
29429 * script/lua/grub_lib.h: Likewise.
29430 * script/lua/grub_lua.h: Likewise.
29431 * script/lua/grub_main.c: Likewise.
29432 * script/lua/lapi.c: Likewise.
29433 * script/lua/lapi.h: Likewise.
29434 * script/lua/lauxlib.c: Likewise.
29435 * script/lua/lauxlib.h: Likewise.
29436 * script/lua/lbaselib.c: Likewise.
29437 * script/lua/lcode.c: Likewise.
29438 * script/lua/lcode.h: Likewise.
29439 * script/lua/ldblib.c: Likewise.
29440 * script/lua/ldebug.c: Likewise.
29441 * script/lua/ldebug.h: Likewise.
29442 * script/lua/ldo.c: Likewise.
29443 * script/lua/ldo.h: Likewise.
29444 * script/lua/ldump.c: Likewise.
29445 * script/lua/lfunc.c: Likewise.
29446 * script/lua/lfunc.h: Likewise.
29447 * script/lua/lgc.c: Likewise.
29448 * script/lua/lgc.h: Likewise.
29449 * script/lua/linit.c: Likewise.
29450 * script/lua/liolib.c: Likewise.
29451 * script/lua/llex.c: Likewise.
29452 * script/lua/llex.h: Likewise.
29453 * script/lua/llimits.h: Likewise.
29454 * script/lua/lmathlib.c: Likewise.
29455 * script/lua/lmem.c: Likewise.
29456 * script/lua/lmem.h: Likewise.
29457 * script/lua/loadlib.c: Likewise.
29458 * script/lua/lobject.c: Likewise.
29459 * script/lua/lobject.h: Likewise.
29460 * script/lua/lopcodes.c: Likewise.
29461 * script/lua/lopcodes.h: Likewise.
29462 * script/lua/loslib.c: Likewise.
29463 * script/lua/lparser.c: Likewise.
29464 * script/lua/lparser.h: Likewise.
29465 * script/lua/lstate.c: Likewise.
29466 * script/lua/lstate.h: Likewise.
29467 * script/lua/lstring.c: Likewise.
29468 * script/lua/lstring.h: Likewise.
29469 * script/lua/lstrlib.c: Likewise.
29470 * script/lua/ltable.c: Likewise.
29471 * script/lua/ltable.h: Likewise.
29472 * script/lua/ltablib.c: Likewise.
29473 * script/lua/ltm.c: Likewise.
29474 * script/lua/ltm.h: Likewise.
29475 * script/lua/lua.h: Likewise.
29476 * script/lua/luaconf.h: Likewise.
29477 * script/lua/lualib.h: Likewise.
29478 * script/lua/lundump.c: Likewise.
29479 * script/lua/lundump.h: Likewise.
29480 * script/lua/lvm.c: Likewise.
29481 * script/lua/lvm.h: Likewise.
29482 * script/lua/lzio.c: Likewise.
29483 * script/lua/lzio.h: Likewise.
29485 2009-05-16 Bean <bean123ch@gmail.com>
29487 * include/grub/kernel.h (grub_module_header_types): Add type
29490 * kern/main.c (grub_load_config): New function.
29491 (grub_main): Call grub_load_config to read boot config.
29493 * grub-mkimage (generate_image): New parameter config_path.
29494 (options): New option --config.
29495 (main): Parse --config option, and pass it to generate_image.
29497 2009-05-14 Christian Franke <franke@computer.org>
29499 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
29500 This fixes build on Cygwin.
29502 2009-05-14 Pavel Roskin <proski@gnu.org>
29504 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
29505 jump. This saves two bytes, so the typical case of 2 swapped
29506 drives would fit 32 bytes.
29508 2009-05-13 Pavel Roskin <proski@gnu.org>
29510 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
29511 grub_uint32_t to avoid a warning.
29513 * loader/i386/linux.c (allocate_pages): When assigning
29514 real_mode_mem, cast through grub_size_t to fix a warning. The
29515 code already makes sure that the value would fit a pointer.
29516 (grub_linux_setup_video): Cast render_target->data to
29517 grub_size_t to fix a warning.
29519 2009-05-13 Javier Martín <lordhabbit@gmail.com>
29521 * commands/i386/pc/drivemap.c: New file - implement drivemap
29523 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
29524 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
29526 2009-05-13 Pavel Roskin <proski@gnu.org>
29528 * util/i386/pc/grub-setup.c (setup): Remove unused variable
29529 embedding_area_exists.
29531 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
29533 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
29534 it easier to understand / work with.
29535 Improve warning messages for cases where there's no embedding area,
29536 or when it is too small (or core.img too large).
29538 2009-05-13 Pavel Roskin <proski@gnu.org>
29540 * loader/i386/pc/multiboot2.c: Add necessary includes for
29541 grub_multiboot2_real_boot().
29543 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
29544 PX record is always little-endian. We only need the lower 2
29547 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
29548 facilitate code reuse.
29549 (grub_cpio_mount): Use "struct head", not a char buffer. This
29550 fixes a warning reported by gcc 4.4.
29552 * kernel/disk.c (grub_disk_read): Use void pointer for the
29554 (grub_disk_write): Use const void pointer for the buffer.
29555 Adjust all callers. Remove unnecessary casts.
29557 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
29559 * util/i386/pc/grub-install.in: Update copyright year.
29561 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
29565 * commands/gptsync.c: new file
29566 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
29567 (gptsync_mod_SOURCES): new variable
29568 (gptsync_mod_CFLAGS): likewise
29569 (gptsync_mod_LDFLAGS): likewise
29570 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
29572 (GRUB_PC_PARTITION_TYPE_HFS): likewise
29573 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
29574 * conf/i386-ieee1275.rmk: likewise
29575 * conf/i386-pc.rmk: likewise
29576 * conf/powerpc-ieee1275.rmk: likewise
29578 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
29582 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
29583 (grub_dl_ref): likewise
29585 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
29587 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
29588 split in two functions (one for msdos and one for gpt).
29590 2009-05-08 Pavel Roskin <proski@gnu.org>
29592 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
29595 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
29596 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
29597 Initialize them with -1. Add sanity check for bad1. Eliminate
29600 2009-05-08 David S. Miller <davem@davemloft.net>
29602 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
29604 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
29606 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
29609 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
29611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29612 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
29614 2009-05-05 David S. Miller <davem@davemloft.net>
29616 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
29618 2009-05-05 Pavel Roskin <proski@gnu.org>
29620 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
29621 of grub_dl_ref() and grub_dl_unref().
29622 * commands/parttool.c: Remove preprocessor conditionals around
29623 grub_dl_ref() and grub_dl_unref().
29624 * fs/affs.c: Likewise.
29625 * fs/afs.c: Likewise.
29626 * fs/cpio.c: Likewise.
29627 * fs/ext2.c: Likewise.
29628 * fs/fat.c: Likewise.
29629 * fs/hfs.c: Likewise.
29630 * fs/hfsplus.c: Likewise.
29631 * fs/iso9660.c: Likewise.
29632 * fs/jfs.c: Likewise.
29633 * fs/minix.c: Likewise.
29634 * fs/ntfs.c: Likewise.
29635 * fs/reiserfs.c: Likewise.
29636 * fs/sfs.c: Likewise.
29637 * fs/udf.c: Likewise.
29638 * fs/ufs.c: Likewise.
29639 * fs/xfs.c: Likewise.
29640 * include/grub/dl.h: Likewise.
29641 * loader/xnu.c: Likewise.
29643 2009-05-04 Pavel Roskin <proski@gnu.org>
29645 * commands/acpi.c: Remove unused variable my_mod.
29646 * partmap/amiga.c: Likewise.
29647 * partmap/apple.c: Likewise.
29648 * partmap/gpt.c: Likewise.
29649 * partmap/pc.c: Likewise.
29650 * partmap/sun.c: Likewise.
29651 * term/gfxterm.c: Likewise.
29652 * term/i386/pc/vesafb.c: Likewise.
29653 * term/i386/pc/vga.c: Likewise.
29655 2009-05-04 David S. Miller <davem@davemloft.net>
29657 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
29658 pointer args to grub_ieee1275_get_property().
29660 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
29662 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
29663 devices, and do not traverse down under controller nodes.
29665 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
29666 (grub_ofdisk_open): Use it to un-escape "," characters.
29667 * kern/disk.c (find_part_sep): New.
29668 (grub_disk_open): Use it to find the first non-escaped ','
29669 character in the disk name.
29670 * util/ieee1275/devicemap.c (escape_of_path): New.
29671 (grub_util_emit_devicemap_entry): Use it.
29672 * util/sparc64/ieee1275/grub-install.in: Update script to
29673 strip partition specifiers properly by not triggering on
29674 '\' escaped ',' characters.
29676 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29678 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
29680 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
29682 (linux_vesafb_modes): Add a lot of additional modes to the list (based
29683 on documentation from Wikipedia).
29685 2009-05-04 Pavel Roskin <proski@gnu.org>
29687 * disk/ata.c: Spelling fixes.
29688 * disk/raid.c: Likewise.
29689 * disk/usbms.c: Likewise.
29690 * disk/dmraid_nvidia.c: Likewise.
29691 * kern/ieee1275/openfw.c: Likewise.
29692 * kern/ieee1275/init.c: Likewise.
29693 * kern/ieee1275/cmain.c: Likewise.
29694 * boot/i386/pc/cdboot.S: Likewise.
29695 * video/readers/png.c: Likewise.
29696 * video/i386/pc/vbe.c: Likewise.
29697 * fs/udf.c: Likewise.
29698 * fs/hfs.c: Likewise.
29699 * fs/reiserfs.c: Likewise.
29700 * efiemu/runtime/efiemu.c: Likewise.
29701 * efiemu/main.c: Likewise.
29702 * efiemu/mm.c: Likewise.
29703 * include/grub/elf.h: Likewise.
29704 * include/grub/xnu.h: Likewise.
29705 * include/grub/usbdesc.h: Likewise.
29706 * include/grub/usb.h: Likewise.
29707 * include/grub/script_sh.h: Likewise.
29708 * include/grub/lib/LzmaEnc.h: Likewise.
29709 * include/grub/efiemu/efiemu.h: Likewise.
29710 * include/grub/command.h: Likewise.
29711 * normal/menu.c: Likewise.
29712 * normal/main.c: Likewise.
29713 * normal/datetime.c: Likewise.
29714 * bus/usb/uhci.c: Likewise.
29715 * mmap/i386/uppermem.c: Likewise.
29716 * mmap/mmap.c: Likewise.
29717 * commands/acpi.c: Likewise.
29718 * commands/test.c: Likewise.
29719 * partmap/apple.c: Likewise.
29720 * font/font.c: Likewise.
29721 * loader/sparc64/ieee1275/linux.c: Likewise.
29722 * loader/macho.c: Likewise.
29723 * loader/i386/bsd_trampoline.S: Likewise.
29724 * loader/i386/bsd.c: Likewise.
29725 * loader/xnu.c: Likewise.
29726 * term/i386/pc/vesafb.c: Likewise.
29727 * term/usb_keyboard.c: Likewise.
29728 * util/resolve.c: Likewise.
29729 * util/getroot.c: Likewise.
29731 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
29733 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
29735 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29737 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
29740 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29742 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
29743 parameter only available on BIOS.
29745 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29747 Removed wrong semicolon in declaration
29749 * grub/misc.h (grub_dprintf): remove semicolon
29751 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29753 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
29754 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
29755 is done by grub_cmd_linux() now).
29756 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
29757 restore video to text mode.
29758 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
29759 indicates lack of "vga=" parameter. "vga=0" is mapped to
29760 `GRUB_LINUX_VID_MODE_NORMAL'.
29762 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
29764 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
29765 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
29766 and `normal/script.c'. Add `kern/rescue_reader.c',
29767 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
29768 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
29769 `grub_script.tab.c'.
29771 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29772 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29774 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29775 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29777 * Makefile.in: Remove duplicated 2008 in Copyright line.
29779 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29781 * util/misc.c (grub_util_warn): New function. Emits a warning
29783 * include/grub/util/misc.h (grub_util_warn): New declaration.
29785 * util/i386/pc/grub-install.in: Understand --force and pass it down
29788 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
29790 (setup): Improve error messages and add warnings when requested to
29791 install in odd layouts. Refuse to install using blocklists unless
29794 2009-05-04 martin f. krafft <madduck@madduck.net>
29796 * disk/raid.c (grub_raid_scan_device): Improve debug message.
29798 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29800 Updated copyright year
29802 * fs/hfsplus.c: updated copyright year
29804 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29808 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
29809 in the space previously used by unused3
29810 (grub_hfsplus_uuid): new function
29811 (grub_hfsplus_fs): added uuid field
29813 2009-05-03 Pavel Roskin <proski@gnu.org>
29815 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
29816 suppress warnings. It's no longer needed.
29817 * disk/host.c: Likewise.
29818 * disk/ata_pthru.c: Likewise.
29819 * disk/loopback.c: Likewise.
29820 * hook/datehook.c: Likewise.
29821 * parttool/pcpart.c: Likewise.
29822 * fs/i386/pc/pxe.c: Likewise.
29823 * fs/ntfscomp.c: Likewise.
29824 * efiemu/main.c: Likewise.
29825 * mmap/mmap.c: Likewise.
29826 * commands/crc.c: Likewise.
29827 * commands/hexdump.c: Likewise.
29828 * commands/hdparm.c: Likewise.
29829 * commands/acpi.c: Likewise.
29830 * commands/echo.c: Likewise.
29831 * commands/minicmd.c: Likewise.
29832 * commands/blocklist.c: Likewise.
29833 * commands/memrw.c: Likewise.
29834 * commands/loadenv.c: Likewise.
29835 * commands/usbtest.c: Likewise.
29836 * commands/lsmmap.c: Likewise.
29837 * commands/boot.c: Likewise.
29838 * commands/parttool.c: Likewise.
29839 * commands/configfile.c: Likewise.
29840 * commands/search.c: Likewise.
29841 * commands/ieee1275/suspend.c: Likewise.
29842 * commands/cat.c: Likewise.
29843 * commands/i386/pc/pxecmd.c: Likewise.
29844 * commands/i386/pc/play.c: Likewise.
29845 * commands/i386/pc/halt.c: Likewise.
29846 * commands/i386/pc/vbeinfo.c: Likewise.
29847 * commands/i386/pc/vbetest.c: Likewise.
29848 * commands/lspci.c: Likewise.
29849 * commands/date.c: Likewise.
29850 * commands/handler.c: Likewise.
29851 * commands/ls.c: Likewise.
29852 * commands/test.c: Likewise.
29853 * commands/cmp.c: Likewise.
29854 * commands/efi/loadbios.c: Likewise.
29855 * commands/efi/fixvideo.c: Likewise.
29856 * commands/halt.c: Likewise.
29857 * commands/help.c: Likewise.
29858 * commands/reboot.c: Likewise.
29859 * hello/hello.c: Likewise.
29860 * script/sh/main.c: Likewise.
29861 * loader/xnu.c: Likewise.
29862 * term/terminfo.c: Likewise.
29863 * term/i386/pc/serial.c: Likewise.
29864 * term/usb_keyboard.c: Likewise.
29866 2009-05-03 David S. Miller <davem@davemloft.net>
29868 * normal/menu.c: Include grub/parser.h
29870 2009-05-03 Pavel Roskin <proski@gnu.org>
29872 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
29874 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
29875 Suggested by Javier Martín <lordhabbit@gmail.com>
29877 * util/i386/pc/grub-mkrescue.in: Allow for the case when
29878 efiemu??.o doesn't exist.
29879 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
29882 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
29884 FreeBSD 64-bit support
29886 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
29887 and loader/i386/bsd_trampoline.S
29888 (bsd_mod_ASFLAGS): new variable
29889 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
29890 (FREEBSD_MODTYPE_KERNEL64): likewise
29891 (grub_bsd64_trampoline_start): likewise
29892 (grub_bsd64_trampoline_end): likewise
29893 (grub_bsd64_trampoline_selfjump): likewise
29894 (grub_bsd64_trampoline_gdt): likewise
29895 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
29896 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
29897 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
29898 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
29899 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
29901 * loader/i386/bsd_pagetable.c: new file
29902 * loader/i386/bsd_trampoline.S: likewise
29903 * loader/i386/bsd.c (ALIGN_QWORD): new macro
29904 (ALIGN_VAR): likewise
29905 (entry_hi): new variable
29906 (kern_end_mdofs): likewise
29907 (is_64bit): likewise
29908 (grub_freebsd_add_meta): use ALIGN_VAR
29909 (grub_e820_mmap): new declaration
29910 (grub_freebsd_add_mmap): new function
29911 (grub_freebsd_add_meta_module): support 64 bit kernels
29912 (grub_freebsd_list_modules): use ALIGN_VAR
29913 (gdt_descriptor): new declaration
29914 (grub_freebsd_boot): support 64 bit kernels
29915 (grub_bsd_elf64_hook): new function
29916 (grub_bsd_load_elf): support elf64
29918 2009-05-03 Bean <bean123ch@gmail.com>
29920 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
29921 after we get the result of if statement.
29923 2009-05-03 Bean <bean123ch@gmail.com>
29925 * Makefile.in (enable_efiemu): New variable.
29927 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
29929 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
29931 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
29932 path, add -mno-red-zone option.
29933 (efiemu64_s.o): Likewise.
29934 (efiemu64.o): Use macro $^ for source file.
29936 * configure.ac (--enable-efiemu): New option.
29938 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
29942 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
29943 (pkglib_MODULES): add xnu.mod
29944 (xnu_mod_SOURCES): new variable
29945 (xnu_mod_CFLAGS): likewise
29946 (xnu_mod_LDFLAGS): likewise
29947 (xnu_mod_ASFLAGS): likewise
29948 * conf/i386-pc.rmk: likewise
29949 * conf/x86_64-efi.rmk: likewise
29950 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
29952 * include/grub/i386/macho.h: new file
29953 * include/grub/i386/xnu.h: likewise
29954 * include/grub/macho.h: likewise
29955 * include/grub/machoload.h: likewise
29956 * include/grub/x86_64/macho.h: likewise
29957 * include/grub/x86_64/xnu.h: likewise
29958 * include/grub/xnu.h: likewise
29959 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
29960 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
29961 * loader/i386/efi/xnu.c: new file
29962 * loader/i386/pc/xnu.c: likewise
29963 * loader/i386/xnu.c: likewise
29964 * loader/i386/xnu_helper.S: likewise
29965 * loader/macho.c: likewise
29966 * loader/xnu.c: likewise
29967 * loader/xnu_resume.c: likewise
29968 * util/grub-dumpdevtree: likewise
29969 * include/grub/i386/pit.h: include grub/err.h
29970 (grub_pit_wait): export
29971 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
29973 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29977 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
29978 _linux_efi, linux_efi.
29979 new files in grub-emu
29980 new targets efiemu32.o and efiemu64.o
29981 * loader/linux_normal_efiemu.c: likewise
29982 * loader/i386/efi/linux.c: added preliminary efiemu support
29983 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
29985 * include/grub/autoefi.h: new file
29986 * include/grub/i386/efiemu.h: likewise
29987 * include/grub/i386/pc/efiemu.h: likewise
29988 * include/grub/efi/api.h: add LL suffix when necessary
29989 new definitions relating to tables
29990 * include/grub/efiemu/efiemu.h: new file
29991 * include/grub/efiemu/runtime.h: likewise
29992 * efiemu/prepare.c: likewise
29993 * efiemu/loadcore_common.c: likewise
29994 * efiemu/loadcore64.c: likewise
29995 * efiemu/runtime/efiemu.sh: likewise
29996 * efiemu/runtime/efiemu.S: likewise
29997 * efiemu/runtime/efiemu.c: likewise
29998 * efiemu/runtime/config.h: likewise
29999 * efiemu/prepare32.c: likewise
30000 * efiemu/main.c: likewise
30001 * efiemu/modules/pnvram.c: likewise
30002 * efiemu/modules/i386: likewise
30003 * efiemu/modules/i386/pc: likewise
30004 * efiemu/modules/acpi.c: likewise
30005 * efiemu/i386/pc/cfgtables.c: likewise
30006 * efiemu/i386/loadcore64.c: likewise
30007 * efiemu/i386/loadcore32.c: likewise
30008 * efiemu/prepare64.c: likewise
30009 * efiemu/loadcore.c: likewise
30010 * efiemu/symbols.c: likewise
30011 * efiemu/mm.c: likewise
30012 * efiemu/loadcore32.c: likewise
30014 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30018 * commands/acpi.c: new file
30019 * commands/i386/pc/acpi.c: likewise
30020 * commands/efi/acpi.c: likewise
30021 * include/grub/acpi.h: likewise
30022 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30023 (acpi_mod_SOURCES): new variable
30024 (acpi_mod_CFLAGS): likewise
30025 (acpi_mod_LDFLAGS): likewise
30026 * conf/i386-efi.rmk: likewise
30027 * conf/x86_64-efi.rmk: likewise
30029 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30031 Missing part from mmap patch
30033 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30034 (grub_mmap_unregister)
30035 (grub_mmap_free_and_unregister): use grub_mmap_register
30037 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30041 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30042 * loader/i386/linux.c (find_mmap_size): likewise
30043 (allocate_pages): likewise
30044 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30045 (grub_fill_multiboot_mmap): likewise
30046 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30047 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30048 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30049 (OPENBSD_MMAP_RESERVED): likewise
30050 * include/grub/i386/pc/memory.h: include grub/memory.h
30051 (grub_lower_mem): removed
30052 (grub_upper_mem): likewise
30053 (GRUB_MACHINE_MEMORY_ACPI): new definition
30054 (GRUB_MACHINE_MEMORY_NVS): likewise
30055 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30056 (GRUB_MACHINE_MEMORY_HOLE): likewise
30057 (grub_machine_mmap_register): likewise
30058 (grub_machine_mmap_unregister): likewise
30059 (grub_machine_get_upper): likewise
30060 (grub_machine_get_lower): likewise
30061 (grub_machine_get_post64): likewise
30062 * include/grub/i386/efi/memory.h: new file
30063 * include/grub/x86_64/efi/memory.h: likewise
30064 * include/grub/efi/memory.h: likewise
30065 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30066 (mmap_mod_SOURCES): new variable
30067 (mmap_mod_LDFLAGS): likewise
30068 (mmap_mod_ASFLAGS): likewise
30069 * conf/i386-coreboot.rmk: likewise
30070 * conf/i386-ieee1275.rmk: likewise
30071 * conf/i386-efi.rmk: likewise
30072 * conf/x86_64-efi.rmk: likewise
30073 * include/grub/types.h (UINT_TO_PTR): new macro
30074 (PTR_TO_UINT32): likewise
30075 (PTR_TO_UINT64): likewise
30076 * include/grub/memory.h: new file
30077 * mmap/i386/pc/mmap.c: likewise
30078 * mmap/i386/pc/mmap_helper.S: likewise
30079 * mmap/i386/uppermem.c: likewise
30080 * mmap/mmap.c: likewise
30081 * mmap/efi/mmap.c: likewise
30082 * kern/i386/coreboot/init.c (grub_machine_init): don't use
30084 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30085 (grub_upper_mem): likewise
30086 (grub_machine_init): don't use grub_upper_mem,
30087 make grub_lower_mem local
30088 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30089 grub_mmap_iterate and grub_mmap_get_upper
30090 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30092 2009-05-02 Bean <bean123ch@gmail.com>
30094 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30095 script/sh/parser.y.
30096 (pkglib_MODULES): Add normal.mod and sh.mod.
30097 (normal_SOURCES): New variable.
30098 (normal_mod_CFLAGS): Likewise.
30099 (normal_mod_LDFLAGS): Likewise.
30100 (sh_mod_SOURCES): Likewise.
30101 (sh_mod_CFLAGS): Likewise.
30102 (sh_mod_LDFLAGS): Likewise.
30104 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30105 script/sh/lexer.c_DEPENDENCIES.
30106 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30107 kern/rescue_reader.c and kern/rescue_parser.c.
30108 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30109 (grub_emu_SOURCES): Change source files.
30110 (pkglib_MODULES): Remove normal.mod.
30111 (normal_SOURCES): Removed.
30112 (normal_mod_CFLAGS): Likewise.
30113 (normal_mod_LDFLAGS): Likewise.
30114 * conf/i386-coreboot.rmk: Likewise.
30115 * conf/i386-efi.rmk: Likewise.
30116 * conf/i386-ieee1276.rmk: Likewise.
30117 * conf/powerpc-ieee1275.rmk: Likewise.
30118 * conf/sparc64-ieee1275.rmk: Likewise.
30119 * conf/x86_64-efi.rmk: Likewise.
30121 * include/grub/command.h (grub_command_execute): New inline function.
30123 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30125 * include/grub/normal.h: Remove <grub/setjmp.h>.
30126 (grub_fs_module_list): Moved to normal/autofs.c.
30127 (grub_exit_env): Removed.
30128 (grub_command_execute): Likewise.
30129 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30131 (read_command_list): New function declaration.
30132 (read_fs_list): Likewise.
30134 * include/parser.h: Include <grub/reader.h>.
30135 (grub_parser_split_cmdline): Change type of getline parameter.
30136 (grub_parser): New structure.
30137 (grub_parser_class): New variable.
30138 (grub_parser_execute): New function declaration.
30139 (grub_register_rescue_parser): Likewise.
30140 (grub_parser_register): New inline function.
30141 (grub_parser_unregister): Likewise.
30142 (grub_parser_get_current): Likewise.
30143 (grub_parser_set_current): Likewise.
30145 * include/grub/reader.h: New file.
30146 * kern/reader.c: Likewise.
30147 * kern/rescue_parser.c: Likewise.
30148 * kern/rescue_reader.c: Likewise.
30149 * normal/autofs.c: Likewise.
30150 * normal/dyncmd.c: Likewise.
30152 * include/grub/rescue.h: Removed.
30153 * normal/command.h: Likewise.
30155 * include/grub/script.h: Moved to ...
30156 * include/grub/script_sh.h: ... Moved here.
30157 * normal/execute.c: Moved to ...
30158 * script/sh/execute.c: ... Moved here.
30159 * normal/function.c: Moved to ...
30160 * script/sh/function.c: ... Moved here.
30161 * normal/lexer.c: Moved to ...
30162 * script/sh/lexer.c: ... Moved here.
30163 * normal/parser.y: Moved to ...
30164 * script/sh/parser.y: ... Moved here.
30165 * normal/script.c: Moved to ...
30166 * script/sh/script.c: ... Moved here.
30168 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30170 (grub_exit_env): Removed.
30171 (fs_module_list): Moved to normal/autofs.c.
30172 (grub_file_getline): Don't handle comment here.
30173 (free_menu): Skip removed field entry->commands.
30174 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30176 (read_config_file): Removed nested parameter, change getline function.
30177 (grub_enter_normal_mode): Removed.
30178 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30179 (read_command_list): Likewise.
30180 (autoload_fs_module): Moved to normal/autofs.c.
30181 (read_fs_list): Likewise.
30182 (reader_nested): New variable.
30183 (grub_normal_execute): Run parser.sh to switch to sh parser.
30184 (grub_cmd_rescue): Removed.
30185 (cmd_normal): Removed.
30186 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30188 (grub_cmdline_run): New function.
30189 (grub_normal_reader_init): Likewise.
30190 (grub_normal_read_line): Likewise.
30191 (grub_env_write_pager): Likewise.
30192 (cmdline): New variable.
30193 (grub_normal_reader): Likewise.
30194 (GRUB_MOD_INIT): Register normal reader and set as current, register
30195 pager hook, register normal command with grub_register_command_prio,
30196 so that it won't show up in command.lst.
30197 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30198 grub_fs_autoload_hook.
30200 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30201 (grub_menu_execute_entry): Replace grub_script_execute with
30202 grub_parser_execute, change parameter to grub_command_execute.
30204 * normal/menu_text.c: Remove <grub/script.h>.
30206 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30207 and <grub/parser.h>.
30208 (run): Change editor_getline to use new parser interface. Change
30209 parameter to grub_command_execute.
30211 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30212 <grub/reader.h> and <grub/parser.h>.
30213 (grub_load_normal_mode): Execute normal command.
30214 (grub_main): Call grub_register_core_commands,
30215 grub_register_rescue_parser and grub_register_rescue_reader, use
30216 grub_reader_loop to enter input loop.
30218 * kern/parser.c (grub_parser_split_cmdline): Change type of
30220 (grub_parser_class): New variable.
30221 (grub_parser_execute): New function.
30223 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30224 * loader/multiboot2.c: Likewise.
30225 * loader/sparc64/ieee1275/linux.c: Likewise.
30227 * util/grub-emu.c (read_command_list): New dummy function.
30229 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30231 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30232 count to 16 for CCISS and IDA.
30234 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30236 * normal/menu_text.c (grub_wait_after_message): Print a newline
30237 after waiting for user input.
30239 * loader/i386/linux.c: Include `<grub/normal.h>'.
30240 (grub_cmd_linux): Improve the error message about `ask' mode, by
30241 waiting for user input so it's not missed (we can do this, since
30242 user requested interaction).
30244 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30246 Added missing lst to grub-mkrescue
30248 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30249 and ${input_dir}/parttool.lst
30251 2009-04-30 David S. Miller <davem@davemloft.net>
30253 * util/hostdisk.c (device_is_wholedisk): New function.
30254 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30255 zero only if device_is_wholedisk() returns true.
30257 * util/hostdisk.c (convert_system_partition_to_system_disk):
30258 Handle virtual disk devices named /dev/vdiskX as found on sparc
30261 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30262 lettered partition specifier is found, convert to numbered.
30264 2009-04-29 David S. Miller <davem@davemloft.net>
30266 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30267 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30269 * normal/command.c: Add missing newline at end of file.
30271 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30273 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30274 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30275 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30276 ihandles have a 32-bit type but need to be stored in a "void *".
30278 2009-04-28 Pavel Roskin <proski@gnu.org>
30280 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30281 not disk. Adjust all dependencies.
30282 (grub_fs_uuid_close): Use grub_device_close(), not
30285 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30286 parent's partition, don't copy it by reference, as it gets freed
30289 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30291 Preboot hooks support
30293 * commands/boot.c (struct grub_preboot_t): new declaration
30294 (preboots_head): new variable
30295 (preboots_tail): likewise
30296 (grub_loader_register_preboot_hook): new function
30297 (grub_loader_unregister_preboot_hook): likewise
30298 (grub_loader_set): launch preboot hooks
30299 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30300 (grub_loader_register_preboot_hook): new declaration
30301 (grub_loader_unregister_preboot_hook): likewise
30303 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30307 * disk/scsi.c (grub_scsi_open): added missing cast when
30308 calling grub_dprintf
30310 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30312 Bug and warning fixes
30314 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
30316 * commands/test.c (test_parse): fixed bug with file tests and corrected
30317 declaration of find_file
30319 2009-04-26 Pavel Roskin <proski@gnu.org>
30321 * Makefile.in: Don't install empty manual pages if help2man is
30322 missing. Use help2man option for output, not shell redirection.
30324 2009-04-26 David S. Miller <davem@davemloft.net>
30326 * util/grub-mkdevicemap.c (make_device_map): Add missing
30327 NESTED_FUNC_ATTR to process_device().
30329 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30333 * commands/test.c: rewritten to use bash-like test
30335 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30337 Parttool autoloading and improvements
30339 * Makefile.in (pkglib_DATA): add parttool.lst
30340 (parttool.lst): new target
30341 * genmk.rb: generate parttool-*
30342 (CLEANFILES): add #{parttool}
30343 (PARTTOOLFILES): new variable
30344 * genparttoollist.sh: new file
30345 * parttool/pcpart.c (grub_pcpart_boot): more feedback
30346 (grub_pcpart_type): likewise
30347 * commands/parttool.c (helpmsg): new variable
30348 (grub_cmd_parttool): output help if not enough arguments are supplied
30350 (GRUB_MOD_INIT(parttool)): use helpmsg
30352 2009-04-24 David S. Miller <davem@davemloft.net>
30354 Avoiding opening same device multiple times in device iterator.
30356 * kern/device.c: (grub_device_iterate): Define struct part_ent,
30357 and use it to build a list of partitions in iterate_disk() and
30358 iterate_partition().
30360 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
30363 * disk/ieee1275/nand.c (grub_nand_iterate): Return
30364 grub_devalias_iterate() result instead of unconditional 0.
30365 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
30366 Also, capture hook return value, either directly or via
30367 grub_children_iterate(), and propagate to caller.
30368 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
30369 grub_children_iterate): Return value is now 'int' instead of
30371 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
30372 like a proper iterator, stopping when hooks return non-zero.
30373 (grub_devalias_iterate): Likewise.
30375 2009-04-23 David S. Miller <davem@davemloft.net>
30377 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
30379 2009-04-22 David S. Miller <davem@davemloft.net>
30381 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
30382 is larger than address_cells, use that value for address_cells too.
30384 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
30385 IEEE1275_MAX_PATH_LEN): Define.
30386 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
30387 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
30388 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
30389 'devtype'. Explicitly NULL terminate devalias expansion.
30391 * util/sparc64/ieee1275/misc.c: New file.
30392 * util/sparc64/ieee1275/grub-setup.c: New file.
30393 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
30394 * util/sparc64/ieee1275/grub-mkimage.c: New file.
30395 * util/sparc64/ieee1275/grub-install.in: New file.
30396 * util/ieee1275/ofpath.c: New file.
30397 * util/ieee1275/devicemap.c: New file.
30398 * util/devicemap.c: New file.
30399 * util/deviceiter.c: New file.
30400 * kern/sparc64/ieee1275/init.c: New file.
30401 * include/grub/util/ofpath.h: New file.
30402 * include/grub/util/deviceiter.h: New file.
30403 * util/grub-mkdevicemap.c: Include deviceiter.h.
30404 Implement using grub_util_emit_devicemap_entry and
30405 grub_util_iterate_devices.
30406 * conf/i386-corebook.rmk: Build util/deviceiter.c and
30407 util/devicemap.c into grub-mkdevicemap
30408 * conf/i386-efi.rmk: Likewise.
30409 * conf/i386-ieee1275.rmk: Likewise.
30410 * conf/i386-pc.rmk: Likewise.
30411 * conf/powerpc-ieee1275.rmk: Likewise.
30412 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
30413 images and installation utilities. Build kernel as image
30414 instead of as elf binary. Use common rules as much as possible.
30416 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
30418 Correct GPT definition
30420 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30423 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
30425 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
30427 2009-04-19 David S. Miller <davem@davemloft.net>
30429 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
30430 (grub_rescue_cmd_linux): Rename to...
30431 (grub_cmd_linux): and fix prototype.
30432 (grub_rescue_cmd_initrd): Rename to...
30433 (grub_cmd_initrd): and fix prototype.
30434 (cmd_linux, cmd_initrd): New.
30435 (GRUB_MOD_INIT(linux)): Use grub_register_command().
30436 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
30438 2009-04-17 Pavel Roskin <proski@gnu.org>
30440 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
30442 (grub_ohci_transfer): Likewise.
30444 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
30446 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
30447 return without a value. Fix inconsistent indentation.
30449 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
30450 match struct grub_fs.
30452 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
30453 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
30454 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30455 * commands/lspci.c (grub_lspci_iter): Likewise.
30457 2009-04-16 Bean <bean123ch@gmail.com>
30459 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
30462 2009-04-15 Pavel Roskin <proski@gnu.org>
30464 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
30465 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
30466 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
30469 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
30471 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
30472 that no multiple data or metadata areas are supported and `Unknown
30475 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
30477 Move loader out of the kernel
30479 * kern/loader.c: moved to ...
30480 * commands/boot.c: ... moved here
30481 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
30482 * commands/boot.c (grub_cmd_boot): moved here. All users updated
30483 * include/grub/kernel.h (grub_machine_fini): export
30484 * include/grub/loader.h (grub_loader_is_loaded): update declaration
30485 (grub_loader_set): likewise
30486 (grub_loader_unset): likewise
30487 (grub_loader_boot): likewise
30488 * conf/common.rmk: new module boot.mod
30489 (pkglib_MODULES): add boot.mod
30490 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
30491 (grub_emu_SOURCES): likewise
30492 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
30493 (grub_emu_SOURCES): likewise
30494 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
30495 (grub_emu_SOURCES): likewise
30496 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
30497 (grub_emu_SOURCES): likewise
30498 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
30499 (grub_emu_SOURCES): likewise
30500 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
30501 (grub_emu_SOURCES): likewise
30502 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
30503 (grub_emu_SOURCES): likewise
30505 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
30507 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
30509 * kern/misc.c (grub_itoa): Removed function
30510 (grub_ltoa): likewise
30511 (grub_vsprintf): use grub_lltoa
30513 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
30517 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
30518 * conf/i386-coreboot.rmk: likewise
30519 * conf/i386-ieee1275.rmk: likewise
30520 * conf/powerpc-ieee1275.rmk: likewise
30522 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
30524 * INSTALL: Add that `./autogen.sh' needs to be run before
30527 2009-04-14 Bean <bean123ch@gmail.com>
30529 * Makefile.in (pkglib_DATA): Add handler.lst.
30530 (handler.lst): New rule.
30532 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
30533 * conf/i386-coreboot.rmk: Likewise.
30534 * conf/i386-ieee1275.rmk: Likewise.
30535 * conf/i386-efi.rmk: Likewise.
30536 * conf/x86_64-efi.rmk: Likewise.
30537 * conf/powerpc-ieee1275.rmk: Likewise.
30538 * conf/sparc64-ieee1275.rmk: Likewise.
30540 * genhandlerlist.sh: New file.
30542 * genmk.rb: Add rules to generate handler.lst.
30544 * include/grub/normal.h (grub_file_getline): New function definition.
30545 (read_handler_list): Likewise.
30546 (free_handler_list): Likewise.
30548 * include/grub/term.h (grub_term_register_input): Add name parameter
30549 for auto generation of handler.lst.
30550 (grub_term_register_output): Likewise.
30552 * normal/handler.c: New file.
30554 * normal/main.c (get_line): Renamed to grub_file_getline.
30555 (read_config_file): Use the newly renamed grub_file_getline.
30556 (read_command_list): Likewise.
30557 (read_fs_list): Likewise.
30558 (grub_normal_execute): Call read_handler_list to parse handler.lst.
30559 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
30561 * term/efi/console.c (grub_console_init): Add name parameter for auto
30562 generation of handler.lst.
30563 * term/gfxterm.c: Likewise.
30564 * term/i386/pc/at_keyboard.c: Likewise.
30565 * term/i386/pc/console.c: Likewise.
30566 * term/i386/pc/serial.c: Likewise.
30567 * term/i386/pc/vesafb.c: Likewise.
30568 * term/i386/pc/vga.c: Likewise.
30569 * term/i386/pc/vga_text.c: Likewise.
30570 * term/ieee1275/ofconsole.c: Likewise.
30571 * term/usb_keyboard.c: Likewise.
30573 2009-04-14 Bean <bean123ch@gmail.com>
30575 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
30576 properly with null character.
30578 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
30580 * configure: Remove.
30581 * config.h.in: Likewise.
30582 * stamp-h.in: Likewise.
30583 * DISTLIST: Likewise.
30584 * conf/common.mk: Likewise.
30585 * conf/i386-coreboot.mk: Likewise.
30586 * conf/i386-efi.mk: Likewise.
30587 * conf/i386-ieee1275.mk: Likewise.
30588 * conf/i386.mk: Likewise.
30589 * conf/i386-pc.mk: Likewise.
30590 * conf/powerpc-ieee1275.mk: Likewise.
30591 * conf/sparc64-ieee1275.mk: Likewise.
30592 * conf/x86_64-efi.mk: Likewise.
30594 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
30597 2009-04-14 John Stanley <jpsinthemix@verizon.net>
30598 David S. Miller <davem@davemloft.net>
30600 * util/hostdisk.c (make_device_name): Fix buffer length
30603 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
30605 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
30606 <sys/param.h> and <sys/sysctl.h>.
30607 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
30608 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
30609 opening the device and reset them afterwards.
30611 2009-04-13 Pavel Roskin <proski@gnu.org>
30613 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
30614 Reported by John Stanley <jpsinthemix@verizon.net>
30616 2009-04-13 Robert Millan <rmh@aybabtu.com>
30618 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
30619 that name for menuentries when appropriate.
30621 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
30623 * util/grub.d/10_freebsd.in: Add a missing `fi'.
30625 2009-04-13 Robert Millan <rmh@aybabtu.com>
30627 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
30628 to Linux, simply abort telling the user it's no longer supported.
30630 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
30632 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
30633 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
30634 `freebsd_loadenv' only when devices.hints exist.
30636 2009-04-13 Pavel Roskin <proski@gnu.org>
30638 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
30640 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
30642 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
30644 (grub_drive): Likewise.
30646 2009-04-13 David S. Miller <davem@davemloft.net>
30648 * kern/sparc64/ieee1275/ieee1275.c: New file.
30649 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
30650 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
30651 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
30652 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
30653 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
30654 grub_ieee1275_alloc_physmem): Declare new exported functions.
30656 * include/grub/sparc64/ieee1275/loader.h: New file.
30657 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30658 * include/grub/sparc64/kernel.h: Likewise.
30659 * loader/sparc64/ieee1275/linux.c: Likewise.
30661 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
30662 (grub_fstest_SOURCES): Likewise.
30664 * util/hostdisk.c (make_device_name): Do not make any assumptions
30665 about the length of drive names.
30667 * kern/dl.c (grub_dl_load_file): Close file immediately when
30668 we are done using it.
30670 2009-04-12 David S. Miller <davem@davemloft.net>
30672 * kern/misc.c (grub_ltoa): Fix cast when handling negative
30673 values. Noticed by Pavel Roskin.
30675 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
30678 * genmk.rb: Add more flexible image type specification, also
30679 pass --strip-unneeded to objcopy.
30680 * conf/i386-pc.rmk: Use *_FORMAT.
30681 * conf/i386-pc.mk: Rebuilt.
30683 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
30684 (OFDISK_HASH_SZ): Define.
30685 (ofdisk_hash): New hash table.
30686 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
30687 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
30688 instead of device phandle which is not unique.
30690 * kern/sparc64/ieee1275/init.c: Delete, replace with...
30691 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
30692 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
30693 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
30694 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
30695 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
30696 GRUB_KERNEL_MACHINE_DATA_END): Define.
30697 (grub_kernel_image_size, grub_total_module_size): Declare.
30699 2009-04-12 Pavel Roskin <proski@gnu.org>
30701 * configure.ac: Change the logic when we check for target tools.
30702 Do it when the target is specified and it's different from the
30703 specified value of the host.
30705 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
30707 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
30708 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
30709 GNU/kFreeBSD. Check if a device is a character device. Use
30710 DIOCGMEDIASIZE to get the size.
30711 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
30712 support for GNU/kFreeBSD.
30713 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
30714 is a character device instead of a block device. Add support for
30715 FreeBSD device names.
30717 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
30718 is a character device instead of a block device.
30720 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
30721 is a character device instead of a block device.
30723 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
30725 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
30726 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
30727 FreeBSD. Check if a device is a character device. Use
30728 DIOCGMEDIASIZE to get the size.
30729 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
30730 support for FreeBSD.
30731 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
30732 is a character device instead of a block device. Add support for
30733 FreeBSD device names.
30735 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
30736 a character device instead of a block device.
30737 (grub_util_check_char_device): New function.
30739 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
30740 a character device instead of a block device.
30742 * include/grub/util/getroot.h (grub_util_check_char_device): New
30745 2009-04-11 David S. Miller <davem@davemloft.net>
30747 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
30749 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
30750 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
30751 function, if present.
30752 (__bswapdi2): Likewise.
30754 * include/grub/sparc64/ieee1275/boot.h: New file.
30755 * boot/sparc64/ieee1275/boot.S: Likewise.
30756 * boot/sparc64/ieee1275/diskboot.S: Likewise.
30758 * kern/misc.c (grub_ltoa): New function.
30759 (grub_vsprintf): Use it to format 'long' integers.
30761 2009-04-10 David S. Miller <davem@davemloft.net>
30763 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
30764 slots are of type grub_ieee1275_cell_t.
30765 (grub_nand_read): Likewise.
30766 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
30767 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
30768 macros are used to compare values in arg/ret block of the call.
30769 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30770 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
30771 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
30772 grub_ieee1275_instance_to_path, grub_ieee1275_write,
30773 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
30774 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
30775 grub_ieee1275_close, grub_ieee1275_set_property,
30776 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
30777 grub_ieee1275_cell_t.
30778 * kern/ieee1275/openfw.c (grub_map): Likewise.
30779 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
30780 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
30782 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
30783 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
30784 (grub_devalias_iterate): Likewise.
30786 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
30790 * fs/ufs.c (INODE_NBLOCKS): new definition
30791 (struct grub_ufs_dirent): added fields for non-BSD dirents
30792 (grub_ufs_get_file_block): fixed double indirect handling
30793 (grub_ufs_lookup_symlink): use more robust way to determine whether
30795 (grub_ufs_find_file): support for non-BSD dirents
30796 (grub_ufs_dir): support for non-BSD dirents
30798 2009-04-10 Bean <bean123ch@gnail.com>
30800 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
30801 attribute, otherwise the size would be wrong for i386 platform.
30803 * include/grub/pci.h (grub_pci_read_word): New inline function.
30804 (grub_pci_read_byte): Likewise.
30805 (grub_pci_write): Likewise.
30806 (grub_pci_write_word): Likewise.
30807 (grub_pci_write_byte): Likewise.
30809 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
30811 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
30812 (find_framebuf): Scan pci to locate the frame buffer address.
30814 * commands/efi/fixvideo.c: New file.
30816 * commands/efi/loadbios.c: Likewise.
30818 * commands/memrw.c: Likewise.
30820 * util/grub-dumpbios.in: Likewise.
30822 * conf/common.rmk (grub-dumpbios): New utility.
30823 (pkglib_MODULES): New module memrw.mod.
30824 (memrw_mod_SOURCE): New macro.
30825 (memrw_mod_CFLAGS): Likewise.
30826 (memrw_mod_LDFLAGS): Likewise.
30828 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
30830 (loadbios_mod_SOURCE): New macro.
30831 (loadbios_mod_CFLAGS): Likewise.
30832 (loadbios_mod_LDFLAGS): Likewise.
30833 (fixvideo_mod_SOURCE): Likewise.
30834 (fixvideo_mod_CFLAGS): Likewise.
30835 (fixvideo_mod_LDFLAGS): Likewise.
30837 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
30839 (loadbios_mod_SOURCE): New macro.
30840 (loadbios_mod_CFLAGS): Likewise.
30841 (loadbios_mod_LDFLAGS): Likewise.
30842 (fixvideo_mod_SOURCE): Likewise.
30843 (fixvideo_mod_CFLAGS): Likewise.
30844 (fixvideo_mod_LDFLAGS): Likewise.
30846 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
30848 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
30850 2009-04-07 David S. Miller <davem@davemloft.net>
30852 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
30853 support for R_SPARC_OLO10 relocations. Fix compile warning for
30854 R_SPARC_WDISP30 case.
30855 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
30857 2009-04-06 Pavel Roskin <proski@gnu.org>
30859 * include/grub/misc.h (ARRAY_SIZE): New macro.
30860 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
30862 * loader/i386/linux.c (allocate_pages): Use free_pages().
30863 (grub_linux_unload): Don't use free_pages().
30864 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
30865 wrong index. Treat all other modes as text modes.
30866 (grub_cmd_linux): Initialize vid_mode unconditionally to
30867 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
30869 * commands/help.c (print_command_help): Use cmd->prio, not
30870 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
30872 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
30876 * parttool/pcpart.c: new file
30877 * commands/parttool.c: likewise
30878 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
30879 (parttool_mod_SOURCES): new variable
30880 (parttool_mod_CFLAGS): likewise
30881 (parttool_mod_LDFLAGS): likewise
30882 (pcpart_mod_SOURCES): likewise
30883 (pcpart_mod_CFLAGS): likewise
30884 (pcpart_mod_LDFLAGS): likewise
30885 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
30886 and parttool/pcpart.c
30887 * conf/i386-efi.rmk: likewise
30888 * conf/i386-ieee1275.rmk: likewise
30889 * conf/i386-pc.rmk: likewise
30890 * conf/powerpc-ieee1275.rmk: likewise
30891 * conf/sparc64-ieee1275.rmk: likewise
30892 * conf/x86_64-ieee1275.rmk: likewise
30894 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30896 Support for mtime and further expandability of dir command
30898 * include/grub/lib/datetime.h: moved to ...
30899 * include/grub/datetime.h: ... moved here and added
30900 declaration of grub_unixtime2datetime. All users updated
30901 * include/grub/fs.h: new syntax for dir and mtime functions in
30903 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
30904 and GRUB_FSHELP_FLAGS_MASK
30905 * commands/ls.c (grub_ls_list_files): Write mtime in long format
30906 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
30907 (grub_ext2_mtime): new function
30908 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
30909 (grub_hfsplus_mtime): new function
30910 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
30911 (GRUB_UFS_ATTR_FILE): likewise
30912 (GRUB_UFS_ATTR_LNK): likewise
30913 (struct grub_ufs_sblock): new fields mtime
30914 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
30916 (grub_ufs_dir): mtime support
30917 (grub_ufs_mtime): new function
30918 * fs/affs.c (grub_affs_dir): use new dir syntax
30919 * fs/afs.c (grub_afs_dir): likewise
30920 * fs/cpio.c (grub_cpio_dir): likewise
30921 * fs/fat.c (grub_fat_find_dir): likewise
30922 * fs/hfs.c (grub_hfs_dir): likewise
30923 * fs/iso9660.c (grub_iso9660_dir): likewise
30924 * fs/jfs.c (grub_jfs_dir): likewise
30925 * fs/minix.c (grub_minix_dir): likewise
30926 * fs/ntfs.c (grub_ntfs_dir): likewise
30927 * fs/reiserfs.c (grub_reiserfs_dir): likewise
30928 * fs/sfs.c (grub_sfs_dir): likewise
30929 * fs/xfs.c (grub_xfs_dir): likewise
30930 * util/hostfs.c (grub_hostfs_dir): likewise
30931 * lib/datetime.c: moved to ...
30932 * normal/datetime.c: ... moved here
30933 (grub_unixtime2datetime): new function
30934 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
30935 * normal/completion.c (iterate_dir): use new dir syntax
30936 * normal/misc.c (grub_normal_print_device_info): tell the
30937 last modification time of a volume
30938 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
30939 * conf/common.rmk: added lib/datetime.c to ls.mod
30940 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
30941 (normal_mod_SOURCES): likewise
30942 (datetime_mod_SOURCES): Removed lib/datetime.c
30943 * conf/i386-efi.rmk: likewise
30944 * conf/i386-ieee1275.rmk: likewise
30945 * conf/i386-pc.rmk: likewise
30946 * conf/powerpc-ieee1275.rmk: likewise
30947 * conf/sparc64-ieee1275.rmk: likewise
30948 * conf/x86_64-efi.rmk: likewise
30950 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30952 Trim trailing spaces in FAT label and support mtools-like labels
30954 * fs/fat.c (grub_fat_iterate_dir): New function based
30955 on grub_fat_find_dir
30956 (grub_fat_find_dir): use grub_fat_iterate_dir
30957 (grub_fat_label): likewise
30959 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
30961 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
30963 remove extraneous kernel_elf_HEADERS
30965 2009-04-04 Bean <bean123ch@gnail.com>
30967 * include/grub/util/misc.h: Add dummy function fsync for mingw.
30969 * util/misc.c: Likewise.
30971 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30973 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
30974 instead of grub_printf.
30976 2009-04-03 Robert Millan <rmh@aybabtu.com>
30978 * loader/i386/linux.c (grub_linux_setup_video): Fill
30979 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
30980 values from `mode info' structure instead of hardcoded
30983 2009-04-01 Pavel Roskin <proski@gnu.org>
30985 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
30987 * genmk.rb: Likewise.
30988 * configure.ac: Likewise.
30990 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
30992 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
30993 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
30995 2009-04-01 David S. Miller <davem@davemloft.net>
30997 * normal/sparc64/setjmp.S: Fix setjmp implementation.
30998 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
30999 (grub_setjmp): Mark with 'returns_twice' attribute.
31000 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31001 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31002 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31004 2009-04-01 Robert Millan <rmh@aybabtu.com>
31006 Reapply fix from 2008-07-28 which was accidentally reverted; also
31007 perform the same fix to a similar check in same function.
31009 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31010 with the same number are found, just use issue a warning with
31011 grub_dprintf(), as this error has been reported to be non-fatal.
31013 2009-03-31 Pavel Roskin <proski@gnu.org>
31015 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31016 for cross-compilation.
31018 2009-03-30 Robert Millan <rmh@aybabtu.com>
31020 Fix i386-ieee1275 build.
31022 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31023 Remove declaration.
31025 2009-03-30 Pavel Roskin <proski@gnu.org>
31027 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31028 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31029 zero-terminated, rely only on the strlen value. Fix comparison
31030 of strings differing in length.
31032 2009-03-30 Robert Millan <rmh@aybabtu.com>
31034 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31035 checking for abi version. Improve error messages on BIOS to notify
31036 user about `linux16' command.
31038 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31042 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31043 in case of collision
31044 * disk/scsi.c (grub_scsi_open): free scsi in case of error
31046 2009-03-29 Robert Millan <rmh@aybabtu.com>
31048 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31049 set `vid_mode' accordingly.
31050 (grub_linux_boot): Process `vid_mode' and set video mode.
31052 2009-03-29 Robert Millan <rmh@aybabtu.com>
31054 * util/grub.d/10_linux.in (linux_entry): New function.
31055 Factorize generation of Linux boot entries.
31057 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31059 Make the format of Environment Block plain text. The boot loader
31060 part is not tested well yet.
31062 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31064 (envblk): Likewise.
31065 (usage): Remove "info" and "clear". Add "unset". Update the
31066 description of "set", as this does not delete variables any
31068 (create_envblk_file): Complete rewrite.
31069 (open_envblk_file): Likewise.
31070 (cmd_info): Removed.
31071 (cmd_list): Likewise.
31072 (cmd_set): Likewise.
31073 (cmd_clear): Likewise.
31074 (list_variables): New function.
31075 (write_envblk): Likewise.
31076 (set_variables): Likewise.
31077 (unset_variables): Likewise.
31078 (main): Complete rewrite.
31080 * commands/loadenv.c (buffer): Removed.
31081 (envblk): Likewise.
31082 (open_envblk_file): New function.
31083 (read_envblk_file): Complete rewrite.
31084 (grub_cmd_load_env): Likewise.
31085 (grub_cmd_list_env): Likewise.
31086 (struct blocklist): New struct.
31087 (free_blocklists): New function.
31088 (check_blocklists): Likewise.
31089 (write_blocklists): Likewise.
31090 (grub_cmd_save_env): Complete rewrite.
31092 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31093 a plain text signature.
31094 (GRUB_ENVBLK_MAXLEN): Removed.
31095 (struct grub_envblk): Complete rewrite.
31096 (grub_envblk_find): Removed.
31097 (grub_envblk_insert): Likewise.
31098 (grub_envblk_open): New prototype.
31099 (grub_envblk_set): Likewise.
31100 (grub_envblk_delete): Put const to VALUE.
31101 (grub_envblk_iterate): Put const to NAME and VALUE.
31102 (grub_envblk_close): New prototype.
31103 (grub_envblk_buffer): New inline function.
31104 (grub_envblk_size): Likewise.
31106 * lib/envblk.c: Include grub/mm.h.
31107 (grub_env_find): Removed.
31108 (grub_envblk_open): New function.
31109 (grub_envblk_close): Likewise.
31110 (escaped_value_len): Likewise.
31111 (find_next_line): Likewise.
31112 (grub_envblk_insert): Removed.
31113 (grub_envblk_set): New function.
31114 (grub_envblk_delete): Complete rewrite.
31115 (grub_envblk_iterate): Likewise.
31117 2009-03-28 Robert Millan <rmh@aybabtu.com>
31119 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31120 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31121 variables. Use 16-bit loader.
31122 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31124 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31125 (grub_linux16_boot): ... this. Update all users.
31126 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31127 (grub_linux_boot): ... this. Update all users.
31129 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31130 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31131 commands to `linux16' and `initrd16'.
31132 (GRUB_MOD_FINI(linux)): Rename to ...
31133 (GRUB_MOD_FINI(linux16)): ... this.
31135 2009-03-24 Pavel Roskin <proski@gnu.org>
31137 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31138 not just for compilation.
31140 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31142 Move multiboot helper out of kernel
31144 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31145 `loader/i386/multiboot_helper.S'.
31146 * conf/i386-coreboot.rmk: Likewise
31147 * conf/i386-ieee1275.rmk: Likewise
31149 * kern/i386/loader.S: Move multiboot helpers from here...
31150 * loader/i386/multiboot_helper.S: ...moved here
31151 * include/grub/i386/loader.h: Move declarations of multiboot
31152 helpers from here...
31153 * include/grub/i386/multiboot.h: ...moved here
31154 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31156 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31158 * kern/env.c (grub_env_context_open): Added an argument to specify
31159 whether a new context inherits exported variables from current
31160 one. This is useful when making a sandbox to interpret a config
31162 All callers updated.
31164 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31166 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31168 * kern/env.c (grub_env_context_close): Fix memory leaks.
31170 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31172 * normal/main.c (grub_normal_execute): Added an argument
31173 BATCH to specify if an interactive interface should be provided
31174 after reading a config file.
31175 All callers updated.
31176 (read_command_list): Prevent being executed twice.
31177 (read_fs_list): Likewise.
31179 * include/grub/normal.h (grub_normal_execute): Updated the
31182 2009-03-22 Pavel Roskin <proski@gno.org>
31184 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31186 * kern/i386/pc/startup.S: Likewise.
31187 * kern/i386/efi/startup.S: Likewise.
31188 * kern/i386/ieee1275/startup.S: Likewise.
31189 * kern/i386/coreboot/startup.S: Likewise.
31190 * kern/x86_64/efi/startup.S: Likewise.
31192 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31193 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31194 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31196 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31198 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31200 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31202 Use vaddr of correct segment for entry_point.
31204 2009-03-21 Bean <bean123ch@gmail.com>
31206 * commands/blocklist.c: Add include file <grub/command.h>, remove
31207 <grub/normal.h> and <grub/arg.h>.
31208 (grub_cmd_blocklist): Use the new command interface.
31209 (GRUB_MOD_INIT): Likewise.
31210 (GRUB_MOD_FINI): Likewise.
31211 * commands/boot.c: Likewise.
31212 * commands/cat.c: Likewise.
31213 * commands/cmp.c: Likewise.
31214 * commands/configfile.c: Likewise.
31215 * commands/crc.c: Likewise.
31216 * commands/echo.c: Likewise.
31217 * commands/halt.c: Likewise.
31218 * commands/handler.c: Likewise.
31219 * commands/hdparm.c: Likewise.
31220 * commands/help.c: Likewise.
31221 * commands/hexdump.c: Likewise.
31222 * commands/loadenv.c: Likewise.
31223 * commands/ls.c: Likewise.
31224 * commands/lsmmap.c: Likewise.
31225 * commands/lspci.c: Likewise.
31226 * commands/loadenv.c: Likewise.
31227 * commands/read.c: Likewise.
31228 * commands/reboot.c: Likewise.
31229 * commands/search.c: Likewise.
31230 * commands/sleep.c: Likewise.
31231 * commands/test.c: Likewise.
31232 * commands/usbtest.c: Likewise.
31233 * commands/videotest.c: Likewise.
31234 * commands/i386/cpuid.c: Likewise.
31235 * commands/i386/pc/halt.c: Likewise.
31236 * commands/i386/pc/play.c: Likewise.
31237 * commands/i386/pc/pxecmd.c: Likewise.
31238 * commands/i386/pc/vbeinfo.c: Likewise.
31239 * commands/i386/pc/vbetest.c: Likewise.
31240 * commands/ieee1275/suspend.c: Likewise.
31241 * disk/loopback.c: Likewise.
31242 * font/font_cmd.c: Likewise.
31243 * hello/hello.c: Likewise.
31244 * loader/efi/appleloader.c: Likewise.
31245 * loader/efi/chainloader.c: Likewise.
31246 * loader/i386/bsd.c: Likewise.
31247 * loader/i386/efi/linux.c: Likewise.
31248 * loader/i386/ieee1275/linux.c: Likewise.
31249 * loader/i386/linux.c: Likewise.
31250 * loader/i386/pc/chainloader.c: Likewise.
31251 * loader/i386/pc/linux.c: Likewise.
31252 * loader/powerpc/ieee1275/linux.c: Likewise.
31253 * loader/multiboot_loader.c: Likewise.
31254 * term/gfxterm.c: Likewise.
31255 * term/i386/pc/serial.c: Likewise.
31256 * term/terminfo.c: Likewise.
31258 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31259 * term/i386/pc/vga.c: Likewise.
31260 * video/readers/jpeg.c: Likewise.
31261 * video/readers/png.c: Likewise.
31262 * video/readers/tga.c: Likewise.
31264 * util/grub-fstest (cmd_loopback): Removed.
31265 (cmd_blocklist): Likewise.
31266 (cmd_ls): Likewise.
31267 (grub_register_command): Likewise.
31268 (grub_unregister_command): Likewise.
31269 (execute_command): Use grub_command_find to locate command and execute
31272 * include/grub/efi/chainloader.h: Removed.
31273 * loader/efi/chainloader_normal.c: Likewise.
31274 * loader/i386/bsd_normal.c: Likewise.
31275 * loader/i386/pc/chainloader_normal.c: Likewise.
31276 * loader/i386/pc/multiboot_normal.c: Likewise.
31277 * loader/linux_normal.c: Likewise.
31278 * loader/multiboot_loader_normal.c: Likewise.
31279 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31281 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31282 and grub_register_command_p1.
31284 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31285 kern/command.c, lib/arg.c and commands/extcmd.c.
31286 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31287 (minicmd_mod_SOURCES): New variable.
31288 (minicmd_mod_CFLAGS): Likewise.
31289 (minicmd_mod_LDFLAGS): Likewise.
31290 (extcmd_mod_SOURCES): Likewise.
31291 (extcmd_mod_CFLAGS): Likewise.
31292 (extcmd_mod_LDFLAGS): Likewise.
31293 (boot_mod_SOURCES): Removed.
31294 (boot_mod_CFLAGS): Likewise.
31295 (boot_mod_LDFLAGS): Likewise.
31297 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31299 (kernel_img_HEADERS): Add command.h.
31300 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31301 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31303 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31304 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31305 remove the corresponding normal mode command.
31306 (normal_mod_SOURCES): Remove normal/arg.c.
31307 * conf/i386-coreboot.rmk: Likewise.
31308 * conf/i386-efi.rmk: Likewise.
31309 * conf/i386-ieee1275.rmk: Likewise.
31310 * conf/powerpc-ieee1275.rmk: Likewise.
31311 * conf/x86_64-efi.rmk: Likewise.
31313 * include/grub/arg.h: Move from here ...
31314 * include/grub/lib/arg.h: ... to here.
31316 * normal/arg.c: Move from here ...
31317 * lib/arg.c: ... to here.
31319 * commands/extcmd.c: New file.
31320 * commands/minicmd.c: Likewise.
31321 * include/grub/command.h: Likewise.
31322 * include/grub/extcmd.h: Likewise.
31323 * kern/command.c: Likewise.
31324 * kern/corecmd.c: Likewise.
31326 * kern/list.c (grub_list_iterate): Return int instead of void.
31327 (grub_list_insert): New function.
31328 (grub_prio_list_insert): Likewise.
31330 * kern/rescue.c (grub_rescue_command): Removed.
31331 (grub_rescue_command_list): Likewise.
31332 (grub_rescue_register_command): Likewise.
31333 (grub_rescue_unregister_command): Likewise.
31334 (grub_rescue_cmd_boot): Move to minicmd.c
31335 (grub_rescue_cmd_help): Likewise.
31336 (grub_rescue_cmd_info): Likewise.
31337 (grub_rescue_cmd_boot): Likewise.
31338 (grub_rescue_cmd_testload): Likewise.
31339 (grub_rescue_cmd_dump): Likewise.
31340 (grub_rescue_cmd_rmmod): Likewise.
31341 (grub_rescue_cmd_lsmod): Likewise.
31342 (grub_rescue_cmd_exit): Likewise.
31343 (grub_rescue_print_devices): Moved to corecmd.c.
31344 (grub_rescue_print_files): Likewise.
31345 (grub_rescue_cmd_ls): Likewise.
31346 (grub_rescue_cmd_insmod): Likewise.
31347 (grub_rescue_cmd_set): Likewise.
31348 (grub_rescue_cmd_unset): Likewise.
31349 (attempt_normal_mode): Use grub_command_find to get normal module.
31350 (grub_enter_rescue_mode): Use grub_register_core_commands to register
31351 commands, remove grub_rescue_register_command calls.
31353 * normal/command.c (grub_register_command): Removed.
31354 (grub_unregister_command): Likewise.
31355 (grub_command_find): Likewise.
31356 (grub_iterate_commands): Likewise.
31357 (rescue_command): Likewise.
31358 (export_command): Moved to corecmd.c.
31359 (set_command): Removed.
31360 (unset_command): Likewise.
31361 (insmod_command): Likewise.
31362 (rmmod_command): Likewise.
31363 (lsmod_command): Likewise.
31364 (grub_command_init): Likewise.
31366 * normal/completion.c (iterate_command): Use cmd->prio to check for
31368 (complete_arguments): Use grub_extcmd_t structure to find options.
31369 (grub_normal_do_completion): Change function grub_iterate_commands to
31370 grub_command_iterate.
31372 * normal/execute.c (grub_script_execute_cmd): No need to parse
31375 * normal/main.c (grub_dyncmd_dispatcher): New function.
31376 (read_command_list): Register unload commands as dyncmd.
31377 (grub_cmd_normal): Use new command interface, register rescue,
31378 unregister normal at entry, register normal, unregister rescue at exit.
31380 * include/grub/list.h (grub_list_test_t): New type.
31381 (grub_list_iterate): Return int instead of void.
31382 (grub_list_insert): New function.
31383 (GRUB_AS_NAMED_LIST_P): New macro.
31384 (GRUB_AS_PRIO_LIST): Likewise.
31385 (GRUB_AS_PRIO_LIST_P): Likewise.
31386 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
31387 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
31388 (grub_prio_list): New structure.
31389 (grub_prio_list_insert): New function.
31390 (grub_prio_list_remove): New inline function.
31392 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
31393 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
31394 (GRUB_COMMAND_FLAG_MENU): Likewise.
31395 (GRUB_COMMAND_FLAG_BOTH): Likewise.
31396 (GRUB_COMMAND_FLAG_TITLE): Likewise.
31397 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
31398 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
31399 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
31400 (grub_command): Likewise.
31401 (grub_register_command): Likewise.
31402 (grub_command_find): Likewise.
31403 (grub_iterate_commands): Likewise.
31404 (grub_command_init): Likewise.
31405 (grub_arg_parse): Likewise.
31406 (grub_arg_show_help): Likewise.
31408 * include/grub/rescue.h (grub_rescue_register_command): Removed.
31409 (grub_rescue_unregister_command): Likewise.
31411 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
31412 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
31413 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
31415 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
31416 grub_rescue_cmd_initrd.
31417 * include/grub/i386/loader.h: Likewise.
31418 * include/grub/x86_64/loader.h: Likewise.
31420 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
31422 2009-03-21 Bean <bean123ch@gmail.com>
31424 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
31425 instead of stat in mingw environment.
31427 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
31429 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
31431 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
31434 2009-03-21 Bean <bean123ch@gmail.com>
31436 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
31437 out of range error.
31439 2009-03-18 Michel Dänzer <michel@daenzer.net>
31441 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
31442 checking inode flags for EXT4_EXTENTS_FLAG.
31444 2009-03-18 Robert Millan <rmh@aybabtu.com>
31446 * loader/i386/linux.c: Include `<grub/video.h>' and
31447 `<grub/i386/pc/vbe.h>'..
31448 (grub_linux_setup_video): New function. Loosely based on the EFI one.
31449 (grub_linux32_boot): Attempt to configure video settings with
31450 grub_linux_setup_video().
31451 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
31452 to avoid grub_console_fini() which would step out of graphical mode
31455 2009-03-14 Robert Millan <rmh@aybabtu.com>
31457 Fix build on powerpc.
31458 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
31460 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
31462 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
31463 background image command.
31465 2009-03-12 Colin D Bennett <colin@gibibit.com>
31467 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
31468 (grub_gfxterm_putchar): Extract pairs of identical calls to
31469 draw_cursor out of conditional blocks.
31471 2009-03-11 Pavel Roskin <proski@gnu.org>
31473 * fs/hfs.c (grub_hfs_strncasecmp): New function.
31474 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
31476 2009-03-11 Robert Millan <rmh@aybabtu.com>
31478 * loader/i386/multiboot_elfxx.c
31479 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
31481 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
31483 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
31486 2009-03-11 Robert Millan <rmh@aybabtu.com>
31488 * loader/i386/multiboot.c (code_size): New variable.
31489 (grub_multiboot): Define offsets by adding to `code_size' rather
31490 than subtracting from `grub_multiboot_payload_size'. Provide
31491 4-byte alignment to MBI and others by increasing
31492 `boot_loader_name_length' appropriately.
31494 * loader/i386/multiboot_elfxx.c
31495 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
31497 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
31499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
31502 2009-03-08 Robert Millan <rmh@aybabtu.com>
31504 Make loader/i386/linux.c usable on i386-pc again.
31506 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
31508 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
31511 2009-03-07 Bean <bean123ch@gmail.com>
31513 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
31516 2009-03-06 Robert Millan <rmh@aybabtu.com>
31518 Fix display issue on terminals with screen size other than 80x25
31519 (e.g. gfxterm with resolution higher than 640x480).
31521 * normal/main.c (grub_normal_init_page): Display title text in a
31522 position relative to the center of the terminal instead of relying
31523 on a hardcoded offset.
31525 2009-03-04 Robert Millan <rmh@aybabtu.com>
31527 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
31530 * Makefile.in (host_kernel): New variable.
31531 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
31532 scripts instead of just the windows one.
31533 * configure.ac: Initialize and AC_SUBST `host_kernel'.
31535 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
31537 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
31539 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31540 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31541 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31543 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31544 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31546 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
31548 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
31549 or if there's no space for the disk label and print the partition number on a
31552 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
31554 * util/misc.c: Include <time.h>.
31555 (grub_millisleep): New function.
31557 2009-03-04 Bean <bean123ch@gmail.com>
31559 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
31560 another option -mno-red-zone.
31562 * commands/handler.c: Change module description.
31564 * kern/handler.c: Add missing space at the end of description line.
31566 * kern/list.c: Likewise.
31568 2009-03-03 Robert Millan <rmh@aybabtu.com>
31570 Move more components to the relocation area, and fix mbi pointer
31571 handling to use the destination rather than the origin (thanks to
31572 Vladimir Serbinenko for spotting).
31574 * loader/i386/multiboot.c (mbi_dest): New variable.
31575 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
31576 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
31579 2009-03-01 Bean <bean123ch@gmail.com>
31581 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
31582 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
31583 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
31584 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
31586 * loader/i386/efi/linux.c (acpi_guid): New variable.
31587 (acpi_guid): Likewise.
31588 (EBDA_SEG_ADDR): New constant.
31589 (LOW_MEM_ADDR): Likewise.
31590 (FAKE_EBDA_SEG): Likewise.
31591 (fake_bios_data): New function.
31592 (grub_linux_boot): Call fake_bios_data.
31594 2009-03-01 Bean <bean123ch@gmail.com>
31596 * commands/terminal.c: Removed.
31598 * commands/handler.c: New file.
31600 * include/grub/list.h: Likewise.
31602 * include/grub/handler.h: Likewise.
31604 * kern/list.c: Likewise.
31606 * kern/handler.c: Likewise.
31608 * kern/term.h: Include header file <grub/handler.h>.
31609 (grub_term_input): Move next field to the beginning.
31610 (grub_term_output): Likewise.
31611 (grub_term_input_class): New variable.
31612 (grub_term_output_class): Likewise.
31613 (grub_term_register_input): Changed to inline function.
31614 (grub_term_register_output): Likewise.
31615 (grub_term_unregister_input): Likewise.
31616 (grub_term_unregister_output): Likewise.
31617 (grub_term_set_current_input): Likewise.
31618 (grub_term_set_current_output): Likewise.
31619 (grub_term_get_current_input): Likewise.
31620 (grub_term_get_current_output): Likewise.
31621 (grub_term_iterate_input): Removed.
31622 (grub_term_iterate_output): Likewise.
31624 * kern/term.c (grub_term_list_input): Removed.
31625 (grub_term_list_output): Likewise.
31626 (grub_term_input_class): New variable.
31627 (grub_term_output_class): Likewise.
31628 (grub_cur_term_input): Change variable as macro.
31629 (grub_cur_term_output): Likewise.
31630 (grub_term_register_input): Removed.
31631 (grub_term_register_output): Likewise.
31632 (grub_term_unregister_input): Likewise.
31633 (grub_term_unregister_output): Likewise.
31634 (grub_term_set_current_input): Likewise.
31635 (grub_term_set_current_output): Likewise.
31636 (grub_term_iterate_input): Likewise.
31637 (grub_term_iterate_output): Likewise.
31638 (grub_term_get_current_input): Likewise.
31639 (grub_term_get_current_output): Likewise.
31641 * util/grub-editenv.c: Include header file <grub/handler.h>.
31642 (grub_term_get_current_input): Removed.
31643 (grub_term_get_current_output): Likewise.
31644 (grub_term_input_class): New variable.
31645 (grub_term_output_class): Likewise.
31647 * util/grub-fstest.c (grub_term_get_current_input): Removed.
31648 (grub_term_get_current_output): Likewise.
31649 (grub_term_input_class): New variable.
31650 (grub_term_output_class): Likewise.
31652 * util/grub-probe.c (grub_term_get_current_input): Removed.
31653 (grub_term_get_current_output): Likewise.
31654 (grub_term_input_class): New variable.
31655 (grub_term_output_class): Likewise.
31657 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
31658 (grub_term_get_current_output): Likewise.
31659 (grub_term_input_class): New variable.
31660 (grub_term_output_class): Likewise.
31662 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
31663 (terminal_mod_SOURCES): Likewise.
31664 (terminal_mod_CFLAGS): Likewise.
31665 (terminal_mod_LDFLAGS): Likewise.
31667 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
31669 (kernel_img_SOURCES): Add list.c and handler.c.
31670 (kernel_img_HEADERS): Add list.h and handler.h.
31672 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31674 (kernel_mod_SOURCES): Add list.c and handler.c.
31675 (kernel_mod_HEADERS): Add list.h and handler.h.
31677 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
31679 (kernel_elf_SOURCES): Add list.c and handler.c.
31680 (kernel_elf_HEADERS): Add list.h and handler.h.
31682 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31684 (kernel_elf_SOURCES): Add list.c and handler.c.
31685 (kernel_elf_HEADERS): Add list.h and handler.h.
31687 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31689 (kernel_mod_SOURCES): Add list.c and handler.c.
31690 (kernel_mod_HEADERS): Add list.h and handler.h.
31692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31694 (kernel_elf_SOURCES): Add list.c and handler.c.
31695 (kernel_elf_HEADERS): Add list.h and handler.h.
31697 2009-02-27 Robert Millan <rmh@aybabtu.com>
31699 Factorize elf32 / elf64 code in Multiboot loader. This will
31700 prevent it from getting out of sync again.
31702 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
31703 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
31704 grub_multiboot_load_elf64): Move from here ...
31705 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
31706 grub_multiboot_load_elf): ... to here (new file).
31708 2009-02-27 Robert Millan <rmh@aybabtu.com>
31710 * util/grub.d/10_linux.in: Rename "single-user mode" to
31713 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
31715 Don't leak in SCSI code.
31716 * disk/scsi.c (grub_scsi_close): free `scsi'.
31718 2009-02-27 Robert Millan <rmh@aybabtu.com>
31720 * loader/i386/pc/multiboot.c: Move from here ...
31721 * loader/i386/multiboot.c: ... to here. Update all users.
31723 2009-02-27 Robert Millan <rmh@aybabtu.com>
31725 Patch from Alexandre Bique <bique.alexandre@gmail.com>
31726 * util/i386/pc/grub-setup.c (setup): Fix directory path.
31728 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
31730 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
31733 2009-02-27 Robert Millan <rmh@aybabtu.com>
31735 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
31736 `0x' qualifier as 0 when base is specified as parameter).
31738 2009-02-24 Bean <bean123ch@gmail.com>
31740 * configure.ac: Check for -mcmodel=large in x86_64 target.
31742 * include/grub/efi/api.h (efi_call_10): New macro.
31743 (efi_wrap_10): New function.
31745 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
31746 (GRUB_PE32_REL_BASED_HIGH): Likewise.
31747 (GRUB_PE32_REL_BASED_LOW): Likewise.
31748 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
31749 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
31750 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
31751 (GRUB_PE32_REL_BASED_SECTION): Likewise.
31752 (GRUB_PE32_REL_BASED_REL): Likewise.
31753 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
31754 (GRUB_PE32_REL_BASED_DIR64): Likewise.
31755 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
31757 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
31760 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
31761 (efi_wrap_10): New function.
31763 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
31765 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
31766 MB/MBP model (NV chipset).
31767 (devdata_devs): Add devpath_5 to the list.
31769 * load/i386/efi/linux.c (video_base): Remove variable.
31770 (RGB_MASK): New macro.
31771 (RGB_MAGIC): Likewise.
31772 (LINE_MIN): Likewise.
31773 (LINE_MAX): Likewise.
31774 (FBTEST_STEP): Likewise.
31775 (FBTEST_COUNT): Likewise.
31776 (fb_list): New variable.
31777 (grub_find_video_card): Remove function.
31778 (find_framebuf): New function.
31779 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
31782 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
31783 problem for x86_64.
31785 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
31787 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
31789 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
31792 2009-02-22 Robert Millan <rmh@aybabtu.com>
31794 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
31795 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
31796 in our relocation, instead of using it directly from heap. Also
31797 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
31799 2009-02-21 Robert Millan <rmh@aybabtu.com>
31801 Implement USB keyboard support (based on patch by Marco Gerards)
31803 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
31804 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
31805 (usb_keyboard_mod_LDFLAGS): New variables.
31807 * term/usb_keyboard.c: New file.
31809 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
31811 Corrected wrong declaration
31813 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
31815 2009-02-14 Christian Franke <franke@computer.org>
31817 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
31818 (grub_lspci_iter): Print class code and programming interface byte.
31820 2009-02-14 Christian Franke <franke@computer.org>
31822 * gendistlist.sh: Ignore `.svn' directories.
31824 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
31826 * fs/fat.c: Add 2009 to Copyright line.
31828 2009-02-14 Christian Franke <franke@computer.org>
31830 * commands/hdparm.c: New file. Provides `hdparm' command
31831 which sends ATA commands via grub_disk_ata_pass_through ().
31833 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
31835 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
31836 and <grub/cpu/io.h> to include/grub/ata.h.
31837 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
31838 (GRUB_CDROM_SECTOR_SIZE): Remove.
31839 (GRUB_ATA_*): Move to include/grub/ata.h.
31840 (GRUB_ATAPI_*): Likewise.
31841 (enum grub_ata_commands): Likewise.
31842 (enum grub_ata_timeout_milliseconds): Likewise.
31843 (struct grub_ata_device): Likewise.
31844 (grub_ata_regset): Likewise.
31845 (grub_ata_regget): Likewise.
31846 (grub_ata_regset2): Likewise.
31847 (grub_ata_regget2): Likewise.
31848 (grub_ata_check_ready): Likewise.
31849 (grub_ata_wait_not_busy): Remove static, exported in
31850 include/grub/ata.h.
31851 (grub_ata_wait_drq): Likewise.
31852 (grub_ata_pio_read): Likewise.
31854 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
31855 function for hdparm.mod.
31857 * include/grub/ata.h: New file, contains declarations from
31859 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
31861 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
31862 (grub_disk_ata_pass_through): New exported variable.
31864 * kern/disk.c (grub_disk_ata_pass_through): New variable.
31866 2009-02-13 Colin D Bennett <colin@gibibit.com>
31868 Support multiple fallback entries, and provide an API to support
31869 executing default+fallback menu entries. Renamed the `terminal' menu
31872 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
31873 variable declaration.
31874 (grub_menu_execute_callback): New structure declaration.
31875 (grub_menu_execute_callback_t): New typedef.
31876 (grub_menu_execute_with_fallback): New function declaration.
31877 (grub_menu_get_entry): Likewise.
31878 (grub_menu_get_timeout): Likewise.
31879 (grub_menu_set_timeout): Likewise.
31881 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
31883 * normal/menu.c (grub_wait_after_message): Moved to
31884 `normal/menu_text.c'.
31885 (draw_border): Likewise.
31886 (print_message): Likewise.
31887 (print_entry): Likewise.
31888 (print_entries): Likewise.
31889 (grub_menu_init_page): Likewise.
31890 (get_entry_number): Likewise.
31891 (print_timeout): Likewise.
31892 (run_menu): Likewise.
31893 (grub_menu_execute_entry): Likewise.
31894 (show_text_menu): Likewise.
31895 (get_and_remove_first_entry_number): New function.
31896 (grub_menu_execute_with_fallback): Likewise.
31897 (get_entry): Renamed to ...
31898 (grub_menu_get_entry): .. this and made it global.
31899 (get_timeout): Renamed to ...
31900 (grub_menu_get_timeout): ... this and made it global.
31901 (set_timeout): Renamed to ...
31902 (grub_menu_set_timeout): ... this and made it global.
31903 (grub_normal_terminal_menu_viewer): Renamed to ...
31904 (grub_normal_text_menu_viewer): ... this.
31906 * normal/menu_text.c: New file. Extracted text-menu-specific code
31907 from normal/menu.c.
31909 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
31910 (normal_mod_SOURCES): Likewise.
31912 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31913 (normal_mod_SOURCES): Likewise.
31915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31916 (normal_mod_SOURCES): Likewise.
31918 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
31919 (normal_mod_SOURCES): Likewise.
31921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31922 (normal_mod_SOURCES): Likewise.
31924 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31925 (normal_mod_SOURCES): Likewise.
31927 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31928 (normal_mod_SOURCES): Likewise.
31930 2009-02-11 Robert Millan <rmh@aybabtu.com>
31932 * util/grub.d/00_header.in: Update old reference to `font' command.
31934 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
31936 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
31938 Based on patch from Javier Martín.
31940 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
31942 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
31943 to avoid false positives with FAT.
31944 (grub_fstest_SOURCES): Likewise.
31945 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31946 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31947 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31948 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31949 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31950 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31952 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
31954 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
31955 bpb.version_specific.fat12_or_fat16.fstype and
31956 bpb.version_specific.fat32.fstype.
31958 2009-02-08 Robert Millan <rmh@aybabtu.com>
31960 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
31962 2009-02-08 Robert Millan <rmh@aybabtu.com>
31964 * Makefile.in (host_os, host_cpu): New variables.
31965 (target_os): Remove. Update all users.
31967 2009-02-08 Marco Gerards <marco@gnu.org>
31969 * Makefile.in (enable_grub_emu_usb): New variable.
31970 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
31971 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
31972 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
31973 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
31974 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
31975 `usbtest.mod' and `usbms.mod'.
31976 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
31977 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
31978 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
31979 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
31980 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
31983 * disk/usbms.c: New file.
31985 * include/grub/usb.h: Likewise.
31987 * include/grub/usbtrans.h: Likewise.
31989 * include/grub/usbdesc.h: Likewise.
31991 * bus/usb/usbtrans.c: Likewise.
31993 * bus/usb/ohci.c: Likewise.
31995 * bus/usb/uhci.c: Likewise.
31997 * bus/usb/usbhub.c: Likewise.
31999 * bus/usb/usb.c: Likewise.
32001 * commands/usbtest.c: Likewise.
32003 * util/usb.c: Likewise.
32005 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32007 * configure.ac: Test for libusb presence.
32009 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32011 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32013 * kern/mm.c: Add more comments.
32015 2009-02-08 Robert Millan <rmh@aybabtu.com>
32017 Patch from Javier Martín.
32018 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32019 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32021 2009-02-08 Robert Millan <rmh@aybabtu.com>
32023 * fs/cpio.c: Split tar functionality to ...
32024 * fs/tar.c: ... here (new file). Update all users.
32026 2009-02-07 Robert Millan <rmh@aybabtu.com>
32028 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32029 backward-incompatible features.
32031 Based on patch from Javier Martín, with some adjustments.
32033 2009-02-07 Michael Scherer <misc@mandriva.org>
32035 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32037 2009-02-07 Robert Millan <rmh@aybabtu.com>
32039 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32040 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32041 after the RAID stuff.
32043 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32045 Fixes problem when running vbetest command as reported by
32046 Vladimir Serbinenko <phcoder@gmail.com>.
32048 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32050 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
32052 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32053 /dev/md/NpN style mdraid devices.
32055 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32057 * util/unifont2pff.rb: Remove.
32059 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32061 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32064 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32066 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32067 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32068 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32069 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32070 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32071 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32072 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32074 2009-02-02 Christian Franke <franke@computer.org>
32076 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32078 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
32080 * INSTALL: Note that we now require at least autoconf 2.59 and
32081 that LZO is optional.
32083 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32085 Base on patch on bug #24154 created by Tomas Tintera
32086 <trosos@seznam.cz>.
32088 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32090 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32092 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
32093 <bero@arklinux.org>.
32095 * normal/parser.y (script_init): Add missing semicolon.
32097 2009-01-31 Colin D Bennett <colin@gibibit.com>
32099 * normal/main.c: Add include to grub/menu_viewer.h.
32100 (free_menu_entry_classes): Added.
32101 (grub_normal_menu_addentry): Added class property handling.
32102 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32103 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32105 * normal/menu_viewer.c: New file.
32107 * normal/menu.c (run_menu_entry): Renamed to ...
32108 (grub_menu_execute_entry): ... this and made it as global.
32109 (grub_menu_run): Renamed to ...
32110 (show_text_menu): ... this and made it local.
32111 (show_text_menu): Adapt to new function names.
32112 (grub_normal_terminal_menu_viewer): New global variable.
32114 * include/grub/menu.h: New file.
32116 * include/grub/menu_viewer.h: New file.
32118 * include/grub/normal.h: Added include to grub/menu.h.
32119 (grub_menu_entry): Moved to include/grub/menu.h.
32120 (grub_menu_entry_t): Likewise.
32121 (grub_menu): Likewise.
32122 (grub_menu_t): Likewise.
32123 (grub_normal_terminal_menu_viewer): Added.
32124 (grub_menu_execute_entry): Likewise.
32125 (grub_menu_run): Removed.
32127 * DISTLIST: Added include/grub/menu.h.
32128 Added include/grub/menu_viewer.h.
32129 Added normal/menu_viewer.c.
32131 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32133 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32134 arglist for menutitle arguments.
32136 * normal/main.c (grub_normal_menu_addentry): Likewise.
32138 * normal/parser.y (menuentry): Likewise.
32140 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32142 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32143 (grub_script_create_cmdmenu): Likewise.
32145 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32147 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32150 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32152 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32154 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32156 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32158 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32160 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32162 2009-01-30 Christian Franke <franke@computer.org>
32164 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32165 in option help text.
32167 2009-01-27 Pavel Roskin <proski@gnu.org>
32169 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32171 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32173 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32175 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32177 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32178 unregister function.
32180 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32182 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32184 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32186 * util/grub-mkfont.c (usage): Fix typo.
32188 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32190 2009-01-26 Daniel Mierswa <impulze@impulze.org>
32192 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32194 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32196 * kern/misc.c (grub_strcasecmp): New function.
32197 (grub_strcasecmp): Use grub_size_t instead of int for length.
32199 * include/grub/misc.h: Update function prototypes.
32201 2009-01-26 Robert Millan <rmh@aybabtu.com>
32203 * configure.ac: Fix cross-compilation check.
32205 2009-01-22 Christian Franke <franke@computer.org>
32207 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32208 (precision) digit string. Allow `.format2' without `format1' (width).
32209 Limit input chars for `%s' output to `format2' if specified. This is
32210 compatible with standard printf ().
32212 2009-01-22 Christian Franke <franke@computer.org>
32214 * disk/ata.c (grub_ata_wait_status): Replace by ...
32215 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32216 other status bits may be invalid while BSY is asserted.
32217 (grub_ata_check_ready): New function.
32218 (grub_ata_cmd): Removed.
32219 (grub_ata_wait_drq): New function.
32220 (grub_ata_strncpy): Remove inline.
32221 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32222 and error check now done by grub_ata_wait_drq ().
32223 (grub_ata_pio_write): Likewise.
32224 (grub_atapi_identify): Set DEV before check for !BSY. Use
32225 grub_ata_wait_drq () to wait for data.
32226 (grub_ata_device_initialize): Add status register check to
32227 detect missing SATA slave devices. Add debug messages.
32228 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32229 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32230 transfer loop by grub_ata_pio_write ().
32231 (grub_ata_identify): Set DEV before check for !BSY. Use
32232 grub_ata_wait_drq () to wait for data.
32233 (grub_ata_setaddress): Set DEV before check for !BSY.
32234 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32235 read/write in one loop. Fix invalid command on write. Fix incomplete
32236 command on (size % batch) == 0. Add missing error check after write of
32237 last block. Add debug messages.
32238 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32240 2009-01-19 Christian Franke <franke@computer.org>
32242 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32243 (GRUB_ATAPI_IREASON_*): Likewise.
32244 (grub_ata_pio_write): Fix timeout error return.
32245 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32246 (grub_atapi_wait_drq): New function.
32247 (grub_atapi_packet): New parameter `size'.
32248 Use grub_atapi_wait_drq () and direct write instead of
32249 grub_ata_pio_write ().
32250 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32251 reads the number of bytes requested by the device for each DRQ
32253 (grub_atapi_write): Remove old implementation, return not
32254 implemented instead.
32256 2009-01-19 Christian Franke <franke@computer.org>
32258 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32259 of 512 to calculate data size.
32260 (grub_scsi_read12): Likewise.
32261 (grub_scsi_write10): Likewise.
32262 (grub_scsi_write12): Likewise.
32263 (grub_scsi_read): Adjust size according to blocksize.
32264 Add checks for invalid blocksize and unaligned transfer.
32266 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32268 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32270 * term/gfxterm.c (write_char): Fix background rendering for wide
32273 2009-01-19 Robert Millan <rmh@aybabtu.com>
32275 * config.guess: Update to latest version from config git.
32276 * config.sub: Likewise.
32278 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
32280 * Makefile.in: Change font compilation to use new grub-mkfont instead
32283 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32284 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32285 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32286 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32287 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32288 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32289 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32290 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32291 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32293 2009-01-16 Christian Franke <franke@computer.org>
32295 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32296 (enum grub_ata_timeout_milliseconds): New enum.
32297 (grub_ata_wait_status): Add parameter milliseconds.
32298 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32299 recovery from timed-out commands.
32300 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32301 return grub_errno instead of REG_ERROR.
32302 (grub_ata_pio_write): Add parameter milliseconds.
32303 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32304 Pass milliseconds to grub_ata_wait_status () and
32305 grub_ata_pio_read ().
32306 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32307 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32308 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32309 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32310 It is not suitable for device detection, because DEV bit is ignored,
32311 the command may run too long, and not all devices set the signature
32313 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32314 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32315 Fix device selection, DEV bit must be set first to address the registers
32316 of the correct device.
32317 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32318 grub_ata_pio_read/write ().
32319 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32320 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32322 2009-01-13 Carles Pina i Estany <carles@pina.cat>
32324 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32326 2009-01-13 Bean <bean123ch@gmail.com>
32328 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32330 2009-01-13 Bean <bean123ch@gmail.com>
32332 * Makefile.in: (enable_grub_mkfont): New variable.
32333 (freetype_cflags): Likewise.
32334 (freetype_libs): Likewise.
32336 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32337 (grub_mkfont_SOURCES): New variable.
32338 (grub_mkfont_CFLAGS): Likewise.
32339 (grub_mkfont_LDFLAGS): Likewise.
32341 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32342 library if `--enable-grub-mkfont' is requested.
32343 (enable_grub_mkfont): New variable.
32344 (freetype_cflags): Likewise.
32345 (freetype_libs): Likewise.
32347 * util/grub-mkfont.c: New file.
32349 2009-01-12 Christian Franke <franke@computer.org>
32351 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32352 mode check. Fix setting of compat_use[].
32354 2009-01-10 Robert Millan <rmh@aybabtu.com>
32356 Update a few copyright years which we forgot to do in 2008 (only for
32357 files whose changes made in 2008 were copyright-significant)
32359 * Makefile.in: Add 2008 to Copyright line.
32360 * disk/ieee1275/ofdisk.c: Likewise.
32361 * disk/efi/efidisk.c: Likewise.
32362 * kern/dl.c: Likewise.
32363 * kern/sparc64/ieee1275/init.c: Likewise.
32364 * kern/mm.c: Likewise.
32365 * kern/efi/mm.c: Likewise.
32366 * boot/i386/pc/boot.S: Likewise.
32367 * genfslist.sh: Likewise.
32368 * fs/iso9660.c: Likewise.
32369 * fs/hfs.c: Likewise.
32370 * fs/jfs.c: Likewise.
32371 * fs/minix.c: Likewise.
32372 * fs/ufs.c: Likewise.
32373 * gensymlist.sh.in: Likewise.
32374 * genkernsyms.sh.in: Likewise.
32375 * include/grub/misc.h: Likewise.
32376 * include/grub/types.h: Likewise.
32377 * include/grub/symbol.h: Likewise.
32378 * include/grub/elf.h: Likewise.
32379 * include/grub/kernel.h: Likewise.
32380 * include/grub/disk.h: Likewise.
32381 * include/grub/dl.h: Likewise.
32382 * include/grub/i386/linux.h: Likewise.
32383 * include/grub/i386/pc/biosdisk.h: Likewise.
32384 * include/grub/efi/api.h: Likewise.
32385 * include/grub/efi/pe32.h: Likewise.
32386 * include/grub/util/misc.h: Likewise.
32387 * normal/execute.c: Likewise.
32388 * normal/arg.c: Likewise.
32389 * normal/completion.c: Likewise.
32390 * normal/lexer.c: Likewise.
32391 * normal/parser.y: Likewise.
32392 * normal/misc.c: Likewise.
32393 * commands/i386/pc/vbeinfo.c: Likewise.
32394 * commands/hexdump.c: Likewise.
32395 * commands/terminal.c: Likewise.
32396 * commands/ls.c: Likewise.
32397 * commands/help.c: Likewise.
32398 * partmap/pc.c: Likewise.
32399 * loader/efi/chainloader.c: Likewise.
32400 * loader/multiboot_loader.c: Likewise.
32401 * loader/i386/pc/multiboot2.c: Likewise.
32402 * term/efi/console.c: Likewise.
32403 * term/i386/pc/serial.c: Likewise.
32404 * util/lvm.c: Likewise.
32405 * util/console.c: Likewise.
32406 * util/i386/efi/grub-mkimage.c: Likewise.
32407 * util/raid.c: Likewise.
32409 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
32411 * commands/videotest.c: Removed include to grub/machine/memory.h.
32413 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
32414 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
32415 (video_mod_SOURCES): Removed.
32416 (video_mod_CFLAGS): Likewise.
32417 (video_mod_LDFLAGS): Likewise.
32418 (gfxterm_mod_SOURCES): Likewise.
32419 (gfxterm_mod_CFLAGS): Likewise.
32420 (gfxterm_mod_LDFLAGS): Likewise.
32421 (videotest_mod_SOURCES): Likewise.
32422 (videotest_mod_CFLAGS): Likewise.
32423 (videotest_mod_LDFLAGS): Likewise.
32424 (bitmap_mod_SOURCES): Likewise.
32425 (bitmap_mod_CFLAGS): Likewise.
32426 (bitmap_mod_LDFLAGS): Likewise.
32427 (tga_mod_SOURCES): Likewise.
32428 (tga_mod_CFLAGS): Likewise.
32429 (tga_mod_LDFLAGS): Likewise.
32430 (jpeg_mod_SOURCES): Likewise.
32431 (jpeg_mod_CFLAGS): Likewise.
32432 (jpeg_mod_LDFLAGS): Likewise.
32433 (png_mod_SOURCES): Likewise.
32434 (png_mod_CFLAGS): Likewise.
32435 (png_mod_LDFLAGS): Likewise.
32437 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
32438 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
32439 (video_mod_SOURCES): Added.
32440 (video_mod_CFLAGS): Likewise.
32441 (video_mod_LDFLAGS): Likewise.
32442 (videotest_mod_SOURCES): Likewise.
32443 (videotest_mod_CFLAGS): Likewise.
32444 (videotest_mod_LDFLAGS): Likewise.
32445 (bitmap_mod_SOURCES): Likewise.
32446 (bitmap_mod_CFLAGS): Likewise.
32447 (bitmap_mod_LDFLAGS): Likewise.
32448 (tga_mod_SOURCES): Likewise.
32449 (tga_mod_CFLAGS): Likewise.
32450 (tga_mod_LDFLAGS): Likewise.
32451 (jpeg_mod_SOURCES): Likewise.
32452 (jpeg_mod_CFLAGS): Likewise.
32453 (jpeg_mod_LDFLAGS): Likewise.
32454 (png_mod_SOURCES): Likewise.
32455 (png_mod_CFLAGS): Likewise.
32456 (png_mod_LDFLAGS): Likewise.
32457 (gfxterm_mod_SOURCES): Likewise.
32458 (gfxterm_mod_CFLAGS): Likewise.
32459 (gfxterm_mod_LDFLAGS): Likewise.
32461 * term/gfxterm.c: Removed include to grub/machine/memory.h,
32462 grub/machine/console.h.
32464 2009-01-04 Jerone Young <jerone@gmail.com>
32466 Make on screen instructions clearer
32468 Based on patch created by Jidanni <jidanni@jidanni.org>
32470 * normal/menu.c: print clearer instructions on the screen
32472 2009-01-02 Colin D Bennett <colin@gibibit.com>
32476 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
32477 build system and fixed gfxterm.c to work with different sized fonts.
32479 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
32481 * configure: Re-generated.
32483 * DISTLIST: Removed font/manager.c.
32485 Added font/font_cmd.c.
32487 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
32490 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
32492 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
32494 * kern/term.c: Changed users of grub_utf8_to_ucs4.
32496 * normal/menu.c: Likewise.
32498 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
32499 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
32501 * include/grub/font.h: Replaced with new file.
32503 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
32504 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
32505 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
32506 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
32507 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
32508 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
32509 fg_red, fg_green, fg_blue, fg_alpha.
32510 (grub_video_adapter): Removed blit_glyph.
32511 (grub_video_blit_glyph): Removed.
32513 * font/manager.c: Removed file.
32515 * font/font.c: New file.
32517 * font/font_cmd.c: Likewise.
32519 * video/video.c (grub_video_blit_glyph): Removed.
32521 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
32522 (grub_video_vbe_map_rgba): Likewise.
32523 (grub_video_vbe_unmap_color_int): Likewise.
32524 (grub_video_vbe_blit_glyph): Removed.
32525 (grub_video_vbe_adapter): Removed blit_glyph.
32527 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
32528 (get_pixel): Likewise.
32529 (set_pixel): Likewise.
32531 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
32533 * term/gfxterm.c: Adapted to new font engine.
32535 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
32537 * term/i386/pc/vga.c: Likewise.
32539 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
32541 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32543 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32545 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32547 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32549 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32551 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32553 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32555 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32557 * util/grub.d/00_header.in: Changed to use new loadfont command.
32559 * util/grub-mkconfig_lib.in: Changed font extension.
32561 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
32563 * util/getroot.c (grub_util_get_grub_dev): Add support for
32564 /dev/md/dNNpNN style partitionable mdraid devices.
32566 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
32568 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
32569 at a time limit of the PXE TFTP API correctly.
32570 (grub_pxefs_close): Likewise.
32572 2008-11-29 Robert Millan <rmh@aybabtu.com>
32574 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
32575 grub_ata_device_initialize() calls.
32577 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
32579 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
32581 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
32583 2008-11-28 Robert Millan <rmh@aybabtu.com>
32585 Fix build on powerpc-ieee1275. Based on patch created by
32586 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
32587 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32588 `kern/ieee1275/mmap.c'.
32589 * include/grub/powerpc/ieee1275/memory.h: New file.
32591 Provide grub-install on coreboot.
32592 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
32593 (grub_install_SOURCES): New variable.
32594 * util/i386/pc/grub-install.in: Add a few condition checks to make it
32595 usable on coreboot.
32597 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
32599 * util/grub-fstest.c (grub_term_get_current_input): Change return type
32600 to `grub_term_input_t'.
32601 (grub_term_get_current_output): Change return type to
32602 `grub_term_output_t'.
32604 2008-11-22 Robert Millan <rmh@aybabtu.com>
32606 Fix breakage on coreboot due to declaration mismatch.
32607 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
32608 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
32609 grub_vga_text_cls().
32611 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
32612 comments. Avoid copying one more byte than necessary (just in case).
32614 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
32615 to 0x200000 (avoids trouble with some OFW implementations, and matches
32616 with the one in Yaboot).
32617 Reported by Manoel Abranches
32619 2008-11-20 Robert Millan <rmh@aybabtu.com>
32621 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
32622 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
32624 * util/grub-mkconfig_lib.in (grub_warn): New function.
32625 (convert_system_path_to_grub_path): Use grub_warn() when issuing
32626 warnings, to obtain consistent formatting.
32627 * util/grub.d/00_header.in: Likewise.
32628 * util/update-grub_lib.in: Likewise.
32630 * loader/i386/linux.c (allocate_pages): Fix a warning.
32631 Move comment text to `#error' stanza.
32633 Harmonize ieee1275's grub_available_iterate() with the generic
32634 grub_machine_mmap_iterate() interface (fixes a recently-introduced
32635 build problem on i386-ieee1275):
32636 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
32637 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
32638 parameter `type'. Update all users of this function.
32639 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32640 `kern/ieee1275/mmap.c'.
32641 * kern/ieee1275/init.c
32642 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
32644 (grub_machine_mmap_iterate): ... this.
32645 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
32646 return type to `grub_err_t'. Update all implementations of this
32647 function prototype.
32648 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
32651 Add `lsmmap' command (lists firmware-provided memory map):
32652 * commands/lsmmap.c: New file.
32653 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
32654 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
32656 * conf/powerpc-ieee1275.rmk: Likewise.
32657 * conf/i386-coreboot.rmk: Likewise.
32658 * conf/i386-ieee1275.rmk: Likewise.
32660 2008-11-19 Robert Millan <rmh@aybabtu.com>
32662 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
32663 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
32664 constraints to initrd allocation (based on code from
32665 loader/i386/pc/linux.c). Without them, initrd was allocated too high
32666 for Linux to find it.
32668 2008-11-14 Robert Millan <rmh@aybabtu.com>
32670 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
32671 order to cope with duplicate slashes.
32673 2008-11-14 Robert Millan <rmh@aybabtu.com>
32675 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
32676 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
32677 don't want to mess with lower memory, because it is used in the Linux
32680 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
32681 an appropriate place in lower memory, between 0x10000 and 0x90000,
32682 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
32683 is in our heap (probably as a result of it being corrupted during
32684 decompression). Add #error instance with comment to explain why this
32685 loader isn't currently usable on PC/BIOS.
32687 2008-11-14 Robert Millan <rmh@aybabtu.com>
32689 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
32690 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
32692 2008-11-12 Robert Millan <rmh@aybabtu.com>
32694 Make loader/i386/linux.c buildable on i386-pc (although disabled).
32696 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
32697 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
32699 * include/grub/i386/pc/memory.h: ... to here.
32701 2008-11-12 Robert Millan <rmh@aybabtu.com>
32703 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
32706 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
32707 (grub_console_cur_color, grub_console_real_putchar)
32708 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32709 (grub_console_setcolorstate, grub_console_setcolor)
32710 (grub_console_getcolor): Move from here ...
32711 * include/grub/i386/vga_common.h: ... to here (new file).
32713 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
32714 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
32715 `<grub/i386/io.h>'.
32716 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
32717 `<grub/i386/vga_common.h>'.
32719 2008-11-12 Robert Millan <rmh@aybabtu.com>
32721 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
32722 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
32723 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
32725 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32726 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
32728 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
32729 grub_console_init() with call to grub_vga_text_init().
32730 (grub_machine_fini): Replace call to
32731 grub_console_fini() with call to grub_vga_text_fini() and
32732 grub_at_keyboard_fini().
32734 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
32735 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32736 (grub_console_setcolorstate, grub_console_setcolor)
32737 (grub_console_getcolor): New function prototypes.
32739 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
32740 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
32741 (grub_vga_text_setcursor): Static-ize.
32742 (grub_vga_text_term): New structure.
32743 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
32745 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
32746 (grub_console_cur_color, grub_console_standard_color)
32747 (grub_console_normal_color, grub_console_highlight_color)
32748 (map_char, grub_console_putchar, grub_console_getcharwidth)
32749 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
32750 (grub_console_getcolor): Move from here ...
32751 * term/i386/vga_common.c: ... to here (same function names).
32753 2008-11-12 Robert Millan <rmh@aybabtu.com>
32755 Use newly-added Multiboot support in coreboot.
32757 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32758 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
32760 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
32761 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
32762 (codestart): Store the MBI in `startup_multiboot_info' when we're
32763 being loaded using Multiboot.
32765 * kern/i386/coreboot/init.c (grub_machine_init): Move
32766 grub_at_keyboard_init() call to beginning of function (useful for
32767 debugging). Call grub_machine_mmap_init() before attempting to use
32768 grub_machine_mmap_iterate().
32769 (grub_lower_mem, grub_upper_mem): Move from here ...
32770 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
32773 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
32774 function prototype.
32776 2008-11-12 Robert Millan <rmh@aybabtu.com>
32778 Fix a regression introduced by the at_keyboard.mod split. Because
32779 some terminals are default on some platforms and non-default on
32780 others, the first terminal being registered determines which is
32781 going to be default.
32783 * kern/term.c (grub_term_register_input): If this is the first
32784 terminal being registered, set it as the current one.
32785 (grub_term_register_output): Likewise.
32787 * term/efi/console.c (grub_console_init): Do not call
32788 grub_term_set_current_output() or grub_term_set_current_input().
32789 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
32790 * term/i386/pc/console.c (grub_console_init): Likewise.
32791 (grub_console_fini): Do not call grub_term_set_current_input()
32792 (but leave grub_term_set_current_output() to restore text mode).
32794 2008-11-10 Robert Millan <rmh@aybabtu.com>
32796 * util/grub.d/00_header.in: Add backward compatibility check for
32797 versions of terminal.mod that don't understand `terminal_input' or
32800 2008-11-09 Robert Millan <rmh@aybabtu.com>
32802 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
32803 `terminal_input' / `terminal_output', not `terminal'.
32805 2008-11-08 Robert Millan <rmh@aybabtu.com>
32807 * Makefile.in (include_DATA): Fix srcdir=. assumption.
32808 (DISTCLEANFILES): Add `build_env.mk'.
32810 2008-11-08 Robert Millan <rmh@aybabtu.com>
32812 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
32813 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32814 members. Update all users.
32815 * util/console.c (grub_ncurses_term): Split in ...
32816 (grub_ncurses_term_input): ... this, and ...
32817 (grub_ncurses_term_output): ... this. Update all users.
32818 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
32820 2008-11-08 Robert Millan <rmh@aybabtu.com>
32822 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
32823 (PKGDATA): Add $(pkgdata_SRCDIR).
32824 (pkglib_BUILDDIR): New variable.
32825 (pkgdata_SRCDIR): New variable.
32826 (build_env.mk): New target.
32827 (include_DATA): New variable.
32828 (install-local): Install $(include_DATA) files in $(includedir).
32830 2008-11-07 Pavel Roskin <proski@gnu.org>
32832 * gendistlist.sh: Use C locale for sorting to ensure consistent
32833 output on all systems.
32835 * util/grub.d/00_header.in: Remove incorrect space before
32838 2008-11-07 Robert Millan <rmh@aybabtu.com>
32840 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
32842 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
32843 * loader/multiboot_loader.c (find_multi_boot2_header): New function
32844 (based on find_multi_boot1_header).
32845 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
32846 using find_multi_boot2_header(), and abort if neither Multiboot or
32847 Multiboot headers were found.
32849 2008-11-07 Robert Millan <rmh@aybabtu.com>
32851 Modularize at_keyboard.mod:
32853 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
32854 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
32855 (at_keyboard_mod_LDFLAGS): New variables.
32857 Actual terminal split:
32859 * include/grub/term.h (struct grub_term): Split in ...
32860 (struct grub_term_input): ... this, and ...
32861 (struct grub_term_output): ... this. Update all users.
32862 (grub_term_set_current): Split in ...
32863 (grub_term_set_current_input): ... this, and ...
32864 (grub_term_set_current_output): ... this.
32865 (grub_term_get_current): Split in ...
32866 (grub_term_get_current_input): ... this, and ...
32867 (grub_term_get_current_output): ... this.
32868 (grub_term_register): Split in ...
32869 (grub_term_register_input): ... this, and ...
32870 (grub_term_register_output): ... this.
32871 (grub_term_unregister): Split in ...
32872 (grub_term_unregister_input): ... this, and ...
32873 (grub_term_unregister_output): ... this.
32874 (grub_term_iterate): Split in ...
32875 (grub_term_iterate_input): ... this, and ...
32876 (grub_term_iterate_output): ... this.
32878 * kern/term.c (grub_term_list): Split in ...
32879 (grub_term_list_input): ... this, and ...
32880 (grub_term_list_output): ... this. Update all users.
32881 (grub_cur_term): Split in ...
32882 (grub_cur_term_input): ... this, and ...
32883 (grub_cur_term_output): ... this. Update all users.
32884 (grub_term_set_current): Split in ...
32885 (grub_term_set_current_input): ... this, and ...
32886 (grub_term_set_current_output): ... this.
32887 (grub_term_get_current): Split in ...
32888 (grub_term_get_current_input): ... this, and ...
32889 (grub_term_get_current_output): ... this.
32890 (grub_term_register): Split in ...
32891 (grub_term_register_input): ... this, and ...
32892 (grub_term_register_output): ... this.
32893 (grub_term_unregister): Split in ...
32894 (grub_term_unregister_input): ... this, and ...
32895 (grub_term_unregister_output): ... this.
32896 (grub_term_iterate): Split in ...
32897 (grub_term_iterate_input): ... this, and ...
32898 (grub_term_iterate_output): ... this.
32900 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
32901 a check for input and one for output (and only attempt to get keys
32902 from user when input works).
32904 * util/grub-probe.c (grub_term_get_current): Split in ...
32905 (grub_term_get_current_input): ... this, and ...
32906 (grub_term_get_current_output): ... this.
32907 * util/grub-fstest.c: Likewise.
32908 * util/i386/pc/grub-setup.c: Likewise.
32909 * util/grub-editenv.c: Likewise.
32911 Portability adjustments:
32913 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
32914 `term/i386/pc/at_keyboard.c'.
32915 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
32916 grub_keyboard_controller_init() (now handled by terminal .init).
32917 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
32918 grub_at_keyboard_init().
32919 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
32920 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
32921 at_keyboard.mod via input terminal interface).
32922 * include/grub/i386/coreboot/console.h: Convert into a stub for
32923 `<grub/i386/pc/console.h>'.
32925 Migrate full terminals to new API:
32927 * term/efi/console.c (grub_console_term): Split into ...
32928 (grub_console_term_input): ... this, and ...
32929 (grub_console_term_output): ... this. Update all users.
32930 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
32931 (grub_ofconsole_init): Split into ...
32932 (grub_ofconsole_init_input): ... this, and ...
32933 (grub_ofconsole_init_output): ... this.
32934 (grub_ofconsole_term): Split into ...
32935 (grub_ofconsole_term_input): ... this, and ...
32936 (grub_ofconsole_term_output): ... this. Update all users.
32937 * term/i386/pc/serial.c (grub_serial_term): Split into ...
32938 (grub_serial_term_input): ... this, and ...
32939 (grub_serial_term_output): ... this. Update all users.
32940 * term/i386/pc/console.c (grub_console_term): Split into ...
32941 (grub_console_term_input): ... this, and ...
32942 (grub_console_term_output): ... this. Update all users.
32943 (grub_console_term_input): Only enable it on PC/BIOS platform.
32944 (grub_console_init): Remove grub_keyboard_controller_init() call.
32946 Migrate input terminals to new API:
32948 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
32949 `i386' and `i386/pc' to enable build on x86_64 (this driver is
32950 i386-specific anyway).
32951 (grub_console_checkkey): Rename to ...
32952 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
32954 (grub_keyboard_controller_orig): New variable.
32955 (grub_console_getkey): Rename to ...
32956 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
32958 (grub_keyboard_controller_init): Static-ize. Save original
32959 controller value so that it can be restored ...
32960 (grub_keyboard_controller_fini): ... here (new function).
32961 (grub_at_keyboard_term): New structure.
32962 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
32965 Migrate output terminals to new API:
32967 * term/i386/pc/vga.c (grub_vga_term): Change type to
32968 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32969 members. Update all users.
32970 * term/gfxterm.c (grub_video_term): Change type to
32971 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32972 members. Update all users.
32973 * include/grub/i386/pc/console.h (grub_console_checkkey)
32974 (grub_console_getkey): Do not export (no longer needed by gfxterm,
32977 Migrate `terminal' command and userland tools to new API:
32979 * commands/terminal.c (grub_cmd_terminal): Split into ...
32980 (grub_cmd_terminal_input): ... this, and ...
32981 (grub_cmd_terminal_output): ... this.
32982 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
32983 `terminal_input' and `terminal_output'.
32984 * util/grub.d/00_header.in: Adjust `terminal' calls to new
32985 `terminal_input' / `terminal_output' API.
32986 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
32987 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
32988 provided ${GRUB_TERMINAL}, convert it).
32990 2008-11-04 Robert Millan <rmh@aybabtu.com>
32992 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
32994 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
32996 2008-11-03 Bean <bean123ch@gmail.com>
32998 * kern/elf.c (grub_elf32_load): Revert to previous code.
32999 (grub_elf64_load): Likewise.
33001 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33003 2008-11-01 Robert Millan <rmh@aybabtu.com>
33005 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33006 (TARGET_CPPFLAGS): Likewise.
33007 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33009 2008-11-01 Carles Pina i Estany <carles@pina.cat>
33011 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33013 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33015 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33016 addition of objects until the code is not going to be able to fail.
33018 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33020 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33021 (add a missing NULL check, and correct them by moving the pointer
33022 operations after the actual check).
33024 2008-10-29 Robert Millan <rmh@aybabtu.com>
33026 * util/i386/pc/grub-install.in: Handle empty string as output from
33027 make_system_path_relative_to_its_root().
33029 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33031 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33032 circular metadata worst case scenario. If the metadata is circular
33033 then copy the wrap in place.
33034 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33035 project lib/format_text/layout.h
33036 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33038 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33040 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
33042 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33044 * util/update-grub_lib.in: Mention filename in warning message.
33046 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33048 * NEWS: Update for rename of update-grub to grub-mkconfig.
33050 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33052 * util/update-grub_lib.in: Copy to ...
33053 * util/grub-mkconfig_lib.in: ... this. Update all users.
33054 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
33055 * util/update-grub.in: Rename to ...
33056 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33057 option. Add `--output' option to allow users to specify the generated
33058 configuration file. Default to stdout.
33059 (update_grub_dir): Rename to ...
33060 (grub_mkconfig_dir): ... this.
33061 (grub_cfg): Default to an empty string.
33062 * conf/common.rmk (update-grub): Rename to ...
33063 (grub-mkconfig): ... this.
33064 (update-grub_lib): Copy to ...
33065 (grub-mkconfig_lib): ... this.
33066 (update-grub_SCRIPTS): Copy to ...
33067 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33068 (update-grub_DATA): Rename to ...
33069 (grub-mkconfig_DATA): ... this.
33071 2008-09-28 Robert Millan <rmh@aybabtu.com>
33073 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33074 to `modified'. Add the real `created' field.
33075 (grub_iso9660_uuid): Use `modified' rather than `created' for
33076 constructing the UUID.
33078 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
33080 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33081 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33083 2008-09-28 Bean <bean123ch@gmail.com>
33085 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33086 Thanks to Christian Franke for finding this bug.
33088 2008-09-25 Robert Millan <rmh@aybabtu.com>
33090 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33091 instances of grub_util_get_disk_name() (see previous commit).
33093 2008-09-25 Robert Millan <rmh@aybabtu.com>
33095 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33096 `util/i386/get_disk_name.c'.
33097 * conf/i386-efi.rmk: Likewise.
33098 * conf/x86_64-efi.rmk: Likewise.
33099 * conf/i386-coreboot.rmk: Likewise.
33100 * conf/i386-ieee1275.rmk: Likewise.
33101 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33102 `util/ieee1275/get_disk_name.c'.
33103 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33104 * util/ieee1275/get_disk_name.c: Remove file.
33105 * util/i386/get_disk_name.c: Remove file.
33106 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33107 "hd%d" for device.map entries, rather than using
33108 grub_util_get_disk_name().
33110 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33112 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33114 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33116 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33118 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33120 (GRUB_TERM_PPAGE): Changed to 0x4900.
33122 2008-09-24 Robert Millan <rmh@aybabtu.com>
33124 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33125 macros (they were i386-pc specific).
33126 * include/grub/sparc64/ieee1275/console.h: Likewise.
33127 * include/grub/efi/console.h: Likewise.
33129 2008-09-22 Bean <bean123ch@gmail.com>
33131 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33132 resident and in attribute list.
33134 * include/grub/ntfs.h (BMP_LEN): Removed.
33136 2008-09-22 Bean <bean123ch@gmail.com>
33138 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
33139 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33141 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33142 error occurs, as grub_disk_open will call grub_disk_close, which will
33143 call p->close (scsi).
33145 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33147 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33148 (AC_PREREQ): Bumped to 2.59.
33149 (AC_TRY_COMPILE): Replace obsolete macro with ...
33150 (AC_COMPILE_IFELSE): ... this.
33151 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33152 (AC_LINK_IFELSE): ... this.
33154 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33156 * autogen.sh: Add a call to `gendistlist.sh'.
33158 2008-09-19 Christian Franke <franke@computer.org>
33160 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33161 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33162 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33163 Export __enable_execute_stack() to modules.
33164 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33167 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33169 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33172 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33174 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
33175 #include <grub/util/hostdisk.h>.
33177 2008-09-08 Robert Millan <rmh@aybabtu.com>
33179 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33180 segments when their filesz is zero (grub_file_read() interprets
33181 zero-size as "read until EOF", which results in memory corruption).
33182 Use `lowest_segment' rather than 0 for calculating the current
33183 segment load address.
33185 2008-09-08 Robert Millan <rmh@aybabtu.com>
33187 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33188 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33189 clobbered useful information.
33191 2008-09-08 Robert Millan <rmh@aybabtu.com>
33193 * include/grub/util/biosdisk.h: Move to ...
33194 * include/grub/util/hostdisk.h: ... here. Update all users.
33195 * util/biosdisk.c: Move to ...
33196 * util/hostdisk.c: ... here. Update all users.
33198 2008-09-07 Robert Millan <rmh@aybabtu.com>
33200 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33202 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33203 and length can be stored directly in the `mbi->mmap_addr' and
33204 `mbi->mmap_length' struct fields.
33206 2008-09-07 Robert Millan <rmh@aybabtu.com>
33208 * conf/i386.rmk: New file. Provides declaration for building
33210 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33211 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33213 Include `conf/i386.mk'.
33214 * conf/i386-efi.rmk: Likewise.
33215 * conf/x86_64-efi.rmk: Likewise.
33216 * conf/i386-coreboot.rmk: Likewise.
33217 * conf/i386-ieee1275.rmk: Likewise.
33219 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33221 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33222 Adds optimization support for BGR based modes.
33224 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33225 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33226 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33227 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33228 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33229 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33230 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33231 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33232 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33233 (grub_video_i386_vbeblit_index_index): Likewise.
33234 (grub_video_i386_vbeblit_replace_directN): Added.
33235 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33236 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33237 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33238 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33239 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33240 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33241 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33242 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33243 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33244 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33245 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33246 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33247 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33249 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33250 (grub_video_i386_vbefill_R8G8B8): Likewise.
33251 (grub_video_i386_vbefill_index): Likewise.
33252 (grub_video_i386_vbefill_direct32): Added.
33253 (grub_video_i386_vbefill_direct24): Likewise.
33254 (grub_video_i386_vbefill_direct16): Likewise.
33255 (grub_video_i386_vbefill_direct8): Likewise.
33257 * include/grub/video.h (grub_video_blit_format): Removed
33258 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33259 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33260 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33261 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33262 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
33264 * video/video.c (grub_video_get_blit_format): Updated to use new
33265 blit formats. Added handling for 16 bit color modes.
33267 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
33269 (common_blitter): Updated to use new blitters.
33271 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33273 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33274 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33275 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33276 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33277 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33278 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33279 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33280 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33281 (grub_video_i386_vbeblit_index_index): Likewise.
33282 (grub_video_i386_vbeblit_replace_directN): Added.
33283 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33284 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33285 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33286 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33287 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33288 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33289 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33290 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33291 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33292 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33293 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33294 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33295 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33297 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33298 (grub_video_i386_vbefill_R8G8B8): Likewise.
33299 (grub_video_i386_vbefill_index): Likewise.
33300 (grub_video_i386_vbefill_direct32): Added.
33301 (grub_video_i386_vbefill_direct24): Likewise.
33302 (grub_video_i386_vbefill_direct16): Likewise.
33303 (grub_video_i386_vbefill_direct8): Likewise.
33305 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33308 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33311 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33314 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33317 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33319 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33322 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33324 * fs/iso9660.c (grub_iso9660_date): New structure.
33325 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33326 (grub_iso9660_uuid): New function.
33328 2008-09-05 Bean <bean123ch@gmail.com>
33330 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33332 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33333 insensitive bit for names in Win32 and Win32 & DOS namespace.
33335 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33337 * include/grub/types.h (LONG_MAX): Likewise.
33339 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33341 * util/getroot.c: Include <config.h>.
33342 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33343 add support for /dev/md/N devices and handle LVM double dash escaping.
33345 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33347 * config.guess: Update to latest version from config git.
33348 * config.sub: Likewise.
33350 2008-09-03 Robert Millan <rmh@aybabtu.com>
33352 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33353 `disk->total_sectors'.
33355 2008-09-01 Colin D Bennett <colin@gibibit.com>
33357 * include/grub/normal.h: Fixed incorrect comment for
33358 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
33360 2008-09-01 Colin D Bennett <colin@gibibit.com>
33362 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
33363 values with defines.
33365 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
33366 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
33367 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
33368 (GRUB_VBE_MODEATTR_COLOR): Likewise.
33369 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
33370 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
33371 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
33372 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
33373 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
33374 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
33375 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
33376 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
33377 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
33378 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
33379 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
33380 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
33381 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
33382 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
33383 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
33385 2008-08-31 Robert Millan <rmh@aybabtu.com>
33387 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
33389 (grub_multiboot): Fix a few warnings.
33391 2008-08-31 Robert Millan <rmh@aybabtu.com>
33393 * loader/i386/pc/multiboot.c: Update comment not to say that
33394 boot_device support is unimplemented.
33396 2008-08-31 Robert Millan <rmh@aybabtu.com>
33398 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
33399 or memory map support are unimplemented.
33401 2008-08-31 Colin D Bennett <colin@gibibit.com>
33403 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
33405 2008-08-31 Colin D Bennett <colin@gibibit.com>
33407 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
33408 total video memory in 'vbeinfo' output; show color format details for
33411 2008-08-30 Pavel Roskin <proski@gnu.org>
33413 * util/genmoddep.c: Remove for real this time.
33414 * DISTLIST: Remove util/genmoddep.c.
33416 2008-08-30 Robert Millan <rmh@aybabtu.com>
33418 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
33419 as required by Multiboot spec (it was already 4-byte aligned, but
33422 2008-08-29 Pavel Roskin <proski@gnu.org>
33424 * kern/powerpc/ieee1275/crt0.S: Rename to ...
33425 * kern/powerpc/ieee1275/startup.S: ... this.
33426 * conf/powerpc-ieee1275.rmk: Adjust for the above.
33427 * DISTLIST: Likewise.
33429 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
33430 grub/cpu/kernel.h. Add start label for consistency with other
33431 platforms. Add grub_prefix immediately after start. Add jump
33432 to the code after grub_prefix.
33433 * include/grub/powerpc/kernel.h: Provide valid values for
33434 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
33436 2008-08-29 Bean <bean123ch@gmail.com>
33438 * configure.ac: Change host_os to cygwin for mingw.
33439 (asprintf): New check for function.
33441 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
33442 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
33444 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
33445 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
33446 sync, sleep and grub_util_get_disk_size for mingw.
33448 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
33449 to get size in mingw.
33450 (open_device): Use flag O_BINARY if it's defined.
33451 (find_root_device): Add dummy code for mingw.
33453 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
33454 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
33455 (get_scsi_disk_name): Return 0 for mingw.
33457 * util/hostfs.c: #include <grub/util/misc.h>.
33458 (grub_hostfs_open): Use "rb" flag to open file, use
33459 grub_util_get_disk_size to get disk size for mingw.
33461 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
33462 (asprintf): New function if HAVE_ASPRINTF is not set.
33463 (sync): New function for mingw.
33465 (grub_util_get_disk_size): Likewise.
33467 2008-08-28 Pavel Roskin <proski@gnu.org>
33469 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33472 2008-08-28 Robert Millan <rmh@aybabtu.com>
33474 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
33476 2008-08-28 Robert Millan <rmh@aybabtu.com>
33478 Change find_grub_drive() syntax so it doesn't prevent it from
33479 detecting NULL names as errors.
33481 * util/biosdisk.c (find_grub_drive): Move free slot search code
33483 (find_free_slot): ... to here.
33484 (read_device_map): Use find_free_slot() to search for free slots.
33486 2008-08-27 Marco Gerards <marco@gnu.org>
33488 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
33489 (scsi_mod_SOURCES): New variable.
33490 (scsi_mod_CFLAGS): Likewise
33491 (scsi_mod_LDFLAGS): Likewise.
33493 * disk/scsi.c: New file.
33495 * include/grub/scsi.h: Likewise.
33497 * include/grub/scsicmd.h: Likewise.
33499 * disk/ata.c: Include <grub/scsi.h>.
33500 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
33502 (grub_ata_iterate): Skip ATAPI devices.
33503 (grub_ata_open): Only handle ATAPI devices.
33504 (struct grub_atapi_read): Removed.
33505 (grub_atapi_readsector): Likewise.
33506 (grub_ata_read): No longer handle ATAPI devices.
33507 (grub_ata_write): Likewise.
33508 (grub_atapi_iterate): New function.
33509 (grub_atapi_read): Likewise.
33510 (grub_atapi_write): Likewise.
33511 (grub_atapi_open): Likewise.
33512 (grub_atapi_close): Likewise.
33513 (grub_atapi_dev): New variable.
33514 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
33515 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
33517 * include/grub/disk.h (enum grub_disk_dev_id): Add
33518 `GRUB_DISK_DEVICE_SCSI_ID'.
33520 2008-08-26 Robert Millan <rmh@aybabtu.com>
33522 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
33523 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
33526 2008-08-23 Bean <bean123ch@gmail.com>
33528 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
33529 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33530 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
33531 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
33533 (raid5rec_mod_SOURCES): New macro.
33534 (raid5rec_mod_CFLAGS): Likewise.
33535 (raid5rec_mod_LDFLAGS): Likewise.
33536 (raid6rec_mod_SOURCES): Likewise.
33537 (raid6rec_mod_CFLAGS): Likewise.
33538 (raid6rec_mod_LDFLAGS): Likewise.
33539 (mdraid_mod_SOURCES): Likewise.
33540 (mdraid_mod_CFLAGS): Likewise.
33541 (mdraid_mod_LDFLAGS): Likewise.
33542 (dm_nv_mod_SOURCES): Likewise.
33543 (dm_nv_mod_CFLAGS): Likewise.
33544 (dm_nv_mod_LDFLAGS): Likewise.
33546 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
33547 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33548 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33550 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
33551 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33553 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33555 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33557 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33559 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33561 * disk/raid5_recover.c: New file.
33563 * disk/raid6_recover.c: Likewise.
33565 * disk/mdraid_linux.c: Likewise.
33567 * disk/dmraid_nvidia.c: Likewise.
33569 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
33572 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
33573 calculate the size of raid device.
33574 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
33575 different layout of raid5.
33576 (grub_raid_scan_device): Remove code specific to mdraid.
33577 (grub_raid_list): New variable.
33578 (free_array): New function.
33579 (grub_raid_register): Likewise.
33580 (grub_raid_unregister): Likewise.
33581 (grub_raid_rescan): Likewise.
33582 (GRUB_MOD_INIT): Don't iterate device here.
33583 (GRUB_MOD_FINI): Use free_array to release resource.
33585 * include/grub/raid.h: Remove macro and structure specific to mdraid.
33586 (grub_raid5_recover_func_t): New function variable type.
33587 (grub_raid6_recover_func_t): Likewise.
33588 (grub_raid5_recover_func): New variable.
33589 (grub_raid6_recover_func): Likewise.
33590 (grub_raid_register): New function.
33591 (grub_raid_unregister): Likewise.
33592 (grub_raid_rescan): Likewise.
33593 (grub_raid_block_xor): Likewise.
33595 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
33596 (CMD_CRC): New macro.
33598 (read_file): Handle device as well as file.
33599 (cmd_crc): New function.
33600 (fstest): Handle multiple disks.
33601 (options): Remove part, raw and long, add root and diskcount.
33602 (usage): Add crc, remove -p, -r, -l, add -r and -c.
33603 (main): Find the first non option entry and ignore subsequent options,
33604 add handling for the new options, support multiple disks.
33606 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
33608 2008-08-23 Bean <bean123ch@gmail.com>
33610 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
33612 * genfslist.sh: Ignore kernel.mod.
33614 * genpartmaplist.sh: Likewise.
33616 2008-08-23 Robert Millan <rmh@aybabtu.com>
33618 * util/getroot.c (find_root_device): Skip anything that starts with
33619 a dot, not just directories. This avoids things like /dev/.tmp.md0.
33621 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
33623 * util/update-grub.in (GRUB_GFXMODE): Export variable.
33624 * util/grub.d/00_header.in: Allow the administrator to change default
33625 gfxmode via ${GRUB_GFXMODE}.
33627 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
33629 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
33631 2008-08-21 Robert Millan <rmh@aybabtu.com>
33633 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
33635 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
33636 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
33638 2008-08-20 Carles Pina i Estany <carles@pina.cat>
33640 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
33641 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
33643 2008-08-19 Robert Millan <rmh@aybabtu.com>
33645 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
33646 (struct grub_virtual_screen): Remove `cursor_color'.
33647 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
33649 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
33651 2008-08-18 Robert Millan <rmh@aybabtu.com>
33653 Unify (identical) linux_normal.c files.
33654 * loader/i386/efi/linux_normal.c: Move from here ...
33655 * loader/linux_normal.c: ... to here. Update all users.
33656 * loader/i386/pc/linux_normal.c: Delete. Update all users.
33657 * loader/i386/ieee1275/linux_normal.c: Likewise.
33659 2008-08-18 Robert Millan <rmh@aybabtu.com>
33661 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
33662 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
33663 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
33664 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
33665 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
33667 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
33668 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
33669 (GRUB_LINUX_CL_END_OFFSET): ... to here.
33670 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
33671 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
33672 (GRUB_EFI_CL_END_OFFSET): Rename to ...
33673 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
33674 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
33675 Initialize `params->video_cursor_x' and `params->video_cursor_y'
33676 portably using grub_getxy().
33677 Replace `-EFI' with `-bzImage' in boot message.
33679 2008-08-17 Robert Millan <rmh@aybabtu.com>
33681 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
33683 2008-08-17 Robert Millan <rmh@aybabtu.com>
33685 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
33687 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
33688 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
33689 (grub_machine_mmap_iterate): New function declaration.
33690 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
33692 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
33695 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
33696 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
33697 Move e820 parsing from here ...
33698 * kern/i386/pc/mmap.c: New file.
33699 (grub_machine_mmap_iterate): ... to here.
33701 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
33702 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
33703 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
33704 (grub_available_iterate): Redeclare to return `void', and redeclare
33705 its hook to use grub_uint64_t as addr and size parameters, and rename
33707 (grub_machine_mmap_iterate): ... this. Update all users.
33709 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
33710 to make it more readable. Rename to ...
33711 (grub_machine_mmap_iterate): ... this.
33713 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
33714 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
33715 (grub_multiboot): Allocate an extra region after the payload, and fill
33716 it with a Multiboot memory map. Adjust a.out loader to calculate size
33717 with the extra space.
33718 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
33719 with the extra space.
33721 2008-08-17 Carles Pina i Estany <carles@pina.cat>
33723 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
33725 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
33727 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
33728 mdate-sh to the list `find' searches for.
33729 * DISTLIST: Regenerated.
33731 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
33733 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
33734 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
33735 genmoddep.awk, gensymlist.sh.in.
33736 (DISTDIRS): Add bus, docs, hook, lib.
33737 * DISTLIST: Regenerated.
33738 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
33740 2008-08-16 Robert Millan <rmh@aybabtu.com>
33742 * disk/raid.c (grub_raid_init): Handle/report errors set by
33743 grub_device_iterate().
33744 * disk/lvm.c (grub_lvm_init): Likewise.
33746 2008-08-15 Bean <bean123ch@gmail.com>
33748 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33750 (datetime_mod_SOURCES): New macro.
33751 (datetime_mod_CFLAGS): Likewise.
33752 (datetime_mod_LDFLAGS): Likewise.
33753 (date_mod_SOURCES): Likewise.
33754 (date_mod_CFLAGS): Likewise.
33755 (date_mod_LDFLAGS): Likewise.
33756 (datehook_mod_SOURCES): Likewise.
33757 (datehook_mod_CFLAGS): Likewise.
33758 (datehook_mod_LDFLAGS): Likewise.
33760 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33762 (datetime_mod_SOURCES): New macro.
33763 (datetime_mod_CFLAGS): Likewise.
33764 (datetime_mod_LDFLAGS): Likewise.
33765 (date_mod_SOURCES): Likewise.
33766 (date_mod_CFLAGS): Likewise.
33767 (date_mod_LDFLAGS): Likewise.
33768 (datehook_mod_SOURCES): Likewise.
33769 (datehook_mod_CFLAGS): Likewise.
33770 (datehook_mod_LDFLAGS): Likewise.
33772 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33774 (datetime_mod_SOURCES): New macro.
33775 (datetime_mod_CFLAGS): Likewise.
33776 (datetime_mod_LDFLAGS): Likewise.
33777 (date_mod_SOURCES): Likewise.
33778 (date_mod_CFLAGS): Likewise.
33779 (date_mod_LDFLAGS): Likewise.
33780 (datehook_mod_SOURCES): Likewise.
33781 (datehook_mod_CFLAGS): Likewise.
33782 (datehook_mod_LDFLAGS): Likewise.
33784 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33786 (datetime_mod_SOURCES): New macro.
33787 (datetime_mod_CFLAGS): Likewise.
33788 (datetime_mod_LDFLAGS): Likewise.
33789 (date_mod_SOURCES): Likewise.
33790 (date_mod_CFLAGS): Likewise.
33791 (date_mod_LDFLAGS): Likewise.
33792 (datehook_mod_SOURCES): Likewise.
33793 (datehook_mod_CFLAGS): Likewise.
33794 (datehook_mod_LDFLAGS): Likewise.
33796 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33798 (datetime_mod_SOURCES): New macro.
33799 (datetime_mod_CFLAGS): Likewise.
33800 (datetime_mod_LDFLAGS): Likewise.
33801 (date_mod_SOURCES): Likewise.
33802 (date_mod_CFLAGS): Likewise.
33803 (date_mod_LDFLAGS): Likewise.
33804 (datehook_mod_SOURCES): Likewise.
33805 (datehook_mod_CFLAGS): Likewise.
33806 (datehook_mod_LDFLAGS): Likewise.
33808 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
33810 * commands/date.c: New file.
33812 * hook/datehook.c: Likewise.
33814 * include/grub/lib/datetime.h: Likewise.
33816 * include/grub/i386/cmos.h: Likewise.
33818 * lib/datetime.c: Likewise.
33820 * lib/i386/datetime.c: Likewise.
33822 * lib/efi/datetime.c: Likewise.
33824 2008-08-14 Robert Millan <rmh@aybabtu.com>
33826 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
33827 (grub_mkelfimage_SOURCES): New variable.
33828 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
33830 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
33831 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
33832 * conf/powerpc-ieee1275.rmk: Likewise.
33833 * conf/i386-ieee1275.rmk: Likewise.
33835 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
33836 * kern/i386/coreboot/init.c: Likewise.
33838 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
33839 with `<grub/cpu/kernel.h>'.
33840 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
33842 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
33843 * kern/i386/coreboot/startup.S: Likewise.
33845 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
33846 (GRUB_MOD_GAP): Remove.
33847 * include/grub/powerpc/kernel.h: New file.
33848 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
33849 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33850 * include/grub/i386/kernel.h: New file.
33851 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
33852 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
33853 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33855 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
33857 Use --directory when invoking grub_mkimage.
33859 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
33860 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
33861 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
33862 and GRUB_KERNEL_CPU_PREFIX.
33864 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
33866 * include/grub/err.h (grub_err_printf): New function prototype.
33867 * util/misc.c (grub_err_printf): New function.
33868 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
33870 * kern/err.c (grub_print_error): Use grub_err_printf.
33872 2008-08-13 Robert Millan <rmh@aybabtu.com>
33874 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
33876 2008-08-13 Robert Millan <rmh@aybabtu.com>
33878 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
33881 2008-08-12 Robert Millan <rmh@aybabtu.com>
33883 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
33884 of the relocation code from here ...
33885 (grub_multiboot): ... to here.
33886 (forward_relocator, backward_relocator): Move from here ...
33887 * kern/i386/loader.S (grub_multiboot_forward_relocator)
33888 (grub_multiboot_backward_relocator): ... to here.
33889 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
33890 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
33891 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
33892 (grub_multiboot_forward_relocator_end)
33893 (grub_multiboot_backward_relocator)
33894 (grub_multiboot_backward_relocator_end): New variables.
33896 2008-08-12 Bean <bean123ch@gmail.com>
33898 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
33900 2008-08-11 Robert Millan <rmh@aybabtu.com>
33902 * kern/i386/linuxbios/startup.S: Move from here ...
33903 * kern/i386/coreboot/startup.S: ... to here.
33905 * kern/i386/linuxbios/init.c: Move from here ...
33906 * kern/i386/coreboot/init.c: ... to here.
33908 * kern/i386/linuxbios/table.c: Move from here ...
33909 * kern/i386/coreboot/mmap.c: ... to here.
33911 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
33913 2008-08-11 Robert Millan <rmh@aybabtu.com>
33915 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
33916 errors. Leave it to the upper layer to handle them.
33918 2008-08-09 Christian Franke <franke@computer.org>
33920 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
33921 * conf/common.rmk: Install `grub-pe2elf' only if requested.
33922 Install `grub.d/10_windows' only on Cygwin.
33923 * configure.ac: Add subst of `target_os'.
33924 Check `target_os' also before setting TARGET_OBJ2ELF.
33925 Add `--enable-grub-pe2elf'.
33927 2008-08-08 Robert Millan <rmh@aybabtu.com>
33929 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33930 (grub_last_time): Change type to grub_uint64_t.
33931 (grub_disk_open): Migrate code from to using grub_get_time_ms().
33932 (grub_disk_close): Likewise.
33934 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33935 (run_menu): Migrate code from to using grub_get_time_ms().
33937 * util/misc.c (grub_get_time_ms): New function.
33939 2008-08-08 Marco Gerards <marco@gnu.org>
33941 * disk/ata.c (grub_ata_regget): Change return type to
33943 (grub_ata_regget2): Likewise.
33944 (grub_ata_wait_status): New function.
33945 (grub_ata_wait_busy): Removed function, updated all users to use
33946 `grub_ata_wait_status'.
33947 (grub_ata_wait_drq): Likewise.
33948 (grub_ata_cmd): New function.
33949 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
33951 (grub_ata_pio_write): Add error handling.
33952 (grub_atapi_identify): Likewise.
33953 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
33955 (grub_ata_identify): Use `grub_ata_cmd' and improve error
33956 handling. Actually use the detected registers. Reorder the
33957 detection logic such that it is easier to read.
33958 (grub_ata_pciinit): Do not assign the same ID to each controller.
33959 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
33961 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
33963 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
33965 2008-08-08 Marco Gerards <marco@gnu.org>
33969 2008-08-07 Bean <bean123ch@gmail.com>
33971 * include/grub/x86_64/pci.h: New file.
33973 2008-08-07 Christian Franke <franke@computer.org>
33975 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
33976 (TIMER2_GATE): Likewise.
33977 (grub_pit_wait): Add enable/disable of the timer2 gate
33978 bit of port 0x61. This fixes a possible infinite loop.
33980 2008-08-07 Bean <bean123ch@gmail.com>
33982 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
33983 kern/i386/tsc.c and kern/i386/pit.c.
33985 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
33988 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
33991 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
33993 2008-08-07 Bean <bean123ch@gmail.com>
33995 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
33997 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
33999 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34000 multiple inclusion. Add #include <grub/types.h>.
34002 2008-08-06 Christian Franke <franke@computer.org>
34004 * conf/common.rmk: Build and install `10_windows'.
34005 * util/grub.d/10_windows.in: New script.
34007 2008-08-06 Pavel Roskin <proski@gnu.org>
34009 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34011 2008-08-06 Robert Millan <rmh@aybabtu.com>
34013 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34014 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34016 2008-08-06 Bean <bean123ch@gmail.com>
34018 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34019 (grub_pxefs_fs_int): Remove dummy definition.
34020 (grub_pxefs_open): Use data->block_size to store the current block
34022 (grub_pxefs_read): Use block size stored in data->block_size. As the
34023 value of grub_pxe_blksize can be changed after the file is opened.
34025 2008-08-06 Bean <bean123ch@gmail.com>
34027 * fs/i386/pc/pxe.c (curr_file): new variable.
34028 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34029 require the dummy internal file system anymore.
34030 (grub_pxefs_read): Removed.
34031 (grub_pxefs_close): Likewise.
34032 (grub_pxefs_fs_int): Likewise.
34033 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34034 connection when we switch file.
34035 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34037 2008-08-06 Robert Millan <rmh@aybabtu.com>
34039 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34041 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34042 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34044 * kern/i386/halt.c: New file.
34045 * kern/i386/reboot.c: Likewise.
34046 * include/grub/i386/reboot.h: Likewise.
34047 * include/grub/i386/halt.h: Likewise.
34049 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34050 Include `<grub/cpu/halt.h>'.
34051 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34052 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34054 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34055 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34056 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34057 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34058 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34059 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34061 * include/grub/i386/at_keyboard.h: ... to here.
34063 2008-08-05 Robert Millan <rmh@aybabtu.com>
34065 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34066 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34067 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34068 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34069 `kern/generic/millisleep.c'.
34071 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34072 instead of grub_get_rtc().
34073 (grub_tsc_init): Initialize `tsc_boot_time'.
34075 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34076 (grub_machine_init): Use grub_tsc_init() rather than
34077 installing an RTC-based handler via grub_install_get_time_ms().
34079 * kern/i386/pit.c: New file.
34080 * include/grub/i386/pit.h: Likewise.
34082 2008-08-05 Bean <bean123ch@gmail.com>
34084 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34086 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34087 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34088 (pxe_mod_SOURCES): New macro.
34089 (pxe_mod_CFLAGS): Likewise.
34090 (pxe_mod_LDFLAGS): Likewise.
34091 (pxecmd_mod_SOURCES): Likewise.
34092 (pxecmd_mod_CFLAGS): Likewise.
34093 (pxecmd_mod_LDFLAGS): Likewise.
34095 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34096 (grub_pxe_call): Likewise.
34098 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34100 * commands/i386/pc/pxecmd.c: New file.
34102 * fs/i386/pc/pxe.c: Likewise.
34104 * include/grub/i386/pc/pxe.h: Likewise.
34106 2008-08-05 Bean <bean123ch@gmail.com>
34108 * util/console.c (grub_console_cur_color): New variable.
34109 (grub_console_standard_color): Likewise.
34110 (grub_console_normal_color): Likewise.
34111 (grub_console_highlight_color): Likewise.
34112 (color_map): Likewise.
34113 (use_color): Likewise.
34114 (NUM_COLORS): New macro.
34115 (grub_ncurses_setcolorstate): Handle color properly.
34116 (grub_ncurses_setcolor): Don't change color here, just remember the
34117 settings, color will be set in grub_ncurses_setcolorstate.
34118 (grub_ncurses_getcolor): New function.
34119 (grub_ncurses_init): Initialize color pairs.
34120 (grub_ncurses_term): New member grub_ncurses_getcolor.
34122 2008-08-05 Colin D Bennett <colin@gibibit.com>
34124 High resolution timer support. Implemented for x86 CPUs using TSC.
34125 Extracted generic grub_millisleep() so it's linked in only as needed.
34126 This requires a Pentium compatible CPU; if the RDTSC instruction is
34127 not supported, then it falls back on the generic grub_get_time_ms()
34128 implementation that uses the machine's RTC.
34130 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34131 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34132 `kern/generic/millisleep.c'.
34134 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34135 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34137 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34138 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34140 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34142 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34143 `kern/generic/millisleep.c'.
34145 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34147 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34149 * kern/generic/rtc_get_time_ms.c: New file.
34151 * kern/generic/millisleep.c: New file.
34153 * kern/misc.c: Don't include
34154 <kern/time.h> anymore.
34155 (grub_millisleep_generic): Removed.
34157 * commands/sleep.c (grub_interruptible_millisleep): Uses
34158 grub_get_time_ms() instead of grub_get_rtc().
34160 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34162 (grub_cpu_is_cpuid_supported): New inline function.
34163 (grub_cpu_is_tsc_supported): New inline function.
34164 (grub_tsc_init): New function prototype.
34165 (grub_tsc_get_time_ms): New function prototype.
34167 * kern/i386/tsc.c (grub_get_time_ms): New file.
34169 * include/grub/time.h: Include <grub/types.h.
34170 (grub_millisleep_generic): Removed.
34171 (grub_get_time_ms): New prototype.
34172 (grub_install_get_time_ms): New prototype.
34173 (grub_rtc_get_time_ms): New prototype.
34175 * kern/time.c (grub_get_time_ms): New function.
34176 (grub_install_get_time_ms): New function.
34178 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34179 <grub/time.h> anymore.
34180 (grub_millisleep): Removed.
34181 (grub_machine_init): Call grub_tsc_init.
34183 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34184 get_time_ms() implementation.
34186 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34187 (ieee1275_get_time_ms): New function.
34188 (grub_machine_init): Install get_time_ms() implementation.
34190 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34191 (grub_machine_init): Call grub_tsc_init().
34192 (grub_millisleep): Removed.
34194 * kern/ieee1275/init.c (grub_millisleep): Removed.
34195 (grub_machine_init): Install ieee1275_get_time_ms()
34197 (ieee1275_get_time_ms): New function.
34198 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34201 2008-08-05 Marco Gerards <marco@gnu.org>
34203 * disk/ata.c: Include <grub/pci.h>.
34204 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34205 (grub_ata_initialize): Rewritten.
34206 (grub_ata_device_initialize): New function.
34208 2008-08-04 Pavel Roskin <proski@gnu.org>
34210 * kern/main.c: Include grub/mm.h.
34212 2008-08-04 Robert Millan <rmh@aybabtu.com>
34214 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34215 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34216 corruption problem).
34218 2008-08-04 Robert Millan <rmh@aybabtu.com>
34220 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34221 warnings introduced in my last commit.
34223 2008-08-03 Robert Millan <rmh@aybabtu.com>
34225 Make PCI available on all i386 architectures.
34227 * include/grub/i386/pc/pci.h: Move from here ...
34228 * include/grub/i386/pci.h: ... to here.
34230 * include/grub/i386/pc/pci.h: Remove.
34231 * include/grub/i386/efi/pci.h: Remove.
34232 * include/grub/x86_64/efi/pci.h: Remove.
34234 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34235 `<grub/cpu/pci.h>'.
34237 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34238 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34239 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34241 * conf/i386-ieee1275.rmk: Likewise.
34243 2008-08-03 Robert Millan <rmh@aybabtu.com>
34245 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34246 (grub_console_setcursor): Make it possible to set cursor off.
34248 2008-08-03 Robert Millan <rmh@aybabtu.com>
34250 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34251 of modules instead of assuming which platform provides what.
34252 * util/update-grub.in: Likewise.
34254 2008-08-03 Robert Millan <rmh@aybabtu.com>
34256 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34257 instead of `grub_install_dos_part' to determine whether a drive needs
34258 to be prepended to prefix (`grub_install_dos_part' is not reliable,
34259 because it can be overridden when loading GRUB via Multiboot).
34261 2008-08-02 Robert Millan <rmh@aybabtu.com>
34263 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34265 2008-08-02 Robert Millan <rmh@aybabtu.com>
34267 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34268 of informational grub_dprintf() calls.
34270 2008-08-02 Robert Millan <rmh@aybabtu.com>
34272 * disk/memdisk.c (memdisk_size): Don't initialize.
34273 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34275 * include/grub/i386/pc/kernel.h
34276 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34277 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34278 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34279 (grub_arch_memdisk_size): Remove.
34281 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34282 field (was only used to transfer a constant). Add `type' field to
34283 support multiple module types.
34284 (grub_module_iterate): New function.
34286 * kern/device.c (grub_device_open): Do not hide error messages
34287 when grub_disk_open() fails. Use grub_print_error() instead.
34289 * kern/i386/pc/init.c (grub_arch_modules_addr)
34290 (grub_arch_memdisk_size): Remove functions.
34291 (grub_arch_modules_addr): Return the module address in high memory
34292 (now that it isn't copied anymore).
34294 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34295 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34296 decompression routine (grub_total_module_size already includes that
34297 now). Don't copy modules back to low memory.
34299 * kern/main.c: Include `<grub/mm.h>'.
34300 (grub_load_modules): Split out (and use) ...
34301 (grub_module_iterate): ... this function, which iterates through
34302 module objects and runs a hook.
34303 Comment out grub_mm_init_region() call, as it would cause non-ELF
34304 modules to be overwritten.
34306 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34307 the memdisk image in its own region, make it part of the module list.
34308 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34309 (main): Parse --memdisk|-m option, and pass user-provided path as
34310 parameter to generate_image().
34311 (add_segments): Pass `memdisk_path' down to load_modules().
34312 (load_modules): Embed memdisk image in module section when requested.
34313 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34314 `header.type' instead of `header.offset'.
34316 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34317 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34318 (memdisk_mod_LDFLAGS): New variables.
34319 * conf/i386-coreboot.rmk: Likewise.
34320 * conf/i386-ieee1275.rmk: Likewise.
34322 2008-08-02 Robert Millan <rmh@aybabtu.com>
34324 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34325 (backward_relocator): New variables. Used to allocate and relocate
34326 the payload, respectively.
34327 (grub_multiboot_load_elf32): Load into heap instead of requested
34328 address, install the appropriate relocator code in each bound of
34329 the payload, and set the entry point such that
34330 grub_multiboot_real_boot() will jump to one of them.
34332 * kern/i386/loader.S (grub_multiboot_payload_size)
34333 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34334 (grub_multiboot_payload_entry_offset): New variables.
34335 (grub_multiboot_real_boot): Set cpu context to what the relocator
34336 expects, and jump to the relocator instead of the payload.
34338 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34339 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34340 (grub_multiboot_payload_entry_offset): Export.
34342 2008-08-01 Bean <bean123ch@gmail.com>
34344 * normal/menu_entry.c (editor_getline): Don't return the original
34345 string as result, as it will be released by lexer once it has done
34348 2008-08-01 Robert Millan <rmh@aybabtu.com>
34350 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34351 within menuentries, not before them.
34352 util/grub.d/10_hurd.in: Likewise.
34354 2008-08-01 Bean <bean123ch@gmail.com>
34356 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34357 (bufio_mod_SOURCES): New macro.
34358 (bufio_mod_CFLAGS): Likewise.
34359 (bufio_mod_LDFLAGS): Likewise.
34361 * include/grub/bufio.h: New file.
34363 * io/bufio.c: Likewise.
34365 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
34366 (grub_video_reader_png): Use grub_buffile_open to open file.
34368 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
34369 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
34371 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
34372 (grub_video_reader_tga): Use grub_buffile_open to open file.
34374 * font/manager.c: Include <grub/bufio.h>.
34375 (add_font): Use grub_buffile_open to open file.
34377 2008-07-31 Robert Millan <rmh@aybabtu.com>
34379 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
34380 ELF segments, use a macro for arbitrarily accessing any of them instead
34381 of preparing a pointer that allows access to one at a time.
34382 (grub_multiboot_load_elf64): Likewise.
34384 2008-07-31 Bean <bean123ch@gmail.com>
34386 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
34387 GRUB_KERNEL_MACHINE_DATA_END.
34389 2008-07-30 Robert Millan <rmh@aybabtu.com>
34391 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
34392 Increase from 0x50 to 0x60.
34393 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
34394 use UUIDs to identify the root drive for them. If that's not
34396 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
34397 check, for cross-disk installs.
34399 2008-07-30 Robert Millan <rmh@aybabtu.com>
34401 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
34402 is non-empty, use it to set the `prefix' environment variable instead
34403 of the usual approach.
34404 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
34405 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
34406 environment variable instead of dummy make_install_device().
34408 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
34409 (start): Insert a data section, with `grub_prefix' variable.
34410 * kern/i386/linuxbios/startup.S: Likewise.
34412 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
34413 New variable reference.
34414 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
34415 New macro. Defines offset of `grub_prefix' within startup.S (relative
34417 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
34418 section within startup.S (relative to `start').
34419 * include/grub/i386/coreboot/kernel.h: Likewise.
34421 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
34422 Overwrite grub_prefix with its contents, at the beginning of the
34424 (main): Understand -p|--prefix.
34426 2008-07-30 Robert Millan <rmh@aybabtu.com>
34428 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
34430 2008-07-30 Robert Millan <rmh@aybabtu.com>
34432 * term/i386/pc/vga_text.c (grub_console_cls): Use
34433 grub_console_gotoxy() to go back to beginning of the screen.
34434 Found by Patrick Georgi <patrick.georgi@coresystems.de>
34436 2008-07-29 Christian Franke <franke@computer.org>
34438 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34439 Add conversion of emulated mount points on Cygwin.
34441 2008-07-29 Christian Franke <franke@computer.org>
34443 * util/update-grub.in: Add a check for admin
34445 Remove old `grub.cfg.new' before creation.
34446 Add `-f' to `mv' to handle the different filesystem
34447 semantics of Windows.
34449 2008-07-29 Bean <bean123ch@gmail.com>
34451 * normal/main.c (get_line): Fix buffer overflow bug.
34453 2008-07-28 Robert Millan <rmh@aybabtu.com>
34455 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
34456 (struct grub_apple_header): New struct. Describes the layout of
34457 the partmap header.
34458 (apple_partition_map_iterate): Check the header magic as well as the
34459 partition magic (which was already being checked).
34461 2008-07-28 Pavel Roskin <proski@gnu.org>
34463 * genmk.rb: Add a warning to the beginning of the output that
34464 it's a generated file and should not be edited.
34466 2008-07-28 Robert Millan <rmh@aybabtu.com>
34468 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34469 with the same number are found, just use issue a warning with
34470 grub_dprintf(), as this error has been reported to be non-fatal.
34472 2008-07-27 Robert Millan <rmh@aybabtu.com>
34474 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
34477 2008-07-27 Bean <bean123ch@gmail.com>
34479 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
34480 (grub_fat_find_dir): Ignore case when comparing filename.
34482 2008-07-27 Bean <bean123ch@gmail.com>
34484 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
34485 smallino, as it's more descriptive, and i8count can be confused with
34486 the other field count.
34487 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
34490 2008-07-27 Bean <bean123ch@gmail.com>
34492 * commands/crc.c: New file.
34494 * lib/crc.c: Likewise.
34496 * include/grub/lib/crc.h: Likewise.
34498 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
34500 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
34501 (hexdump): Move this function to ...
34503 * lib/hexdump.c: ... here.
34505 * include/grub/hexdump.h: Renamed to ...
34507 * include/grub/lib/hexdump.h: ... this.
34509 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
34511 * util/grub-editenv.c: Likewise.
34513 * include/envblk.h: Renamed to ...
34515 * include/lib/envblk.h: ... this.
34517 * util/envblk.c: Renamed to ...
34519 * lib/envblk.c: ... this.
34521 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
34523 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
34524 (pkglib_MODULES): Add crc.mod.
34525 (hexdump_mod_SOURCES): Add lib/hexdump.c.
34526 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
34527 (crc_mod_SOURCES): New macro.
34528 (crc_mod_CFLAGS): Likewise.
34529 (crc_mod_LDFLAGS): Likewise.
34531 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
34533 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34535 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34539 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34541 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
34543 * commands/help.c: Include <grub/term.h>.
34544 (TERM_WIDTH): Removed. Updated all users.
34546 2008-07-27 Pavel Roskin <proski@gnu.org>
34548 * util/getroot.c (find_root_device): Rephrase a comment to avoid
34549 spurious warnings about a comment within a comment.
34551 2008-07-25 Robert Millan <rmh@aybabtu.com>
34553 * util/getroot.c (find_root_device): Skip devices that match
34554 /dev/dm-[0-9]. This lets the real device be found for any type of
34555 abstraction (LVM, EVMS, RAID..).
34556 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
34557 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
34558 device is found first, find_root_device() will now skip it.
34560 2008-07-24 Pavel Roskin <proski@gnu.org>
34562 * include/grub/types.h: Use __builtin_bswap32() and
34563 __builtin_bswap64() with gcc 4.3 and newer.
34565 2008-07-24 Christian Franke <franke@computer.org>
34567 * util/i386/pc/grub-install.in: If `--debug' is specified,
34568 pass `--verbose' to grub-setup.
34569 Abort script if make_system_path_relative_to_its_root() fails.
34571 2008-07-24 Bean <bean123ch@gmail.com>
34573 * configure.ac: Fixed a bug caused by the previous cygwin patch,
34574 variable `target_platform' should be `platform'.
34576 2008-07-24 Bean <bean123ch@gmail.com>
34578 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
34579 (grub_png_init_fixed_block): New function.
34580 (grub_png_decode_image_data): Handle fixed huffman code compression.
34582 2008-07-24 Bean <bean123ch@gmail.com>
34584 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
34585 (grub_pe2elf_SOURCES): New macro.
34586 (CLEANFILES): Add grub-pe2elf.
34588 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
34589 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
34590 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
34591 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
34592 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
34593 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
34594 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
34595 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
34596 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
34597 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
34598 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
34599 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
34600 (GRUB_PE32_DT_FUNCTION): Likewise.
34601 (GRUB_PE32_REL_I386_DIR32): Likewise.
34602 (GRUB_PE32_REL_I386_REL32): Likewise.
34603 (grub_pe32_symbol): New structure.
34604 (grub_pe32_reloc): Likewise.
34606 * util/grub-pe2elf.c: New file.
34608 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
34609 start symbol in non pc platform.
34611 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
34613 The following patches are from Christian Franke.
34615 * include/grub/dl.h: Remove .previous, gas supports this only
34618 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
34619 Remove .type, gas supports this only for ELF format.
34621 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
34622 nullbytes in symbol table. This fixes an infinite loop if table is
34625 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
34626 TARGET_IMG_LDFLAGS and EXEEXT.
34628 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
34629 TARGET_IMG_LDFLAGS_AC.
34630 (grub_CHECK_STACK_ARG_PROBE): New function.
34632 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
34634 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
34636 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
34637 to set TARGET_IMG_LD* accordingly.
34638 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
34639 Add call to grub_CHECK_STACK_ARG_PROBE.
34640 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
34642 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
34644 * genmk.rb: Add EXEEXT to CLEANFILES.
34646 2008-07-23 Robert Millan <rmh@aybabtu.com>
34648 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
34649 define the codes for arrows and lines used for the menu).
34650 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
34653 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
34654 fonts, because the latter are too slow.
34656 2008-07-21 Bean <bean123ch@gmail.com>
34658 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
34659 a20. Run keyboard test last, as it will cause macbook to halt.
34661 2008-07-18 Pavel Roskin <proski@gnu.org>
34663 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
34664 load foreign architecture modules correctly anyway. Keep
34665 support for loading host architecture modules, whether we
34666 compile them or not.
34668 2008-07-17 Pavel Roskin <proski@gnu.org>
34670 * configure.ac: Use -m32 or -m64 regardless of whether we had to
34671 change target_cpu. The compiler default can mismatch target_cpu
34674 * disk/efi/efidisk.c: Fix format warnings on x86_64.
34675 * kern/efi/efi.c: Likewise.
34677 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
34678 target compiler is functional.
34679 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
34682 * configure.ac: Default to efi platform for x86_64-apple. Allow
34683 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
34684 adjustments from the rest, only do them if target is not
34685 explicitly given. Merge other adjustments with the final sanity
34686 check. Remove an extraneous check for supported CPU. Be
34687 specific which CPU and which platform is not supported.
34689 * configure.ac: Default to pc platform for x86_64.
34691 2008-07-17 Robert Millan <rmh@aybabtu.com>
34693 Partial LinuxBIOS -> Coreboot rename.
34695 * conf/i386-linuxbios.rmk: Renamed to ...
34696 * conf/i386-coreboot.rmk: ... this.
34697 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
34698 * configure.ac: Accept "coreboot" as input platform (but maintain
34699 compatibility with "linuxbios").
34700 * include/grub/i386/linuxbios: Renamed to ...
34701 * include/grub/i386/coreboot: ... this.
34703 2008-07-17 Bean <bean123ch@gmail.com>
34705 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
34706 (appleldr_mod_SOURCE): New variable.
34707 (appleldr_mod_CFLAGS): Likewise.
34708 (appleldr_mod_LDFLAGS): Likewise.
34709 (pci_mod_SOURCES): Likewise.
34710 (pci_mod_CFLAGS): Likewise.
34711 (pci_mod_LDFLAGS): Likewise.
34712 (lspci_mod_SOURCES): Likewise.
34713 (lspci_mod_CFLAGS): Likewise.
34714 (lspci_mod_LDFLAGS): Likewise.
34716 * conf/x86_64-efi.rmk: New file.
34718 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
34720 (grub_efidisk_write): Likewise.
34722 * include/efi/api.h (efi_call_0): New macro.
34723 (efi_call_1): Likewise.
34724 (efi_call_2): Likewise.
34725 (efi_call_3): Likewise.
34726 (efi_call_4): Likewise.
34727 (efi_call_5): Likewise.
34728 (efi_call_6): Likewise.
34730 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
34731 grub_rescue_cmd_chainloader.
34733 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
34734 (grub_pe32_optional_header): Change some fields based on i386 or
34736 (GRUB_PE32_PE32_MAGIC): Likewise.
34738 * include/grub/efi/uga_draw.h: New file.
34740 * include/grub/elf.h (STN_ABS): New constant.
34741 (R_X86_64_NONE): Relocation constant for x86_64.
34742 (R_X86_64_64): Likewise.
34743 (R_X86_64_PC32): Likewise.
34744 (R_X86_64_GOT32): Likewise.
34745 (R_X86_64_PLT32): Likewise.
34746 (R_X86_64_COPY): Likewise.
34747 (R_X86_64_GLOB_DAT): Likewise.
34748 (R_X86_64_JUMP_SLOT): Likewise.
34749 (R_X86_64_RELATIVE): Likewise.
34750 (R_X86_64_GOTPCREL): Likewise.
34751 (R_X86_64_32): Likewise.
34752 (R_X86_64_32S): Likewise.
34753 (R_X86_64_16): Likewise.
34754 (R_X86_64_PC16): Likewise.
34755 (R_X86_64_8): Likewise.
34756 (R_X86_64_PC8): Likewise.
34758 * include/grub/i386/efi/pci.h: New file.
34760 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
34761 Change it value based on platform.
34762 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
34763 (GRUB_E820_RAM): Likewise.
34764 (GRUB_E820_RESERVED): Likewise.
34765 (GRUB_E820_ACPI): Likewise.
34766 (GRUB_E820_NVS): Likewise.
34767 (GRUB_E820_EXEC_CODE): Likewise.
34768 (GRUB_E820_MAX_ENTRY): Likewise.
34769 (grub_e820_mmap): New structure.
34770 (linux_kernel_header): Change the efi field according to different
34771 kernel version, also field from linux_kernel_header.
34773 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
34775 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
34776 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
34777 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
34778 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
34779 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
34780 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
34781 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
34782 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
34783 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
34784 (GRUB_PCI_ADDR_IO_MASK): Likewise.
34786 * include/grub/x86_64/efi/kernel.h: New file.
34788 * include/grub/x86_64/efi/loader.h: Likewise.
34790 * include/grub/x86_64/efi/machine.h: Likewise.
34792 * include/grub/x86_64/efi/pci.h: Likewise.
34794 * include/grub/x86_64/efi/time.h: Likewise.
34796 * include/grub/x86_64/linux.h: Likewise.
34798 * include/grub/x86_64/setjmp.h: Likewise.
34800 * include/grub/x86_64/time.h: Likewise.
34802 * include/grub/x86_64/types.h: Likewise.
34804 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
34805 GRUB_TARGET_SIZEOF_VOID_P.
34807 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
34808 (grub_efi_locate_handle): Likewise.
34809 (grub_efi_open_protocol): Likewise.
34810 (grub_efi_set_text_mode): Likewise.
34811 (grub_efi_stall): Likewise.
34812 (grub_exit): Likewise.
34813 (grub_reboot): Likewise.
34814 (grub_halt): Likewise.
34815 (grub_efi_exit_boot_services): Likewise.
34816 (grub_get_rtc): Likewise.
34818 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
34819 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
34820 (grub_efi_allocate_pages): Wrap efi calls.
34821 (grub_efi_free_pages): Wrap efi calls.
34822 (grub_efi_get_memory_map): Wrap efi calls.
34824 * kern/x86_64/dl.c: New file.
34826 * kern/x86_64/efi/callwrap.S: Likewise.
34828 * kern/x86_64/efi/startup.S: Likewise.
34830 * loader/efi/appleloader.c: Likewise.
34832 * loader/efi/chainloader.c (cmdline): New variable.
34833 (grub_chainloader_unload): Wrap efi calls.
34834 (grub_chainloader_boot): Likewise.
34835 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
34838 * loader/efi/chainloader_normal.c (chainloader_command):
34839 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
34842 * loader/i386/efi/linux.c (allocate_pages): Change allocation
34844 (grub_e820_add_region): New function.
34845 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
34847 (grub_find_video_card): New function.
34848 (grub_linux_setup_video): New function.
34849 (grub_rescue_cmd_linux): Probe for video information.
34851 * normal/x86_64/setjmp.S: New file.
34853 * term/efi/console.c (map_char): New function.
34854 (grub_console_putchar): Map unicode char.
34855 (grub_console_checkkey): Wrap efi calls.
34856 (grub_console_getkey): Likewise.
34857 (grub_console_getwh): Likewise.
34858 (grub_console_gotoxy): Likewise.
34859 (grub_console_cls): Likewise.
34860 (grub_console_setcolorstate): Likewise.
34861 (grub_console_setcursor): Likewise.
34863 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
34865 2008-07-16 Pavel Roskin <proski@gnu.org>
34867 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
34870 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
34871 pointer, not an integer. This fixes a warning and prevents
34872 precision loss on 64-bit systems.
34873 (relocate_addresses): Remove unneeded cast.
34875 2008-07-15 Pavel Roskin <proski@gnu.org>
34877 * kern/i386/ieee1275/init.c: Include grub/cache.h.
34879 * term/ieee1275/ofconsole.c: Disable code unused on i386.
34881 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
34882 Fix comparison between signed and unsigned.
34884 * include/grub/i386/ieee1275/console.h: Declare
34885 grub_console_init() and grub_console_fini().
34887 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
34888 It's empty and unused.
34890 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
34891 beginning to avoid warnings with some compilers.
34893 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
34894 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
34896 2008-07-14 Pavel Roskin <proski@gnu.org>
34898 * kern/env.c (grub_register_variable_hook): Don't copy empty
34899 string, it leaks memory. Pass "" to grub_env_set(), it should
34900 handle constant strings.
34902 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
34903 * commands/cmp.c (grub_cmd_cmp): Likewise.
34904 * kern/dl.c (grub_dl_flush_cache): Likewise.
34905 (grub_dl_load_core): Likewise.
34906 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
34907 (grub_elf64_load_phdrs): Likewise.
34909 2008-07-13 Pavel Roskin <proski@gnu.org>
34911 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
34912 between signed and unsigned.
34913 (LzmaEnc_Finish): Fix warning about an unused parameter.
34915 2008-07-13 Bean <bean123ch@gmail.com>
34917 * Makefile.in (enable_lzo): New rule.
34919 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
34921 * configure.ac (ENABLE_LZO): New option --enable-lzo.
34923 * boot/i386/pc/lnxboot.S: #include <config.h>.
34925 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
34926 its value according to the compression algorithm used, lzo or lzma.
34928 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
34929 compression algorithm according to configure macro.
34931 * kern/i386/pc/startup.S (codestart): Likewise.
34933 * kern/i386/pc/lzma_decode.S: New file.
34935 * include/grub/lib/LzFind.h: Likewise.
34937 * include/grub/lib/LzHash.h: Likewise.
34939 * include/grub/lib/LzmaDec.h: Likewise.
34941 * include/grub/lib/LzmaEnc.h: Likewise.
34943 * include/grub/lib/LzmaTypes.h: Likewise.
34945 * lib/LzFind.c: Likewise.
34947 * lib/LzmaDec.c: Likewise.
34949 * lib/LzmaEnc.c: Likewise.
34951 2008-07-13 Bean <bean123ch@gmail.com>
34953 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
34954 (grub_ext4_extent_header): New structure.
34955 (grub_ext4_extent): Likewise.
34956 (grub_ext4_extent_idx): Likewise.
34957 (grub_ext4_find_leaf): New function.
34958 (grub_ext2_read_block): Handle extents.
34960 2008-07-12 Robert Millan <rmh@aybabtu.com>
34962 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
34964 2008-07-11 Robert Millan <rmh@aybabtu.com>
34966 * util/grub.d/40_custom.in: New file. Example on how to add custom
34967 entries to /etc/grub.d.
34968 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
34969 40_custom (implicitly, by merging all the grub.d rules).
34971 2008-07-11 Pavel Roskin <proski@gnu.org>
34973 * commands/read.c (grub_getline): Fix invalid memory access.
34974 Don't add newline to the variable value.
34976 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
34977 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
34978 (serial_hw_get_port): Check validity of the port number.
34979 (grub_cmd_serial): Check return value of serial_hw_get_port().
34981 2008-07-07 Pavel Roskin <proski@gnu.org>
34983 * boot/i386/pc/diskboot.S (notification_string): Replace
34984 "Loading kernel" with just "loading". This is shorter, less
34985 confusing and saves a few bytes for possible future changes.
34987 2008-07-05 Pavel Roskin <proski@gnu.org>
34989 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
34990 size for ATAPI devices, they are undefined. Output sector
34991 number in decimal form.
34993 * disk/ata.c: Use named constants for status bits.
34995 2008-07-04 Pavel Roskin <proski@gnu.org>
34997 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
34998 grub_addr_t before casting it to the void pointer to fix a
34999 warning. Non-addressable regions are discarded earlier.
35000 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35001 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35002 (check_signature): Don't shadow table_header.
35003 (grub_linuxbios_table_iterate): Cast numeric constants to
35004 grub_linuxbios_table_header_t.
35005 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35008 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35011 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35012 pointer, which can cause warnings. Support 64-bit addresses.
35014 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35015 of sizeof(long). This fixes PowerPC image generation on x86_64.
35017 2008-07-04 Robert Millan <rmh@aybabtu.com>
35019 This fixes a performance issue when pc & gpt partmap iterators
35020 didn't abort iteration even after our hook found what it was
35021 looking for (often causing expensive probes of non-existent drives).
35023 Some callers relied on previous buggy behaviour, since they would
35024 raise an error when their own hooks caused early abortion of its
35027 * kern/device.c (grub_device_open): Improve error message.
35028 * disk/lvm.c (grub_lvm_open): Likewise.
35029 * disk/raid.c (grub_raid_open): Likewise.
35031 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35032 when hook requests it, independently of grub_errno.
35033 (pc_partition_map_probe): Do not fail when find_func() caused
35034 early abortion of pc_partition_map_iterate().
35036 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35037 when hook requests it, independently of grub_errno.
35038 (gpt_partition_map_probe): Do not fail when find_func() caused
35039 early abortion of gpt_partition_map_iterate().
35041 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35042 when hook requests it, independently of grub_errno. Do not fail when
35043 part_map_iterate_hook() caused early abortion of p->iterate().
35045 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35046 when grub_partition_iterate() returned with non-zero.
35048 2008-07-03 Pavel Roskin <proski@gnu.org>
35050 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35051 like we do in grub_ata_pio_read().
35052 (grub_ata_readwrite): Always write individual sectors. Fix the
35053 sector count for the remainder.
35054 (grub_ata_write): Enable writing to ATA devices. Correctly
35055 report error for ATAPI devices.
35057 2008-07-02 Pavel Roskin <proski@gnu.org>
35059 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35062 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35063 for every read sector, we already increment it for the whole
35064 batch. This fixes reading more than 256 sectors at once.
35066 * util/grub-editenv.c (cmd_info): Cast argument to long
35067 explicitly. ptrdiff_t reduces to int on i386.
35069 * util/grub-editenv.c (main): Be specific which parameter is
35072 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35073 (memdisk): Make memdisk_orig_addr a pointer.
35075 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35076 for file offsets, use grub_off_t instead. Fix printf format
35079 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35080 there. Real unexpected warnings should not drown in the noise
35081 about known problems.
35083 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35084 grub_disk_addr_t for memory addresses.
35086 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35087 explicitly to fix a warning.
35089 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35091 * Makefile.in (MODULE_LDFLAGS): New variable.
35092 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35093 the linker accepts --build-id=none.
35094 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35096 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35098 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35099 those in Linux XFS code. Provide a way to access 64-bit parent
35101 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35102 the end of struct grub_xfs_dir_header.
35104 2008-07-02 Bean <bean123ch@gmail.com>
35106 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35107 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35108 and GRUB_IEEE1275_FLAG_NO_ANSI.
35110 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35111 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35112 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35114 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35115 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35117 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35118 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35120 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35121 esc sequence on non ANSI terminal.
35122 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35124 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35127 2008-07-02 Bean <bean123ch@gmail.com>
35129 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35130 (grub_editenv_SOURCES): New variable.
35131 (pkglib_MODULES): Add loadenv.mod.
35132 (loadenv_mod_SOURCES): New variable.
35133 (loadenv_mod_CFLAGS): Likewise.
35134 (loadenv_mod_LDFLAGS): Likewise.
35136 * include/grub/envblk.h: New file.
35138 * util/envblk.c: New file.
35140 * util/grub-editenv.c: New file.
35142 * commands/loadenv.c: New file.
35144 2008-07-01 Pavel Roskin <proski@gnu.org>
35146 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35147 not unsigned char. This fixes warnings and is consistent with
35150 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35152 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35154 * term/tparm.c (analyze): Always set *popcount.
35156 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35157 cast to fix a warning.
35159 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35160 cast to suppress a warning.
35162 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35163 grub_fshelp_read_file() expects.
35165 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35166 write uuid as a 32-bit value in CPU byte order, so declare and
35169 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35170 long if the format specifier expects it.
35171 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35172 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35173 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35174 long to fix a warning.
35175 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35176 grub_dprintf() arguments to fix warnings.
35178 2008-06-30 Pavel Roskin <proski@gnu.org>
35180 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35181 install_bsd_part immediately before core.img is embedded or
35182 modified on disk. This fixes core.img verification if core.img
35183 cannot be embedded.
35185 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35186 core_path to calculate the blocklist.
35187 Patch from Javier Martín <lordhabbit@gmail.com>
35189 2008-06-29 Robert Millan <rmh@aybabtu.com>
35191 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35192 block to disk block.
35193 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35194 Patch from Niels Böhm <bitbucket@arcor.de>
35196 2008-06-29 Robert Millan <rmh@aybabtu.com>
35198 * util/update-grub_lib.in (font_path): Search for fonts in
35199 /boot/grub first, which is more likely to be readable (we aren't
35200 deciding where fonts live, just looking for them).
35202 2008-06-26 Pavel Roskin <proski@gnu.org>
35204 * util/biosdisk.c (read_device_map): Don't leave dead map
35205 entries for devices failing stat() check.
35207 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35208 core_path_dev for the core.img path on the target device.
35210 2008-06-26 Robert Millan <rmh@aybabtu.com>
35212 * disk/fs_uuid.c: New file.
35213 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35214 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35215 (fs_uuid_mod_LDFLAGS): New variables.
35216 * include/grub/disk.h (grub_disk_dev_id): Add
35217 `GRUB_DISK_DEVICE_UUID_ID'.
35218 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35219 implement iterate().
35221 2008-06-26 Robert Millan <rmh@aybabtu.com>
35223 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35224 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35225 Linux image includes no initrd.
35227 2008-06-21 Javier Martín <lordhabbit@gmail.com>
35229 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35230 call to resolve the core image location that effectively appended the
35233 2008-06-21 Robert Millan <rmh@aybabtu.com>
35235 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35238 * util/grub.d/10_hurd.in: ... to here ...
35239 * util/grub.d/10_linux.in: ... and here.
35241 2008-06-19 Robert Millan <rmh@aybabtu.com>
35243 * kern/main.c (grub_main): Export `prefix' variable immediately
35244 after it has been set by grub_machine_set_prefix().
35246 2008-06-19 Robert Millan <rmh@aybabtu.com>
35248 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35249 search result when not saving to variable, not the other way around.
35250 When saving to variable, abort iteration as soon as a match is found.
35252 2008-06-19 Robert Millan <rmh@aybabtu.com>
35254 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35255 check for partition that provides /boot/grub. Its logic is flawed,
35256 as it prevents prepare_grub_to_access_device() from being called
35259 2008-06-19 Robert Millan <rmh@aybabtu.com>
35261 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35262 "insmod" command directly when abstraction modules are needed,
35263 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
35264 since it had already been processed).
35266 2008-06-19 Pavel Roskin <proski@gnu.org>
35268 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35269 changed. This is needed in case GRUB_LIBDIR changes.
35270 * conf/i386-ieee1275.rmk: Likewise.
35271 * conf/i386-linuxbios.rmk: Likewise.
35272 * conf/i386-pc.rmk: Likewise.
35273 * conf/powerpc-ieee1275.rmk: Likewise.
35275 2008-06-18 Pavel Roskin <proski@gnu.org>
35277 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35278 kernel_elf_symlist.c to symlist.c for consistency with other
35279 architectures. Update all users.
35280 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35282 2008-06-18 Robert Millan <rmh@aybabtu.com>
35284 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35287 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35288 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35289 a RAID device, run setup() for all members independently on whether
35290 LVM abstraction is being used.
35291 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35292 If grub-mkimage has set `*install_dos_part == -2', don't override this
35294 Perform *install_dos_part adjustments independently on whether
35295 we're embedding or not.
35296 Clarify error message when image is too big for embedding.
35297 Remove duplicate *install_dos_part stanza.
35299 2008-06-17 Robert Millan <rmh@aybabtu.com>
35301 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35302 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35304 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35305 values in grub_ofconsole_normal_color and
35306 grub_ofconsole_highlight_color (they're not directly related to
35307 background and foreground).
35308 (grub_ofconsole_setcolorstate): Extract background and foreground
35309 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35311 2008-06-17 Robert Millan <rmh@aybabtu.com>
35313 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35314 /boot/grub for the check in last commit, not /boot (they could be
35315 different partitions).
35317 2008-06-16 Robert Millan <rmh@aybabtu.com>
35319 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35320 asked to setup access for the same partition that provides /boot,
35321 don't bother using UUIDs since our root already has the value we
35324 2008-06-16 Robert Millan <rmh@aybabtu.com>
35326 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35328 Patch from Sven Mueller <sven@debian.org>.
35330 2008-06-16 Robert Millan <rmh@aybabtu.com>
35332 * util/update-grub.in: Check for $EUID instead of $UID.
35333 Reported by Vincent Zweije.
35335 2008-06-16 Bean <bean123ch@gmail.com>
35337 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
35338 (grub_ext2_read_block): Likewise.
35339 (grub_ext2_read_inode): Likewise.
35340 (grub_ext2_mount): Likewise.
35341 (grub_ext2_close): Likewise.
35342 (grub_ext3_get_journal): Removed.
35344 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
35345 (grub_reiserfs_read_symlink): Likewise.
35346 (grub_reiserfs_mount): Likewise.
35347 (grub_reiserfs_open): Likewise.
35348 (grub_reiserfs_read): Likewise.
35349 (grub_reiserfs_close): Likewise.
35350 (grub_reiserfs_get_journal): Removed.
35352 * fs/fshelp.c (grub_fshelp_read): Removed.
35353 (grub_fshelp_map_block): Likewise.
35355 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35356 (grub_fshelp_journal): Likewise.
35357 (grub_fshelp_read): Likewise.
35358 (grub_fshelp_map_block): Likewise.
35360 2008-06-16 Pavel Roskin <proski@gnu.org>
35362 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
35363 floating point anymore.
35364 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
35366 2008-06-15 Pavel Roskin <proski@gnu.org>
35368 * commands/ls.c (grub_ls_list_files): Use integer calculations
35369 for human readable format, avoid floating point use.
35370 * kern/misc.c (grub_ftoa): Remove.
35371 (grub_vsprintf): Remove floating point support.
35373 2008-06-15 Robert Millan <rmh@aybabtu.com>
35375 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
35377 Reported by Max Vozeler.
35379 2008-06-15 Robert Millan <rmh@aybabtu.com>
35381 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
35382 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
35384 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
35385 the beginning of the prefix.
35387 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
35388 It is assumed that if we have a memdisk, grub-mkimage has set
35389 grub_prefix to include the "(memdisk)" drive in it.
35391 2008-06-15 Robert Millan <rmh@aybabtu.com>
35393 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
35394 Initialize keyboard controller after registering the terminal, so that
35395 grub_printf() can be called from grub_keyboard_controller_init().
35397 2008-06-15 Robert Millan <rmh@aybabtu.com>
35399 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
35400 extent-btree which is written as big endian on disk.
35401 Reported by Alain Greppin <al@chilibi.org>.
35403 2008-06-14 Robert Millan <rmh@aybabtu.com>
35405 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
35406 * util/i386/pc/grub-install.in (modules): Likewise.
35408 2008-06-13 Pavel Roskin <proski@gnu.org>
35410 * commands/ls.c (grub_ls_list_files): Fix format warnings.
35412 2008-06-13 Bean <bean123ch@gmail.com>
35414 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
35416 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
35418 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
35419 to indicate sparse block.
35421 2008-06-12 Pavel Roskin <proski@gnu.org>
35423 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
35424 number, grub_fshelp_read() does it for us.
35426 * fs/fshelp.c (grub_fshelp_read): New function. Implement
35427 linear disk read with journal translation.
35428 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
35429 * include/grub/fshelp.h: Declare grub_fshelp_read().
35431 2008-06-09 Pavel Roskin <proski@gnu.org>
35433 * fs/minix.c (grub_minix_mount): Handle error reading
35436 2008-06-08 Robert Millan <rmh@aybabtu.com>
35438 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
35439 don't append the RAID prefix afterwards.
35440 Reported by Clint Adams.
35442 2008-06-08 Robert Millan <rmh@aybabtu.com>
35444 Based on description from Pavel:
35445 * kern/disk.c (grub_disk_check_range): Rename to ...
35446 (grub_disk_adjust_range): ... this. Add a comment explaining the
35447 tasks performed by this function.
35449 2008-06-08 Robert Millan <rmh@aybabtu.com>
35451 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
35452 `num_serial' (for consistency with other variables).
35453 (struct grub_ntfs_data): Add `uuid' member.
35454 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
35455 (grub_ntfs_uuid): New function.
35456 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
35458 2008-06-07 Pavel Roskin <proski@gnu.org>
35460 * util/biosdisk.c (open_device): Revert last change to the
35461 function, it broke installation. The sector needs to be
35462 different dependent on which device is opened.
35464 2008-06-06 Robert Millan <rmh@aybabtu.com>
35466 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
35467 rest of GRUB, and breakage doesn't happen if its value were modified.
35469 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35470 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
35471 a constant (same value).
35472 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
35473 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
35475 2008-06-06 Robert Millan <rmh@aybabtu.com>
35477 * util/biosdisk.c (open_device): Do not modify sector offset when
35478 accessing a partition. kern/disk.c already handles this for us.
35480 2008-06-06 Robert Millan <rmh@aybabtu.com>
35482 * util/grub-emu.c (grub_machine_init): Move code in this function from
35484 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
35485 segfault in case grub_printf() is called).
35487 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
35488 grub_probe. Update all users not to explicitly add it again.
35489 (grub_device): New variable; contains corresponding device for grubdir.
35490 (fs_module, partmap_module, devabstraction_module): Pass
35491 `--device ${grub_device}' to grub_probe to avoid traversing /dev
35494 2008-06-05 Robert Millan <rmh@aybabtu.com>
35496 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
35497 is found, print it (same layout as with labels).
35499 2008-06-04 Robert Millan <rmh@aybabtu.com>
35501 * util/biosdisk.c (get_drive): Rename to ...
35502 (find_grub_drive): ... this. Update all users.
35504 (get_os_disk): Rename to ...
35505 (convert_system_partition_to_system_disk): ... this. Update all users.
35507 (find_drive): Rename to ...
35508 (find_system_device): ... this. Update all users.
35510 2008-06-04 Robert Millan <rmh@aybabtu.com>
35512 * util/biosdisk.c (get_os_disk): Handle IDA devices.
35513 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35514 (make_device_map): Likewise.
35516 2008-06-01 Robert Millan <rmh@aybabtu.com>
35518 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
35519 before dereferencing it.
35521 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
35522 union with fat12/fat16-specific ones. Add some new fields, including
35523 `num_serial' for both versions.
35524 (struct grub_fat_data): Add `uuid' member.
35525 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
35526 names. Initialize `data->uuid' using `num_serial'.
35527 (grub_fat_uuid): New function.
35528 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
35530 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
35531 (grub_reiserfs_uuid): New function.
35532 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
35535 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
35536 (grub_xfs_uuid): New function.
35537 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
35539 2008-06-01 Robert Millan <rmh@aybabtu.com>
35541 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
35542 code that is backward compatible with pre-uuid search command.
35544 2008-05-31 Robert Millan <rmh@aybabtu.com>
35546 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
35547 floppies after everything else, to ensure floppy drive isn't accessed
35548 unnecessarily (patch from Bean).
35550 2008-05-31 Robert Millan <rmh@aybabtu.com>
35552 * commands/search.c (search_label, search_fs_uuid, search_file): Do
35553 not print device names when we were asked to set a variable.
35555 2008-05-31 Robert Millan <rmh@aybabtu.com>
35557 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
35558 using "cursor-on" and "cursor-off" commands (understood at least by
35559 the Open Firmware flavour on OLPC).
35561 2008-05-31 Michael Gorven <michael@gorven.za.net>
35563 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
35564 on and off sequences.
35566 2008-05-31 Robert Millan <rmh@aybabtu.com>
35568 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
35569 * util/update-grub.in: Likewise.
35571 2008-05-30 Pavel Roskin <proski@gnu.org>
35573 * util/biosdisk.c (linux_find_partition): Simplify logic and
35574 make the code more universal. Keep special processing for
35575 devfs, but use a simple rule for all other devices. If the
35576 device ends with a number, append 'p' and the partition number.
35577 Otherwise, append only the partition number.
35579 2008-05-30 Robert Millan <rmh@aybabtu.com>
35581 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
35582 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
35583 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
35584 the `root' parameter to Linux.
35586 2008-05-30 Robert Millan <rmh@aybabtu.com>
35588 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
35589 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
35590 --fs_uuid with --fs-uuid.
35591 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
35592 all filesystems support them).
35594 2008-05-30 Robert Millan <rmh@aybabtu.com>
35596 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
35597 grub_printf() flags, since we're printing in units of 2 bytes.
35599 2008-05-30 Robert Millan <rmh@aybabtu.com>
35601 * util/grub.d/00_header.in: Remove obsolete comment referencing
35602 convert_system_path_to_grub_path().
35603 * util/update-grub.in: Likewise.
35604 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
35605 (convert_system_path_to_grub_path): Add a warning message explaining
35606 that this function is deprecated. Rely on is_path_readable_by_grub()
35607 for the readability checks.
35608 (font_path): Use is_path_readable_by_grub() for the readability
35609 check rather than convert_system_path_to_grub_path().
35611 2008-05-30 Robert Millan <rmh@aybabtu.com>
35613 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
35614 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
35615 converting it first.
35616 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
35617 grub.cfg for access to font file, and afterwards call it again to set
35620 2008-05-30 Robert Millan <rmh@aybabtu.com>
35622 * commands/search.c (options): Add --fs_uuid option.
35623 (search_fs_uuid): New function.
35624 (grub_cmd_search): Fix --set argument passing.
35625 Use search_fs_uuid() when requested via --fs_uuid.
35626 (grub_search_init): Update help message.
35627 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
35628 and redeclare it as an array of 16-bit words.
35629 (grub_ext2_uuid): New function.
35630 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
35631 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
35632 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
35633 (GRUB_DEVICE_BOOT_UUID): New variables.
35634 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
35635 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
35637 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
35638 just assume `root' variable has the right value.
35639 * util/grub.d/10_linux.in: Likewise.
35640 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
35642 (main): Recognise `-t fs_uuid' argument.
35644 2008-05-30 Robert Millan <rmh@aybabtu.com>
35646 * util/biosdisk.c (map): Redefine structure to hold information
35647 about GRUB drive name.
35648 (get_drive): Reimplement without assuming (and verifying) BIOS-like
35650 (call_hook): Remove.
35651 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
35652 member. Assume drive has partitions.
35653 (grub_util_biosdisk_open): Access device names via `.device' struct
35655 (open_device): Likewise.
35656 (find_drive): Likewise.
35657 (read_device_map): Adjust map[] usage to match the new struct
35658 definition. Don't check for duplicates (still possible, but not cheap
35660 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
35661 (make_device_name): Remove assumption of BIOS-like drive names.
35663 2008-05-30 Pavel Roskin <proski@gnu.org>
35665 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
35666 compiling execute.c doesn't need grub_script.tab.h anymore.
35667 (normal/command.c_DEPENDENCIES): Likewise.
35668 (normal/function.c_DEPENDENCIES): Likewise.
35669 * conf/i386-ieee1275.rmk: Likewise.
35670 * conf/i386-linuxbios.rmk: Likewise.
35671 * conf/i386-pc.rmk: Likewise.
35672 * conf/powerpc-ieee1275.rmk: Likewise.
35673 * conf/sparc64-ieee1275.rmk: Likewise.
35675 2008-05-29 Pavel Roskin <proski@gnu.org>
35677 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
35678 when scanning metadata for volume group name.
35680 * include/grub/script.h: Don't include grub_script.tab.h. It's
35681 a generated file, which may only be included from the files with
35682 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
35683 use union YYSTYPE, as the later allows forward declaration.
35684 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
35686 2008-05-29 Robert Millan <rmh@aybabtu.com>
35688 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
35689 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
35690 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
35691 (grub_console_checkkey): Add grub_dprintf() call to report unknown
35694 2008-05-29 Robert Millan <rmh@aybabtu.com>
35696 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
35697 control key combinations.
35699 2008-05-29 Robert Millan <rmh@aybabtu.com>
35701 * util/powerpc/ieee1275/grub-install.in: Move from here ...
35702 * util/ieee1275/grub-install.in: ... to here.
35703 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
35704 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
35705 (grub_install_SOURCES): Likewise.
35707 2008-05-29 Robert Millan <rmh@aybabtu.com>
35709 * fs/affs.c: Update copyright year.
35710 * fs/ext2.c: Likewise.
35711 * fs/fshelp.c: Likewise.
35712 * fs/hfsplus.c: Likewise.
35713 * fs/ntfs.c: Likewise.
35714 * fs/xfs.c: Likewise.
35715 * include/grub/fshelp.h: Likewise.
35716 * util/grub-mkdevicemap.c: Likewise.
35718 2008-05-28 Robert Millan <rmh@aybabtu.com>
35720 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
35721 might need to be fatfs to support some firmware implementations
35724 2008-05-28 Robert Millan <rmh@aybabtu.com>
35726 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
35728 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35729 (make_device_map): Likewise.
35731 2008-05-20 Bean <bean123ch@gmail.com>
35733 * fs/fshelp.c (grub_fshelp_map_block): New function.
35734 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
35735 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
35737 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
35738 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
35739 (grub_fshelp_journal): New structure.
35740 (grub_fshelp_map_block): New function prototype.
35741 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
35742 (grub_fshelp_map_block): Likewise.
35744 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
35745 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
35746 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
35747 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
35748 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
35749 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
35750 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
35751 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
35752 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
35753 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
35754 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
35755 (grub_ext2_sblock): New members for journal support.
35756 (grub_ext3_journal_header): New structure.
35757 (grub_ext3_journal_revoke_header): Likewise.
35758 (grub_ext3_journal_block_tag): Likewise.
35759 (grub_ext3_journal_sblock): Likewise.
35760 (grub_fshelp_node): New members logfile and journal.
35761 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
35762 grub_fshelp_map_block to get real block number.
35763 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
35765 (grub_ext2_read_inode): Likewise.
35766 (grub_ext3_get_journal): New function.
35767 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
35768 (grub_ext2_close): Release memory used by journal.
35770 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
35771 (REISERFS_MAGIC_DESC_BLOCK): New macro.
35772 (grub_reiserfs_transaction_header): Renamed to
35773 grub_reiserfs_description_block, replace field data with real_blocks.
35774 (grub_reiserfs_commit_block): New structure.
35775 (grub_reiserfs_data): New member journal.
35776 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
35778 (grub_reiserfs_read_symlink): Likewise.
35779 (grub_reiserfs_iterate_dir): Likewise.
35780 (grub_reiserfs_open): Likewise.
35781 (grub_reiserfs_read): Likewise.
35782 (grub_reiserfs_get_journal): New function.
35783 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
35784 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
35785 using grub_reiserfs_get_journal.
35786 (grub_reiserfs_close): Release memory used by journal.
35788 * fs/affs.c (grub_affs_read_block): Change block type to
35789 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
35791 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
35793 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
35795 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
35797 * fs/udf.c (grub_udf_read_block): Change block type to
35798 grub_disk_addr_t. Use type cast to avoid warning.
35800 * fs/xfs.c (grub_xfs_read_block): Likewise.
35802 2008-05-16 Christian Franke <franke@computer.org>
35804 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
35805 to ensure that break with ESC will always work.
35806 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
35807 Remove ESC from keyboard queue.
35809 2008-05-16 Christian Franke <franke@computer.org>
35811 * util/biosdisk.c: [__CYGWIN__] Add includes.
35812 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
35813 (get_os_disk): Move variable declarations to OS specific
35814 parts to avoid warning.
35815 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
35816 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
35817 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
35819 * util/getroot.c: [__CYGWIN__] Add includes.
35820 (strip_extra_slashes): Fix "/" case.
35821 [__CYGWIN__] (get_win32_path): New function.
35822 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
35823 [__CYGWIN__] (find_root_device): Disable.
35824 [__CYGWIN__] (get_bootsec_serial): New function.
35825 [__CYGWIN__] (find_cygwin_root_device): Likewise.
35826 [__linux__] (grub_guess_root_device): Add early returns to simplify
35828 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
35829 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
35830 check for Linux only.
35832 2008-05-15 Bean <bean123ch@gmail.com>
35834 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
35835 keyboard hang problem in apple's intel mac.
35837 2008-05-09 Robert Millan <rmh@aybabtu.com>
35839 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
35841 * util/grub-mkdevicemap.c (get_virtio_disk_name)
35842 (make_device_map): Likewise.
35843 Reported by Aurelien Jarno <aurel32@debian.org>
35845 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
35847 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
35848 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
35849 (make_device_map): Output entries for xvd type disks.
35851 2008-05-07 Robert Millan <rmh@aybabtu.com>
35853 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
35855 * util/grub-mkdevicemap.c (get_cciss_disk_name)
35856 (make_device_map): Likewise.
35857 Reported by Roland Dreier <rdreier@cisco.com>
35859 2008-05-07 Robert Millan <rmh@aybabtu.com>
35861 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
35862 grub_strstr() call. Correct a few mistakes in failure path handling.
35864 2008-05-06 Robert Millan <rmh@aybabtu.com>
35866 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35867 Do not print a trailing slash (therefore, the root directory is an
35869 (convert_system_path_to_grub_path): Do not remove trailing slash
35870 from make_system_path_relative_to_its_root() output.
35872 * util/i386/pc/grub-install.in: Add trailing slash to output from
35873 make_system_path_relative_to_its_root().
35875 2008-05-06 Robert Millan <rmh@aybabtu.com>
35877 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
35878 ensures that output lines aren't intermangled with those sent to
35879 stderr (via grub_util_info()).
35880 * util/grub-probe.c (grub_refresh): Likewise.
35881 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
35883 2008-05-05 Christian Franke <franke@computer.org>
35885 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
35886 Add Cygwin device names.
35887 (get_ide_disk_name) [__CYGWIN__]: Likewise.
35888 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
35889 (check_device): Return error instead of success on empty name.
35890 (make_device_map): Move label inside linux specific code to
35891 prevent compiler warning.
35893 2008-04-30 Robert Millan <rmh@aybabtu.com>
35895 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
35896 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
35898 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
35900 2008-04-29 Robert Millan <rmh@aybabtu.com>
35902 * docs/grub.cfg: New file (example GRUB configuration).
35904 2008-04-26 Robert Millan <rmh@aybabtu.com>
35906 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
35907 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
35908 and `disk/ieee1275/nand.c'.
35910 2008-04-25 Bean <bean123ch@gmail.com>
35912 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
35915 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
35916 change the buffer size to 4096 for cdrom device.
35918 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
35920 (_linux_mod_SOURCES): New variable.
35921 (_linux_mod_CFLAGS): Likewise.
35922 (_linux_mod_LDFLAGS): Likewise.
35923 (linux_mod_SOURCES): Likewise.
35924 (linux_mod_CFLAGS): Likewise.
35925 (linux_mod_LDFLAGS): Likewise.
35926 (nand_mod_SOURCES): Likewise.
35927 (nand_mod_CFLAGS): Likewise.
35928 (nand_mod_LDFLAGS): Likewise.
35930 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
35931 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
35932 type property. (nand device in olpc don't have this property)
35934 * include/grub/disk.h (grub_disk_dev_id): New macro
35935 GRUB_DISK_DEVICE_NAND_ID.
35937 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
35938 function prototype.
35939 (grub_rescue_cmd_initrd): Likewise.
35941 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
35942 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
35943 ofw_cif_handler and ofw_idt, adjust padding number.
35945 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
35946 GRUB_MACHINE_IEEE1275 is defined.
35948 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
35949 Use NESTED_FUNC_ATTR attribute on the hook parameter.
35951 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
35952 on nested function heap_init.
35953 (grub_upper_mem): New variable for i386-ieee1275.
35954 (grub_get_extended_memory): New function for i386-ieee1275.
35955 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
35957 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
35958 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
35961 * loader/i386/ieee1275/linux.c: New file.
35963 * loader/i386/ieee1275/linux_normal.c: New file.
35965 * disk/ieee1275/nand.c: New file.
35967 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
35969 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
35971 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
35973 2008-04-18 Robert Millan <rmh@aybabtu.com>
35975 Restructures early code path on ieee1275 to unify grub_main() as
35976 the first C function that is executed in every platform.
35978 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
35979 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
35981 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
35982 * kern/ieee1275/cmain.c (cmain): Rename to ...
35983 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
35984 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
35987 2008-04-18 Robert Millan <rmh@aybabtu.com>
35989 * util/update-grub.in: Fix syntax error when setting
35990 `GRUB_PRELOAD_MODULES'.
35991 Reported by Stephane Chazelas <stephane@artesyncp.com>
35993 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
35995 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
35996 section into account, newer toolchains generate unique build ids
35997 * configure.ac: remove the test for --build-id=none acceptance,
35998 we want build ids to be preserved
35999 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36000 far from other sections don't cause the raw binary images grow
36003 2008-04-15 Robert Millan <rmh@aybabtu.com>
36005 * disk/lvm.c: Update copyright year.
36006 * kern/misc.c: Likewise.
36008 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36010 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
36011 there is no memory left for physical volume name.
36013 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36015 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36016 volume name mapping to support bigger than 9 character names properly.
36018 2008-04-13 Robert Millan <rmh@aybabtu.com>
36020 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36021 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36023 2008-04-13 Christian Franke <franke@computer.org>
36025 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36026 to create a floppy emulation boot CD when non emulation mode
36028 Enable Joliet CD filesystem extension.
36030 2008-04-13 Robert Millan <rmh@aybabtu.com>
36032 * kern/misc.c (grub_strncat): Fix off-by-one error.
36033 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36035 * kern/env.c (grub_env_context_close): Clear current context, not
36037 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36039 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36041 2008-04-13 Robert Millan <rmh@aybabtu.com>
36043 Improve robustness when handling LVM.
36045 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
36046 (and leave `*p' unmodified).
36047 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36049 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36050 iterating through it.
36051 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36053 (grub_lvm_scan_device): Check the return value (and fail gracefully
36054 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36055 Don't assume `vg->pvs != NULL' when iterating through it.
36057 2008-04-13 Robert Millan <rmh@aybabtu.com>
36059 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36060 * genmk.rb (partmap): New variable.
36061 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36062 (#{partmap}): New target rule.
36063 * genpartmaplist.sh: New file.
36064 * Makefile.in (pkglib_DATA): Add partmap.lst.
36065 (partmap.lst): New target rule.
36066 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36067 modules (including all partition maps), instead of preloading them.
36069 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36071 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36072 `linux-boot-prober' (if installed) to detect other operating
36073 systems which are installed on the computer and add them to
36075 * conf/common.rmk: Build and install 30_os-prober.
36077 2008-04-12 Robert Millan <rmh@aybabtu.com>
36079 * kern/powerpc/ieee1275/init.c: Move from here ...
36080 * kern/ieee1275/init.c: ... to here. Update all users.
36082 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36083 * kern/ieee1275/cmain.c: ... to here. Update all users.
36085 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36086 * kern/ieee1275/openfw.c: ... to here. Update all users.
36088 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36089 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36091 2008-04-10 Pavel Roskin <proski@gnu.org>
36093 * configure.ac: Always use "_cv_" in cache variables for
36094 compatibility with Autoconf 2.62.
36096 2008-04-07 Robert Millan <rmh@aybabtu.com>
36098 Revert grub/machine/init.h addition by Pavel (since it breaks on
36099 i386-ieee1275 and others):
36100 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36101 * util/powerpc/ieee1275/misc.c: Likewise.
36103 2008-04-07 Robert Millan <rmh@aybabtu.com>
36105 * util/grub-probe.c (probe): Improve error message.
36107 2008-04-07 Robert Millan <rmh@aybabtu.com>
36109 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36110 (this prevents the presence of a bogus entry from ruining the whole
36113 2008-04-06 Pavel Roskin <proski@gnu.org>
36115 * util/biosdisk.c: Include grub/util/biosdisk.h.
36116 * util/grub-fstest.c (execute_command): Make static.
36117 * util/grub-mkdevicemap.c (check_device): Likewise.
36118 * util/i386/pc/misc.c: Include grub/machine/init.h.
36119 * util/powerpc/ieee1275/misc.c: Likewise.
36120 * util/lvm.c: Include grub/util/lvm.h.
36121 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36123 * util/raid.c: Include grub/util/raid.h.
36124 (grub_util_getdiskname): Make static.
36126 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36127 grub_hostfs_fini(), as they are called from grub_init_all() and
36128 grub_fini_all() respectively. This fixes an infinite loop in
36129 grub-fstest due to double registration of hostfs.
36130 Reported by Christian Franke <Christian.Franke@t-online.de>
36132 2008-04-05 Pavel Roskin <proski@gnu.org>
36134 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36135 all 8 functions. Otherwise, probe function 0 only.
36137 2008-04-04 Pavel Roskin <proski@gnu.org>
36139 * commands/lspci.c (grub_lspci_iter): Print the bus number
36142 * commands/lspci.c (grub_pci_classes): Fix typos.
36143 (grub_lspci_iter): Don't print func twice. Print vendor ID
36144 before device ID, as it's normally done.
36146 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36147 Fix signedness warnings.
36148 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36150 * util/ieee1275/get_disk_name.c: Include config.h so that
36151 _GNU_SOURCE is defined and getline() is declared. Mark an
36152 unused argument as such. Fix a signedness warning.
36154 2008-04-02 Pavel Roskin <proski@gnu.org>
36156 * genkernsyms.sh.in: Use more robust assignments for CC and
36157 srcdir. Quote srcdir.
36158 * gensymlist.sh.in: Likewise. Assert at the compile time that
36159 the symbol table is not empty.
36161 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36162 * fs/cpio.c (grub_cpio_read): Likewise.
36164 2008-04-01 Pavel Roskin <proski@gnu.org>
36166 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36167 * disk/host.c (grub_host_open): Likewise.
36168 * disk/loopback.c (grub_loopback_open): Likewise.
36169 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36170 disk->id as in disk/host.c, not a multi-character constant.
36172 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36173 later is obsolete, potentially dangerous and sets a bad example.
36174 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36175 * util/misc.c (grub_util_get_image_size): Likewise.
36177 * disk/loopback.c (options): Improve help for "--partitions".
36179 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36180 options to align them with the short options, e.g. "echo -e".
36182 2008-03-31 Bean <bean123ch@gmail.com>
36184 * video/reader/png.c (grub_png_data): New member is_16bit and
36186 (grub_png_decode_image_header): Detect 16 bit png image.
36187 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36188 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36189 (grub_video_reader_png): Release memory occupied by image_data.
36191 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36193 (grub_nfs_mount): Skip the test for sector per cluster.
36195 * include/grub/ntfs.h (MAX_SPC): Removed.
36197 2008-03-31 Bean <bean123ch@gmail.com>
36199 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36200 (grub_probe_SOURCES): Add fs/afs.c.
36201 (grub_fstest_SOURCES): Likewise.
36202 (afs_mod_SOURCES): New variable.
36203 (afs_mod_CFLAGS): Likewise.
36204 (afs_mod_LDFLAGS): Likewise.
36206 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36207 (grub_emu_SOURCES): Likewise.
36209 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36211 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36213 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36217 * fs/afs.c: New file.
36219 2008-03-30 Pavel Roskin <proski@gnu.org>
36221 * disk/host.c: Include grub/misc.h to fix a warning.
36222 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36223 warnings about implicit declarations.
36225 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36227 * include/grub/i386/loader.h: Change declaration of
36228 grub_linux_boot() to match what grub_loader_set() expects.
36229 * util/getroot.c (grub_guess_root_device): Return const char* to
36231 * util/grub-probe.c (probe): Fix a warning about uninitialized
36232 abstraction_name variable.
36233 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36234 second argument as unused to fix a warning.
36236 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36237 missing grub_error() call.
36239 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36240 2.60 and newer uses it to define datadir.
36242 * commands/sleep.c: Fix warning about implicit declaration.
36243 * disk/memdisk.c: Likewise.
36244 * loader/aout.c: Likewise.
36245 * loader/i386/bsd_normal.c: Likewise.
36246 * util/grub-probe.c: Likewise.
36248 * commands/i386/cpuid.c (has_longmode): Make static.
36249 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36250 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36252 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36253 GDT. This is more robust, as %ds can change.
36254 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36255 calling real_to_prot().
36256 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36258 2008-03-28 Pavel Roskin <proski@gnu.org>
36260 * kern/i386/pc/startup.S: Assert that uncompressed functions
36261 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36262 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36263 code, as they push parts of the code (error handlers) beyond
36264 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36265 code as correctness and size.
36267 2008-03-28 Pavel Roskin <proski@gnu.org>
36269 * kern/i386/pc/startup.S
36270 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36271 data block address to the real mode, keep offset minimal. This
36272 works around a bug in AWARD BIOS on old Athlon systems, which
36273 makes CD detection hang.
36275 2008-03-26 Pavel Roskin <proski@gnu.org>
36277 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36279 * include/grub/normal.h: Add grub_parse_color_name_pair()
36282 2008-03-24 Bean <bean123ch@gmail.com>
36284 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36285 (cd_count): Removed.
36286 (cd_drive): New variable.
36287 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36288 (grub_biosdisk_call_hook): Likewise.
36289 (grub_biosdisk_iterate): Change cdrom detection method.
36290 (grub_biosdisk_open): Replace cd_start with cd_drive.
36291 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36292 detect cdrom device.
36294 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36296 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36297 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36298 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36299 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36300 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36301 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36302 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36303 (grub_biosdisk_cdrp): New structure.
36304 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36306 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36308 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36311 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36314 2008-03-20 Robert Millan <rmh@aybabtu.com>
36316 Remove 2 TiB limit in ata.mod.
36317 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36318 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36319 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36320 grub_uint64_t instead of grub_uint32_t.
36322 2008-03-05 Bean <bean123ch@gmail.com>
36324 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36325 (grub_multiboot): Set boot device.
36327 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36329 2008-03-02 Bean <bean123ch@gmail.com>
36331 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36334 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36336 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36339 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36342 * docs/fdl.texi: New file.
36344 * docs/mdate-sh: New file. Copied from gnulib.
36345 * docs/texinfo.tex: Likewise.
36347 * config.guess: Updated from gnulib.
36348 * install-sh: Likewise.
36350 2008-02-28 Robert Millan <rmh@aybabtu.com>
36352 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36353 (aout_mod_SOURCES): New variable.
36354 (aout_mod_CFLAGS): Likewise.
36355 (aout_mod_LDFLAGS): Likewise.
36357 * conf/i386-ieee1275.rmk: Likewise.
36359 2008-02-28 Robert Millan <rmh@aybabtu.com>
36361 * util/update-grub.in: Reorganise terminal validity check. Accept
36362 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
36363 Based on suggestion by Franklin PIAT.
36365 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
36367 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
36369 * util/getroot.c (grub_util_check_block_device): New function that
36370 returns the given argument if it is a block device and returns NULL else.
36371 * util/grub-probe.c (argument_is_device): New variable.
36372 (probe): Promote device_name from a variable to an argument. Receive
36373 device_name from grub_util_check_block_device() if path is NULL and from
36374 grub_guess_root_device() else. Do not free() device_name anymore.
36375 (options): Introduce new parameter '-d, --device'.
36376 (main): Add description of the new parameter to the help screen.
36377 Rename path variable to argument. Set argument_is_device if the '-d'
36378 option is given. Pass argument to probe() depending on
36379 argument_is_device.
36381 2008-02-24 Bean <bean123ch@gmail.com>
36383 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
36384 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
36385 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
36386 (GRUB_ISO9660_VOLDESC_PART): Likewise.
36387 (GRUB_ISO9660_VOLDESC_END): Likewise.
36388 (grub_iso9660_primary_voldesc): New member escape.
36389 (grub_iso9660_data): New member joliet.
36390 (grub_iso9660_convert_string): New function.
36391 (grub_iso9660_mount): Detect joliet extension.
36392 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
36393 (grub_iso9660_iso9660_label): Likewise.
36395 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
36396 (grub_setup_SOURCES): Add fs/udf.c.
36397 (grub_fstest_SOURCES): Likewise.
36398 (udf_mod_SOURCES): New variable.
36399 (udf_mod_CFLAGS): Likewise.
36400 (udf_mod_LDFLAGS): Likewise.
36402 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
36403 (grub_emu_SOURCES): Likewise.
36405 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36407 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36409 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36413 * fs/udf.c: New file.
36415 2008-02-24 Robert Millan <rmh@aybabtu.com>
36417 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
36418 (normal/lexer.c_DEPENDENCIES): New variables.
36419 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36420 (normal/lexer.c_DEPENDENCIES): Likewise.
36421 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
36422 (normal/lexer.c_DEPENDENCIES): Likewise.
36423 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
36424 (normal/lexer.c_DEPENDENCIES): Likewise.
36425 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36426 (normal/lexer.c_DEPENDENCIES): Likewise.
36427 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36428 (normal/lexer.c_DEPENDENCIES): Likewise.
36430 2008-02-23 Robert Millan <rmh@aybabtu.com>
36432 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
36433 since they were intended to be in hex. This didn't break previously
36434 because of a bug in gpt_partition_map_iterate() (see below).
36436 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
36437 when checking the validity of GPT header.
36438 Remove `partno', since it always provides the same information as `i'.
36440 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
36442 * include/grub/efi/time.h: Fix a wrong comment.
36444 2008-02-19 Pavel Roskin <proski@gnu.org>
36446 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
36449 2008-02-19 Bean <bean123ch@gmail.com>
36451 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
36452 (aout_mod_SOURCES): New variable.
36453 (aout_mod_CFLAGS): Likewise.
36454 (aout_mod_LDFLAGS): Likewise.
36455 (_bsd_mod_SOURCES): New variable.
36456 (_bsd_mod_CFLAGS): Likewise.
36457 (_bsd_mod_LDFLAGS): Likewise.
36458 (bsd_mod_SOURCES): New variable.
36459 (bsd_mod_CFLAGS): Likewise.
36460 (bsd_mod_LDFLAGS): Likewise.
36462 * include/grub/aout.h: New file.
36464 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
36466 * include/grub/i386/bsd.h: New file.
36468 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
36471 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
36472 function is called, so that it's possible to change it inside the hook.
36473 (grub_elf64_load): Likewise.
36474 (grub_elf_file): Don't close the file if elf header is not found.
36475 (grub_elf_close): Close the file if grub_elf_file fails (The new
36476 grub_elf_file won't close it).
36477 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
36478 (grub_elf64_size): Likewise.
36480 * kern/i386/loader.S (grub_unix_real_boot): New function.
36482 * loader/aout.c: New file.
36484 * loader/i386/bsd.c: New file.
36486 * loader/i386/bsd_normal.c: New file.
36488 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
36490 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
36491 can test other formats.
36493 2008-02-19 Robert Millan <rmh@aybabtu.com>
36495 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
36496 (grub_gpt_partition_type_empty): Redefine with macro from
36497 `<grub/gpt_partition.h>'.
36498 (gpt_partition_map_iterate): Adjust partition type comparison.
36500 Export `entry' as partmap-specific `part.data' struct.
36501 (grub_gpt_header, grub_gpt_partentry): Move from here ...
36503 * include/grub/gpt_partition.h (grub_gpt_header)
36504 (grub_gpt_partentry): ... to here (new file).
36506 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
36508 (grub_gpt_partition_type_bios_boot): New const variable, defined
36509 with macro from `<grub/gpt_partition.h>'.
36511 (setup): Replace `first_start' with `embed_region', which keeps
36512 track of the embed region (and is partmap-agnostic).
36514 Replace find_first_partition_start() with find_usable_region(),
36515 which finds a usable region for embedding using partmap-specific
36516 knowledge (supports PC/MSDOS and GPT).
36518 Fix all assumptions that the embed region start at sector 1, using
36519 `embed_region.start' from now on. Similarly, use `embed_region.end'
36520 rather than `first_start' to calculate available size.
36522 In grub_util_info() message, replace "into after the MBR" with an
36523 indication of the specific sector our embed region starts at.
36525 2008-02-19 Robert Millan <rmh@aybabtu.com>
36527 * DISTLIST: Replace `commands/ieee1275/halt.c' and
36528 `commands/ieee1275/reboot.c' with `commands/halt.c' and
36529 `commands/reboot.c'.
36530 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36531 (halt_mod_SOURCES): Likewise.
36532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36533 (halt_mod_SOURCES): Likewise.
36535 2008-02-17 Christian Franke <franke@computer.org>
36537 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
36539 2008-02-17 Robert Millan <rmh@aybabtu.com>
36541 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36542 set `first_start' to 0 for non-PC/MSDOS partition maps.
36544 2008-02-16 Robert Millan <rmh@aybabtu.com>
36546 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36547 do not assume partition map is PC/MSDOS before performing checks that
36548 are specific to that layout.
36550 2008-02-13 Robert Millan <rmh@aybabtu.com>
36552 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
36553 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
36554 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
36556 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
36558 * configure.ac: Only a cosmetic change on the handling of
36559 -fno-stack-protector.
36561 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
36563 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
36564 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
36566 (grub_install_SOURCES): Add halt.mod and reboot.mod.
36567 (halt_mod_SOURCES): New variable.
36568 (halt_mod_CFLAGS): Likewise.
36569 (halt_mod_LDFLAGS): Likewise.
36570 (reboot_mod_SOURCES): Likewise.
36571 (reboot_mod_CFLAGS): Likewise.
36572 (reboot_mod_LDFLAGS): Likewise.
36574 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
36575 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
36577 (halt_mod_SOURCES): Likewise.
36578 (reboot_mod_SOURCES): Likewise.
36580 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
36581 commands/i386/pc/reboot.c by commands/reboot.c.
36582 (reboot_mod_SOURCES): Likewise.
36584 * commands/i386/pc/reboot.c: merge this file ...
36586 * commands/ieee1275/reboot.c: ... and this file ...
36588 * commands/reboot.c: ... to this file.
36589 Add some precompiler directive to include the correct header for
36592 * commands/ieee1275/halt.c: move this file ...
36594 * commands/halt.c: ... to here.
36595 Add some precompiler directive to include the correct header for
36598 * include/grub/efi/efi.h (grub_reboot): New function declaration.
36599 (grub_halt): Likewise.
36601 * kern/efi/efi.c (grub_reboot): New function.
36602 (grub_halt): Likewise.
36604 2008-02-12 Robert Millan <rmh@aybabtu.com>
36606 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
36607 /dev (like it is done for /dev/mapper). This doesn't provide support
36608 for EVMS, but at least it is now easy to identify the problem when it
36611 2008-02-11 Robert Millan <rmh@aybabtu.com>
36613 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
36614 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
36615 comparing it with -1, not 0.
36617 2008-02-10 Robert Millan <rmh@aybabtu.com>
36619 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
36621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36622 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
36624 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
36625 `disk/lvm.c' to the end of the list.
36626 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36627 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36629 2008-02-10 Robert Millan <rmh@aybabtu.com>
36631 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
36632 grub_print_error() instead. This will let user know why we're entering
36634 Based on suggestions from Sam Morris.
36636 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
36638 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
36639 on remaining N args, instead of "--" arg N times.
36641 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
36643 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
36644 (fill_with_default_glyph): Changed to use unknown_glyph for fill
36645 pattern for unknown glyphs.
36647 2008-02-09 Robert Millan <rmh@aybabtu.com>
36649 * configure.ac: Probe for `help2man'.
36650 * Makefile.in (builddir): New variable.
36651 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
36652 or otherwise add a few flags/options to it.
36653 (install-local): For every executable utility or script that is
36654 installed, invoke $(HELP2MAN) to install a manpage based on --help
36657 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
36658 that it doesn't prevent --help from working in build tree.
36660 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
36661 with `bug-grub@gnu.org'.
36662 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
36663 * util/update-grub.in (usage): New function.
36664 Implement proper argument check, with support for --help and --version
36665 (as well as existing -y).
36667 2008-02-09 Christian Franke <franke@computer.org>
36669 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
36670 avoid overwriting previous output.
36671 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
36673 2008-02-09 Robert Millan <rmh@aybabtu.com>
36675 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
36678 2008-02-09 Robert Millan <rmh@aybabtu.com>
36680 * commands/sleep.c: New file.
36681 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
36682 (sleep_mod_SOURCES): New variable.
36683 (sleep_mod_CFLAGS): Likewise.
36684 (sleep_mod_LDFLAGS): Likewise.
36686 2008-02-09 Robert Millan <rmh@aybabtu.com>
36688 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
36689 situations in which we can deduce the RAID size and the superblock
36692 2008-02-09 Robert Millan <rmh@aybabtu.com>
36694 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
36695 and return a grub_diskmemberlist_t composed of LVM physical volumes.
36696 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
36698 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
36699 and return a grub_diskmemberlist_t composed of physical array members.
36700 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
36702 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
36704 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
36705 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
36706 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
36708 * util/grub-probe.c (probe): Move partmap probing code from here ...
36709 (probe_partmap): ... to here.
36710 (probe): Use probe_partmap() once for the disk we're probing, and
36711 additionally, when such disk contains a memberlist() struct member,
36712 once for each disk that is contained in the structure returned by
36715 2008-02-09 Robert Millan <rmh@aybabtu.com>
36717 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
36718 environment variable to 'all' in order to obtain debug output from
36720 * util/i386/pc/grub-setup.c (main): Likewise.
36722 2008-02-08 Robert Millan <rmh@aybabtu.com>
36724 * disk/raid.c (grub_raid_scan_device): Check for
36725 `array->device[sb.this_disk.number]' rather than for
36726 `array->device[sb.this_disk.number]->name', since the latter is not
36727 guaranteed to be accessible.
36729 2008-02-08 Robert Millan <rmh@aybabtu.com>
36731 * disk/raid.c: Update copyright.
36732 * fs/cpio.c: Likewise.
36733 * include/grub/raid.h: Likewise.
36734 * loader/i386/pc/multiboot.c: Likewise.
36735 * util/hostfs.c: Likewise.
36737 2008-02-08 Robert Millan <rmh@aybabtu.com>
36739 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
36740 to a grub_disk_t array.
36741 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
36743 (grub_raid_scan_device): Replace `device[x].name' accesses with
36744 `device[x]->name'. Simplify initialization of `array->device[x]'.
36746 2008-02-08 Robert Millan <rmh@aybabtu.com>
36748 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
36749 grub_dprintf() calls.
36750 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
36753 2008-02-07 Christian Franke <franke@computer.org>
36755 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
36756 instead of fseek and ftell to support large files.
36757 (grub_hostfs_read): Likewise.
36759 2008-02-07 Robert Millan <rmh@aybabtu.com>
36761 Patch from Jeroen Dekkers.
36762 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
36763 failure, since successfully reading all array members might not be
36766 2008-02-06 Robert Millan <rmh@aybabtu.com>
36768 * util/grub-probe.c (probe): Simplify partmap probing (with the
36769 assumption that the first word up to the underscore equals to
36772 2008-02-06 Christian Franke <franke@computer.org>
36774 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
36775 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
36776 last block of a cpio or tar stream.
36777 Check for "TRAILER!!!" instead of any empty data
36778 block to detect last block of a cpio stream.
36779 (grub_cpio_dir): Fix constness of variable np.
36780 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
36781 cpio or tar trailer is detected. This fixes a crash
36782 on open of a non existing file.
36784 2008-02-05 Bean <bean123ch@gmail.com>
36786 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
36788 (grub_multiboot_load_elf64): Likewise.
36789 (grub_multiboot): Initialize mbi structure.
36791 * util/grub-fstest.c: Don't include unused header file script.h.
36793 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
36795 (grub_fstest_SOURCES): Likewise.
36797 2008-02-05 Robert Millan <rmh@aybabtu.com>
36799 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
36800 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
36801 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
36802 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
36804 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
36805 (translation_table): Replace hardcoded values with macros
36806 provided by `<grub/term.h>'.
36808 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
36809 (keyboard_map): Correct/add a few values, with macros provided
36810 by `<grub/term.h>'.
36811 (keyboard_map_shift): Zero values that don't differ from their
36812 `keyboard_map' equivalents.
36813 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
36814 Discard the second scan code that is always sent by Caps lock.
36815 Only use `keyboard_map_shift' when it provides a non-zero value,
36816 otherwise fallback to `keyboard_map'.
36818 2008-02-04 Bean <bean123ch@gmail.com>
36820 * Makefile.in (enable_grub_fstest): New variable.
36822 * conf/common.rmk (grub_fstest_init.lst): New rule.
36823 (grub_fstest_init.h): Likewise.
36824 (grub_fstest_init.c): Likewise.
36825 (util/grub-fstest.c_DEPENDENCIES): New variable.
36826 (grub_fstest_SOURCES): Likewise.
36828 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
36830 * util/grub-fstest.c: New file.
36832 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36834 Make grub-setup handle a separate root device.
36836 * util/i386/pc/grub-setup.c (setup): Always open the root device,
36837 so that the root device can be compared with the destination
36839 When embedding the core image, if the root and destination devices
36840 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
36842 When not embedding, set ROOT_DRIVE to 0xFF.
36844 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36846 Add support for having a grub directory in a different drive. This
36847 is still only the data handling part.
36849 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
36850 (codestart): Save %dh in GRUB_ROOT_DRIVE.
36851 (grub_root_drive): New variable.
36853 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
36854 instead of GRUB_BOOT_DRIVE to construct a device name. Set
36855 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
36858 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
36860 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
36862 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
36864 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
36865 is bogus, because PXE booting does not specify any drive
36868 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
36869 am not sure if this is really correct.
36871 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
36872 is always identical to the boot drive when booting from a CD.
36874 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
36876 (root_drive): New variable.
36877 (real_start): Unconditionally set %dh to ROOT_DRIVE.
36878 (setup_sectors): Push %dx right after popping it, because %dh will
36880 (copy_buffer): Restore %dx.
36882 2008-02-03 Robert Millan <rmh@aybabtu.com>
36884 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
36885 use `cdboot.img' for cdrom images.
36887 2008-02-03 Robert Millan <rmh@aybabtu.com>
36889 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
36890 only setup gfxterm when `font' command has succeeded.
36892 2008-02-03 Robert Millan <rmh@aybabtu.com>
36894 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
36895 (grub_rescue_cmd_multiboot_loader)
36896 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
36898 2008-02-03 Pavel Roskin <proski@gnu.org>
36900 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
36901 %edx and %esi from stack only after grub_gate_a20() is called.
36902 grub_gate_a20() clobbers %edx.
36904 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36906 * configure.ac (AC_INIT): Bumped to 1.96.
36908 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
36909 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
36910 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
36911 video/readers/png.c.
36913 2008-02-03 Bean <bean123ch@gmail.com>
36915 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
36916 (cdboot_img_SOURCES): New variable.
36917 (cdboot_img_ASFLAGS): New variable.
36918 (cdboot_img_LDFLAGS): New variable.
36920 * boot/i386/pc/cdboot.S: New file.
36922 * disk/i386/pc/biosdisk.c (cd_start): New variable.
36923 (cd_count): Likewise.
36924 (grub_biosdisk_get_drive): Add support for cd device.
36925 (grub_biosdisk_call_hook): Likewise.
36926 (grub_biosdisk_iterate): Likewise.
36927 (grub_biosdisk_open): Likewise.
36928 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
36929 (grub_biosdisk_rw): Support reading from cd device.
36930 (GRUB_MOD_INIT): Iterate cd devices.
36932 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
36933 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
36934 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
36936 * kern/i386/pc/init.c (make_install_device): Check for cd device.
36938 2008-02-02 Robert Millan <rmh@aybabtu.com>
36940 * commands/read.c: New file.
36941 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
36942 (read_mod_SOURCES): New variable.
36943 (read_mod_CFLAGS): Likewise.
36944 (read_mod_LDFLAGS): Likewise.
36946 2008-02-02 Robert Millan <rmh@aybabtu.com>
36948 * normal/main.c (grub_normal_execute): Check for `menu->size' when
36949 determining whether menu has to be displayed.
36951 2008-02-02 Marco Gerards <marco@gnu.org>
36953 * bus/pci.c: New file.
36955 * include/grub/pci.h: Likewise.
36957 * include/grub/i386/pc/pci.h: Likewise.
36959 * commands/lspci.c: Likewise.
36961 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
36963 (pci_mod_SOURCES): New variable.
36964 (pci_mod_CFLAGS): Likewise.
36965 (pci_mod_LDFLAGS): Likewise.
36966 (lspci_mod_SOURCES): Likewise.
36967 (lspci_mod_CFLAGS): Likewise.
36968 (lspci_mod_LDFLAGS): Likewise.
36970 2008-02-02 Bean <bean123ch@gmail.com>
36972 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
36973 (grub_ufs_get_file_block): Fix indirect block calculation problem.
36975 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
36976 (grub_xfs_btree_node): New structure.
36977 (grub_xfs_btree_root): New structure.
36978 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
36979 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
36980 (GRUB_XFS_EXTENT_BLOCK): Likewise.
36981 (GRUB_XFS_EXTENT_SIZE): Likewise.
36982 (grub_xfs_read_block): Support btree format type.
36983 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
36984 Use directory block as basic unit.
36986 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
36988 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
36989 __attribute__ ((__regparm__ (1))).
36991 2008-02-01 Robert Millan <rmh@aybabtu.com>
36993 Correct a mistake in previous commit.
36995 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
36997 (normal/command.c_DEPENDENCIES): New variable.
36999 2008-02-01 Robert Millan <rmh@aybabtu.com>
37001 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37003 (normal/command.c_DEPENDENCIES): New variable.
37004 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37005 * conf/i386-ieee1275.rmk: Likewise.
37006 * conf/i386-linuxbios.rmk: Likewise.
37007 * conf/i386-pc.rmk: Likewise.
37008 * conf/sparc64-ieee1275.rmk: Likewise.
37009 * conf/powerpc-ieee1275.rmk: Likewise.
37010 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37012 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37014 2008-02-01 Robert Millan <rmh@aybabtu.com>
37016 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37017 call at beginning of function.
37019 2008-01-31 Pavel Roskin <proski@gnu.org>
37021 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
37022 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37023 (grub_mkrescue_SOURCES): Likewise.
37024 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37026 2008-01-30 Robert Millan <rmh@aybabtu.com>
37028 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37029 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37030 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37031 (grub_probe_SOURCES): ... to here.
37033 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37034 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37035 * conf/i386-ieee1275.rmk: Likewise.
37036 * conf/i386-linuxbios.rmk: Likewise.
37037 * conf/powerpc-ieee1275.rmk: Likewise.
37039 2008-01-30 Tristan Gingold <gingold@free.fr>
37041 * kern/rescue.c: Silently accept empty lines.
37043 2008-01-29 Bean <bean123ch@gmail.com>
37045 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37046 (real_code_2): Code cleanup and change comment style.
37047 (move_memory): Avoid using 32-bit address mode.
37049 2008-01-29 Bean <bean123ch@gmail.com>
37051 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37052 (png_mod_SOURCES): New variable.
37053 (png_mod_CFLAGS): Likewise.
37054 (png_mod_LDFLAGS): Likewise.
37056 * video/readers/png.c: New file.
37058 2008-01-28 Robert Millan <rmh@aybabtu.com>
37060 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37061 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37062 `ifndef GRUB_MOD_GAP' hack.
37063 * util/elf/grub-mkimage.c (add_segments): Likewise.
37065 2008-01-27 Robert Millan <rmh@aybabtu.com>
37067 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37068 `GRUB_MOD_GAP' for platforms in which it's not defined.
37069 * util/elf/grub-mkimage.c (add_segments): Likewise.
37071 2008-01-27 Robert Millan <rmh@aybabtu.com>
37073 Get grub-emu to build again (including parallel builds).
37075 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37077 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37078 (normal/execute.c_DEPENDENCIES): ... this, ...
37079 (grub-emu_DEPENDENCIES): ... and this.
37081 * conf/i386-efi.rmk: Likewise.
37082 * conf/i386-linuxbios.rmk: Likewise.
37083 * conf/i386-ieee1275.rmk: Likewise.
37084 * conf/powerpc-ieee1275.rmk: Likewise.
37085 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37087 2008-01-27 Robert Millan <rmh@aybabtu.com>
37089 * NEWS: Add a few items.
37091 2008-01-27 Robert Millan <rmh@aybabtu.com>
37093 Fix parallel builds with grub-emu. Based on earlier commit for
37094 grub-probe and grub-setup.
37096 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37097 (util/grub-emu.c_DEPENDENCIES): ... this.
37098 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37099 (util/grub-emu.c_DEPENDENCIES): ... this.
37100 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37101 (util/grub-emu.c_DEPENDENCIES): ... this.
37102 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37103 (util/grub-emu.c_DEPENDENCIES): ... this.
37104 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37105 (util/grub-emu.c_DEPENDENCIES): ... this.
37107 2008-01-27 Pavel Roskin <proski@gnu.org>
37109 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37110 to create a gap between _end and the modules added to the image
37111 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37112 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37113 * util/elf/grub-mkimage.c (add_segments): Likewise.
37115 2008-01-26 Pavel Roskin <proski@gnu.org>
37117 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37118 just return an error.
37120 2008-01-26 Bean <bean123ch@gmail.com>
37122 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37123 (grub_reiserfs_get_item): Save offset of the next item.
37124 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37126 2008-01-25 Robert Millan <rmh@aybabtu.com>
37128 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37129 make all filesystem sources appear together (possibly fixing omissions
37131 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37132 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37133 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37134 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37136 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37138 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37139 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37140 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37141 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37143 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37144 (probe): Add a sanity check to make sure of our ability to read
37145 requested files when probing for filesystem type.
37147 * genmk.rb: Update copyright year (2007).
37149 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37150 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37151 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37152 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37153 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37154 : Remove function prototypes.
37156 2008-01-25 Robert Millan <rmh@aybabtu.com>
37158 Revert my previous commits (based on wrong assumption of how grub_errno
37161 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
37162 * kern/file.c (grub_file_open): Likewise.
37164 2008-01-24 Pavel Roskin <proski@gnu.org>
37166 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37167 that hang if GRUB tries to setup colors.
37168 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37169 colors for firmwares that don't support it.
37170 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37171 Recognize Open Hack'Ware, set flags to work around its
37174 2008-01-24 Robert Millan <rmh@aybabtu.com>
37176 * kern/file.c (grub_file_open): Do not account previous failures of
37177 unrelated functions when grub_errno is checked for.
37178 Reported by Oleg Strikov.
37180 2008-01-24 Bean <bean123ch@gmail.com>
37182 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37183 (grub_ufs_sblock): New member volume name.
37184 (grub_ufs_find_file): Fix string copy bug.
37185 (grub_ufs_label): Implement this function properly.
37187 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37188 (grub_hfs_iterate_records): Use the correct file number for extents
37189 and catalog file. Fix problem in next index calculation.
37190 (grub_hfs_find_node): Replace recursive function call with loop.
37191 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37193 2008-01-23 Robert Millan <rmh@aybabtu.com>
37195 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37196 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37197 (grub_multiboot2_real_boot): New function prototype.
37199 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37200 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37202 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37203 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37205 2008-01-23 Robert Millan <rmh@aybabtu.com>
37207 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37208 #ifdef'ed out grub_printf().
37210 2008-01-23 Robert Millan <rmh@aybabtu.com>
37212 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37213 grub_dprintf calls, since they make "debug=all" mode unusable.
37214 (grub_console_checkkey): Likewise.
37216 2008-01-23 Robert Millan <rmh@aybabtu.com>
37218 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37219 `term/i386/pc/at_keyboard.c'.
37220 (pkglib_MODULES): Add `serial.mod'.
37221 (serial_mod_SOURCES): New variable.
37222 (serial_mod_CFLAGS): Likewise.
37223 (serial_mod_LDFLAGS): Likewise.
37225 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37226 `<grub/powerpc/ieee1275/console.h>'.
37227 (grub_keyboard_controller_init): New function prototype.
37228 (grub_console_checkkey): Likewise.
37229 (grub_console_getkey): Likewise.
37231 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37234 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37235 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37237 2008-01-23 Robert Millan <rmh@aybabtu.com>
37239 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37240 present, "(memdisk)/boot/grub" becomes the default prefix.
37242 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37243 a memdisk tarball with all the modules. Add --overlay=DIR option that
37244 allows users to overlay additional files into the image.
37246 2008-01-23 Robert Millan <rmh@aybabtu.com>
37248 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37249 and `machine/memory.h'.
37250 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37251 (_multiboot_mod_SOURCES): New variable.
37252 (_multiboot_mod_CFLAGS): Likewise.
37253 (_multiboot_mod_LDFLAGS): Likewise.
37254 (multiboot_mod_SOURCES): Likewise.
37255 (multiboot_mod_CFLAGS): Likewise.
37256 (multiboot_mod_LDFLAGS): Likewise.
37258 * include/grub/i386/ieee1275/loader.h: New file.
37260 * include/grub/i386/ieee1275/machine.h: Likewise.
37262 * include/grub/i386/ieee1275/memory.h: Likewise.
37264 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37265 variable declaration.
37266 (grub_os_area_size): Likewise.
37268 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37269 (grub_lower_mem, grub_upper_mem): New variables.
37270 (grub_stop_floppy): New function (just to make
37271 grub_multiboot2_real_boot() happy).
37273 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37274 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37275 (grub_stop): New function.
37276 Include `"../realmode.S"' and `"../loader.S"'.
37278 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37279 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37281 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37282 rely on grub_multiboot2_real_boot() for final boot.
37284 2008-01-22 Robert Millan <rmh@aybabtu.com>
37286 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37287 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37288 device that doesn't look like an SD card.
37289 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37290 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37291 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37292 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37295 2008-01-22 Robert Millan <rmh@aybabtu.com>
37297 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37298 avoid claiming over our own code.
37300 2008-01-22 Bean <bean123ch@gmail.com>
37302 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37303 (jpeg_mod_SOURCES): New variable.
37304 (jpeg_mod_CFLAGS): Likewise.
37305 (jpeg_mod_LDFLAGS): Likewise.
37307 * video/readers/jpeg.c : New file.
37309 2008-01-22 Bean <bean123ch@gmail.com>
37311 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37312 there are no more items.
37314 2008-01-21 Robert Millan <rmh@aybabtu.com>
37316 * kern/mm.c (grub_mm_init_region): Improve debug message.
37318 2008-01-21 Robert Millan <rmh@aybabtu.com>
37320 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37321 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37323 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37325 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37326 Indicates start of upper memory.
37327 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37328 (generate_image): Abort when image size is big enough to corrupt
37331 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37332 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37333 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37334 instead of hardcoding 0xA0000.
37335 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37336 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37337 instead of hardcoding 0xA0000.
37339 2008-01-21 Robert Millan <rmh@aybabtu.com>
37341 * disk/memdisk.c (memdisk_size): New variable.
37342 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37344 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37345 image to dynamic memory.
37346 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37347 `memdisk_size'. Free memdisk block.
37349 2008-01-21 Robert Millan <rmh@aybabtu.com>
37351 Fix detection of very small filesystems (like tar).
37353 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37354 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37355 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37356 a problem with this disk).
37358 2008-01-21 Robert Millan <rmh@aybabtu.com>
37360 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
37361 on grub_biosdisk_rw_standard() error.
37363 2008-01-21 Robert Millan <rmh@aybabtu.com>
37365 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
37367 * kern/elf.c: Likewise.
37368 * kern/ieee1275/ieee1275.c: Likewise.
37369 * kern/powerpc/ieee1275/openfw.c: Likewise.
37370 * term/ieee1275/ofconsole.c: Likewise.
37372 2008-01-21 Robert Millan <rmh@aybabtu.com>
37374 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
37376 * include/grub/kernel.h (grub_arch_memdisk_addr)
37377 (grub_arch_memdisk_size): Moved from here ...
37379 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
37380 (grub_arch_memdisk_size): ... to here.
37382 2008-01-21 Robert Millan <rmh@aybabtu.com>
37384 Mostly based on bugfix from Bean.
37386 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
37387 attribute with hook() parameter.
37388 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
37390 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
37391 attribute with hook() parameter.
37392 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
37395 2008-01-21 Robert Millan <rmh@aybabtu.com>
37397 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
37398 (pkglib_MODULES): Add `memdisk.mod'.
37399 (memdisk_mod_SOURCES): New variable.
37400 (memdisk_mod_CFLAGS): Likewise.
37401 (memdisk_mod_LDFLAGS): Likewise.
37403 * disk/memdisk.c: New file.
37405 * include/grub/disk.h (grub_disk_dev_id): Add
37406 `GRUB_DISK_DEVICE_MEMDISK_ID'.
37408 * include/grub/i386/pc/kernel.h
37409 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
37410 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
37411 (grub_kernel_image_size): New variable declaration.
37412 (grub_total_module_size): Likewise.
37413 (grub_memdisk_image_size): Likewise.
37415 * include/grub/i386/pc/memory.h
37416 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
37418 * include/grub/kernel.h: Include `<grub/symbol.h>'.
37419 (grub_arch_memdisk_addr): New variable declaration.
37420 (grub_arch_memdisk_size): Likewise.
37422 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
37423 (grub_arch_memdisk_size): Likewise.
37425 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
37426 (codestart): Replace hardcoded `0x100000' with
37427 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
37429 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
37430 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
37431 not NULL, append the contents of the file it refers to, at the end of
37432 the compressed kernel image. Initialize `grub_memdisk_image_size'
37433 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
37434 (options): Add "memdisk"|'m' option.
37435 (main): Parse --memdisk|-m option, and pass user-provided path as
37436 parameter to generate_image().
37438 2008-01-20 Robert Millan <rmh@aybabtu.com>
37440 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
37441 grub_dprintf() calls from here ...
37442 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
37444 2008-01-20 Robert Millan <rmh@aybabtu.com>
37446 Fix detection of "real mode" when /options/real-mode? doesn't exist.
37448 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
37450 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
37451 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
37452 `GRUB_IEEE1275_FLAG_REAL_MODE'.
37453 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
37455 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
37456 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
37458 2008-01-19 Robert Millan <rmh@aybabtu.com>
37460 Get rid of confusing function (superseded by
37461 `grub_ieee1275_get_integer_property')
37462 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
37464 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
37466 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
37467 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
37468 in native endianness from grub_ieee1275_get_integer_property().
37470 2008-01-19 Robert Millan <rmh@aybabtu.com>
37472 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
37473 command after "shut-down", since implementations differ on which
37474 the command for halt is.
37476 2008-01-19 Robert Millan <rmh@aybabtu.com>
37478 * include/grub/i386/linuxbios/console.h: Add header protection.
37479 (grub_keyboard_controller_init): New function prototype.
37480 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
37481 (KEYBOARD_COMMAND_READ): Likewise.
37482 (KEYBOARD_COMMAND_WRITE): Likewise.
37483 (KEYBOARD_SCANCODE_SET1): Likewise.
37484 (grub_keyboard_controller_write): New function.
37485 (grub_keyboard_controller_read): Likewise.
37486 (grub_keyboard_controller_init): Likewise.
37488 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
37489 (grub_console_init): On coreboot/LinuxBIOS, call
37490 grub_keyboard_controller_init().
37492 2008-01-19 Robert Millan <rmh@aybabtu.com>
37494 PowerPC changes provided by Pavel Roskin.
37496 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
37497 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
37498 don't rely on cmain() doing it.
37499 * kern/i386/ieee1275/startup.S (_start): Store %eax in
37500 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
37502 2008-01-16 Robert Millan <rmh@aybabtu.com>
37504 * include/grub/i386/linuxbios/memory.h
37505 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
37506 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
37507 receive `table_header' as argument. Instead, probe for it in the
37508 known memory ranges where it can be present.
37509 (grub_available_iterate): Do not pass a fixed `table_header' address
37510 to grub_linuxbios_table_iterate().
37512 2008-01-15 Robert Millan <rmh@aybabtu.com>
37514 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
37515 * conf/i386-ieee1275.rmk: New file.
37516 * include/grub/i386/ieee1275/console.h: Likewise.
37517 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
37518 * include/grub/i386/ieee1275/kernel.h: Likewise.
37519 * include/grub/i386/ieee1275/time.h: Likewise.
37520 * kern/i386/ieee1275/init.c: Likewise.
37521 * kern/i386/ieee1275/startup.S: Likewise.
37523 2008-01-15 Robert Millan <rmh@aybabtu.com>
37525 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
37526 when pointers are 32-bit (but still do set it to one when they are
37529 2008-01-15 Robert Millan <rmh@aybabtu.com>
37531 * include/grub/ieee1275/ieee1275.h
37532 (grub_ieee1275_get_integer_property): New function prototype.
37534 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
37535 (grub_ieee1275_get_integer_property): New function. Wraps around
37536 grub_ieee1275_get_property() to handle endianness.
37538 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
37539 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
37541 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
37542 (grub_map): Likewise.
37543 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
37545 2008-01-15 Bean <bean123ch@gmail.com>
37547 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
37548 (grub_script_execute_cmdline): Reset grub_errno.
37550 * normal/main.c (read_config_file): Reset grub_errno.
37552 * normal/parse.y (script_init): New.
37553 (script): Move function and menuentry here.
37555 (command): Add delimiter at the end of command.
37556 (commands): Adjust to match the new command.
37557 (commandblock): Remove grub_script_lexer_record_start.
37558 (menuentry): Add grub_script_lexer_record_start, use the new commands.
37559 (if): Use the new commands.
37561 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
37563 2008-01-15 Robert Millan <rmh@aybabtu.com>
37565 * normal/menu.c (run_menu): Move timeout message from here ...
37566 (print_timeout): ... to here.
37567 (run_menu): Use print_timeout() once during initial draw to print
37568 the whole message, and again in every clock tick to update only
37569 the number of seconds.
37571 2008-01-15 Robert Millan <rmh@aybabtu.com>
37573 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
37574 actual size of `available' from grub_ieee1275_get_property(), and
37575 restrict parsing to that bound.
37577 2008-01-15 Christian Franke <franke@computer.org>
37579 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
37580 (argp_program_version): Remove variable.
37581 (argp_program_bug_address): Likewise.
37582 (options): Convert from struct argp_option to struct option.
37583 (struct arguments): Remove.
37584 (parse_opt): Remove.
37585 (usage): New function.
37586 (main): Replace struct args members by simple variables.
37587 Replace argp_parse() by getopt_long().
37588 Add switch to evaluate options.
37589 Add missing "(...)" around root_dev in prefix string.
37591 2008-01-14 Robert Millan <rmh@aybabtu.com>
37593 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
37594 for grub_ieee1275_exit(), in order to improve portability.
37596 2008-01-14 Robert Millan <rmh@aybabtu.com>
37598 * util/grub.d/10_linux.in (prefix): Define.
37599 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
37601 2008-01-13 Pavel Roskin <proski@gnu.org>
37603 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
37604 grub_errno if no errors have been detected.
37606 2008-01-12 Robert Millan <rmh@aybabtu.com>
37608 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
37609 (grub_util_get_dev_abstraction): New function prototype.
37611 * util/getroot.c: Include `<grub/util/getroot.h>'
37612 (grub_util_get_grub_dev): Move detection of abstraction type to ...
37613 (grub_util_get_dev_abstraction): ... here (new function).
37615 * util/grub-probe.c: Convert PRINT_* to an enum. Add
37616 `PRINT_ABSTRACTION'.
37617 (probe): Probe for abstraction type when requested.
37618 (main): Understand `--target=abstraction'.
37620 * util/i386/efi/grub-install.in: Add abstraction module to core
37621 image when it is found to be necessary.
37622 * util/i386/pc/grub-install.in: Likewise.
37623 * util/powerpc/ieee1275/grub-install.in: Likewise.
37625 * util/update-grub_lib.in (font_path): Return system path without
37626 converting to GRUB path.
37627 * util/update-grub.in: Convert system path returned by font_path()
37628 to a GRUB path. Use `grub-probe -t abstraction' to determine what
37629 abstraction module is needed for loading fonts (if any). Export
37630 that as `GRUB_PRELOAD_MODULES'.
37631 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
37634 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
37636 Remove some unused code from reiserfs.
37638 * fs/reiserfs.c (struct grub_reiserfs_key)
37639 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
37640 (struct grub_reiserfs_node_body): Removed.
37641 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37643 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37645 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37647 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37649 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37651 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
37653 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37654 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37655 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37657 2008-01-10 Robert Millan <rmh@aybabtu.com>
37659 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
37660 Determines if a file is garbage left by packaging systems, etc.
37661 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
37662 for processing /etc/grub.d scripts.
37663 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
37664 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
37665 as a condition for processing Linux images.
37667 2008-01-10 Pavel Roskin <proski@gnu.org>
37669 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
37670 to compile reiserfs.c on PowerPC.
37672 2008-01-10 Robert Millan <rmh@aybabtu.com>
37674 * kern/device.c (grub_device_iterate): Do not abort device iteration
37675 when one of the devices cannot be opened.
37676 * kern/disk.c (grub_disk_open): Do not account previous failures of
37677 unrelated functions when grub_errno is checked for.
37679 2008-01-08 Robert Millan <rmh@aybabtu.com>
37681 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
37682 `! grub_linux_is_bzimage', change order of address comparison to make
37683 it more intuitive, and improve "too big zImage" error message.
37685 2008-01-08 Robert Millan <rmh@aybabtu.com>
37687 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
37688 `$(update-grub_DATA)'.
37689 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
37692 2008-01-07 Robert Millan <rmh@aybabtu.com>
37694 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
37695 which instruction is modified by grub-setup during installation
37696 (since it wasn't obvious by only looking at this file).
37698 2008-01-07 Robert Millan <rmh@aybabtu.com>
37700 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
37701 listing actual TODO items.
37703 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37705 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
37707 (grub_reiserfs_get_key_offset): Likewise.
37708 (grub_reiserfs_set_key_offset): Likewise.
37709 (grub_reiserfs_set_key_type): Likewise.
37710 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
37712 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
37713 better to remove the bitfield version completely.
37715 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37717 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
37718 allocated from the heap, due to the fshelp implementation.
37719 (grub_reiserfs_dir): Free NODE, due to the same reason.
37721 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37723 Mostly from Vincent Pelletier:
37725 * fs/reiserfs.c: New file.
37727 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
37728 (reiserfs_mod_SOURCES): New variable.
37729 (reiserfs_mod_CFLAGS): Likewise.
37730 (reiserfs_mod_LDFLAGS): Likewise.
37732 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
37733 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
37734 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
37737 2008-01-06 Robert Millan <rmh@aybabtu.com>
37739 * normal/color.c: Remove `<grub/env.h>'.
37741 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
37743 * include/grub/normal.h: Include <grub/env.h>.
37745 2008-01-05 Robert Millan <rmh@aybabtu.com>
37747 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
37748 usage example with `(hd0,1)'.
37749 Reported by Samuel Thibault.
37751 2008-01-05 Robert Millan <rmh@aybabtu.com>
37753 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
37754 (grub_linux_boot_zimage): Rename to ...
37755 (grub_linux_boot): ... this.
37756 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
37757 (grub_linux_boot_zimage): Conditionalize zImage copy.
37759 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
37760 (grub_linux_boot_bzimage): Remove prototype.
37761 (grub_linux_boot_zimage): Rename to ...
37762 (grub_linux_boot): ... this.
37764 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
37765 (grub_linux_boot): Remove function.
37767 2008-01-05 Robert Millan <rmh@aybabtu.com>
37769 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
37770 (grub_env_write_color_highlight): Likewise.
37771 (grub_wait_after_message): Likewise.
37773 * normal/color.c: New file.
37775 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37776 (normal_mod_DEPENDENCIES): Likewise.
37778 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37779 (normal_mod_DEPENDENCIES): Likewise.
37781 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37782 (normal_mod_DEPENDENCIES): Likewise.
37784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37785 (normal_mod_DEPENDENCIES): Likewise.
37787 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
37788 for waiting after a message is printed.
37789 * normal/main.c (read_config_file): Likewise.
37790 (grub_normal_init): Register grub_env_write_color_normal() and
37791 grub_env_write_color_highlight() hooks. Mark `color_normal' and
37792 `color_highlight' variables as global.
37794 * normal/menu.c (grub_wait_after_message): New function.
37795 (grub_color_menu_normal): New variable. Replaces ...
37796 (GRUB_COLOR_MENU_NORMAL): ... this macro.
37797 (grub_color_menu_highlight): New variable. Replaces ...
37798 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
37799 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
37800 `GRUB_TERM_COLOR_STANDARD'.
37801 (print_message): Use `grub_setcolorstate' to reload colors. Rename
37802 `normal_code' and `highlight_code' to `old_color_normal' and
37803 `old_color_highlight', respectively.
37804 (grub_menu_init_page): Update colors when drawing the menu, based on
37805 `menu_color_normal' and `menu_color_highlight' variables.
37806 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
37807 a message is printed.
37809 2008-01-05 Robert Millan <rmh@aybabtu.com>
37811 * kern/env.c (grub_env_context_open): Propagate hooks for global
37812 variables to new context.
37814 * kern/main.c (grub_set_root_dev): Export `root' variable.
37816 2008-01-05 Robert Millan <rmh@aybabtu.com>
37818 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
37819 discs unconditionally, since udev and others have options to provide
37822 2008-01-05 Robert Millan <rmh@aybabtu.com>
37824 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
37826 2008-01-04 Christian Franke <franke@computer.org>
37828 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
37831 2008-01-03 Pavel Roskin <proski@gnu.org>
37833 * kern/i386/linuxbios/init.c: Put "void" to all function
37834 declarations with no arguments.
37835 * kern/powerpc/ieee1275/init.c: Likewise.
37836 * term/i386/pc/at_keyboard.c: Likewise.
37837 * term/i386/pc/vga_text.c: Likewise.
37838 * util/grub-mkdevicemap.c: Likewise.
37840 2008-01-02 Robert Millan <rmh@aybabtu.com>
37842 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
37843 message when loaded image is out of bounds.
37844 (grub_multiboot_load_elf64): Likewise.
37846 2008-01-02 Pavel Roskin <proski@gnu.org>
37848 * util/grub.d/10_linux.in: Try version without ".old" when
37849 looking for initrd. It's better to use initrd from the newer
37850 kernel of the same version than no initrd at all.
37852 2008-01-01 Robert Millan <rmh@aybabtu.com>
37854 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
37856 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
37858 * include/grub/video.h: Added grub_video_unmap_color and
37859 grub_video_get_active_render_target.
37860 (grub_video_adapter): Added unmap_color and get_active_render_target.
37862 * video/video.c: Added grub_video_unmap_color and
37863 grub_video_get_active_render_target.
37864 (grub_video_get_info): Changed method to accept NULL pointer as an
37865 argument to allow detection of active video adapter.
37867 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
37868 grub_video_vbe_unmap_color_int.
37869 Added grub_video_vbe_unmap_color and
37870 grub_video_vbe_get_active_render_target.
37871 (grub_video_vbe_adapter): Added unmap_color and
37872 get_active_render_target.
37874 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
37875 with grub_video_vbe_unmap_color_int.
37877 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
37878 (DEFAULT_NORMAL_COLOR): Likewise.
37879 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
37880 (DEFAULT_FG_COLOR): Removed.
37881 (DEFAULT_BG_COLOR): Likewise.
37882 (DEFAULT_CURSOR_COLOR): Changed value.
37883 (grub_virtual_screen): Added standard_color_setting,
37884 normal_color_setting, highlight_color_setting and term_color.
37885 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
37886 (bitmap_width): Added.
37887 (bitmap_height): Likewise.
37888 (bitmap): Likewise.
37889 (set_term_color): Likewise.
37890 (grub_virtual_screen_setup): Changed to use new terminal coloring
37892 (grub_gfxterm_init): Added init for bitmap.
37893 (grub_gfxterm_fini): Added destroy for bitmap.
37894 (redraw_screen_rect): Updated to use background bitmap and new
37896 (scroll_up): Added optimization for case when there is no bitmap.
37897 (grub_gfxterm_cls): Fixed to use correct background color.
37898 (grub_virtual_screen_setcolorstate): Changed to use new terminal
37900 (grub_virtual_screen_setcolor): Likewise.
37901 (grub_virtual_screen_getcolor): Added.
37902 (grub_gfxterm_background_image_cmd): Likewise.
37903 (grub_video_term): Added setcolor and getcolor.
37904 (MOD_INIT): Added registration of background_image command.
37905 (MOD_TERM): Added unregistration for background_image command.
37907 2007-12-30 Pavel Roskin <proski@gnu.org>
37909 * loader/multiboot_loader.c: Fix multiboot command
37910 unregistration. Fix all typos in the word "multiboot".
37912 2007-12-29 Pavel Roskin <proski@gnu.org>
37914 * util/grub.d/10_linux.in: Refactor search for initrd. Add
37915 support for initrd names used in Fedora.
37917 2007-12-26 Bean <bean123ch@gmail.com>
37919 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
37920 (cpio_mod_SOURCES): New variable.
37921 (cpio_mod_CFLAGS): Likewise.
37922 (cpio_mod_LDFLAGS): Likewise.
37924 * fs/cpio.c: New file.
37926 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
37928 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37930 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37934 2007-12-25 Robert Millan <rmh@aybabtu.com>
37936 * include/grub/term.h (struct grub_term): Add `getcolor' function.
37937 (grub_getcolor): New function.
37939 * kern/term.c (grub_getcolor): New function.
37940 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
37941 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
37942 (print_entry): Set normal and highlight colors to
37943 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
37944 respectively, before printing and restore them to old
37946 (grub_menu_init_page): Likewise. Fill an additional colored space
37947 that would otherwise be left blank.
37949 * term/efi/console.c (grub_console_getcolor): New function.
37950 (struct grub_console_term.getcolor): New variable.
37951 * term/i386/pc/console.c (grub_console_getcolor): New function.
37952 (struct grub_console_term.getcolor): New variable.
37953 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
37954 (struct grub_console_term.getcolor): New variable.
37956 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
37957 (struct grub_console_term.setcolor): Remove variable.
37958 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
37959 (struct grub_console_term.setcolor): Remove variable.
37960 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
37961 (struct grub_console_term.setcolor): Remove variable.
37962 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
37963 (struct grub_console_term.setcolor): Remove variable.
37965 2007-12-25 Robert Millan <rmh@aybabtu.com>
37967 * configure.ac: Search for possible unifont.hex locations, and
37968 define UNIFONT_HEX if found.
37970 * Makefile.in (UNIFONT_HEX): Define variable.
37971 (DATA): Rename to ...
37972 (PKGLIB): ... this. Update all users.
37973 (PKGDATA): New variable.
37974 (pkgdata_IMAGES): Rename to ...
37975 (pkglib_IMAGES): ... this. Update all users.
37976 (pkgdata_MODULES): Rename to ...
37977 (pkglib_MODULES): ... this. Update all users.
37978 (pkgdata_PROGRAMS): Rename to ...
37979 (pkglib_PROGRAMS): ... this. Update all users.
37980 (pkgdata_DATA): Rename to ...
37981 (pkglib_DATA): ... this. Update all users.
37982 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
37983 (unicode.pff, ascii.pff): New rules.
37984 (all-local): Add `$(PKGDATA)' dependency.
37985 (install-local): Process `$(PKGDATA)'.
37987 * util/update-grub_lib.in (font_path): Search for *.pff files in
37988 a few more locations, including `${pkgdata}'.
37990 2007-12-23 Robert Millan <rmh@aybabtu.com>
37992 Patch from Bean <bean123ch@gmail.com>:
37993 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
37996 2007-12-21 Bean <bean123ch@gmail.com>
37998 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
37999 (ntfscomp_mod_SOURCES): New variable.
38000 (ntfscomp_mod_CFLAGS): Likewise.
38001 (ntfscomp_mod_LDFLAGS): Likewise.
38003 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38004 (grub_probe_SOURCES): Likewise.
38005 (grub_emu_SOURCES): Likewise.
38007 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38008 (grub_emu_SOURCES): Likewise.
38010 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38011 (grub_emu_SOURCES): Likewise.
38013 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38014 (grub_emu_SOURCES): Likewise.
38016 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38017 (read_run_list): Renamed to grub_ntfs_read_run_list.
38018 (decomp_nextvcn): Moved to ntfscomp.c.
38019 (decomp_getch): Likewise.
38020 (decomp_get16): Likewise.
38021 (decomp_block): Likewise.
38022 (read_block): Likewise.
38023 (read_data): Partially moved to ntfscomp.c.
38024 (fixup): Change unsigned to grub_uint16_t.
38025 (read_mft): Change unsigned long to grub_uint32_t.
38026 (read_attr): Likewise.
38027 (read_data): Likewise.
38028 (read_run_data): Likewise.
38029 (read_run_list): Likewise.
38030 (read_mft): Likewise.
38032 * fs/ntfscomp.c: New file.
38034 * include/grub/ntfs.h: New file.
38036 2007-12-16 Robert Millan <rmh@aybabtu.com>
38038 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38039 IDE disk check, since Linux is known to support 20 IDE disks.
38040 Reported by Colin Watson.
38042 2007-12-15 Bean <bean123ch@gmail.com>
38044 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38045 (lnxboot_img_SOURCES): New variable.
38046 (lnxboot_img_ASFLAGS): Likewise.
38047 (lnxboot_img_LDFLAGS): Likewise.
38049 * boot/i386/pc/lnxboot.S: New file.
38051 2007-11-24 Pavel Roskin <proski@gnu.org>
38053 * configure.ac: Test if '--build-id=none' is supported by the
38054 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38055 objcopy to generate incorrect binary files (binutils
38056 2.17.50.0.18-1 as shipped by Fedora 8).
38057 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38058 linking, so that build ID doesn't break the test.
38060 2007-11-24 Pavel Roskin <proski@gnu.org>
38062 * include/grub/i386/time.h: use "void" in the argument list
38063 of grub_cpu_idle().
38064 * include/grub/powerpc/time.h: Likewise.
38065 * include/grub/sparc64/time.h: Likewise.
38067 2007-11-18 Christian Franke <franke@computer.org>
38069 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38070 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38071 This fixes the problem that function keys did not work in grub-emu.
38073 2007-11-18 Christian Franke <franke@computer.org>
38075 * disk/host.c (grub_host_open): Remove attribute unused from
38076 name parameter. Add check for "host". This fixes the problem
38077 that grub-emu does not find partitions.
38079 2007-11-18 Christian Franke <franke@computer.org>
38081 * util/hostfs.c (is_dir): New function.
38082 (grub_hostfs_dir): Handle missing dirent.d_type case.
38083 (grub_hostfs_read): Add missing fseek().
38084 (grub_hostfs_label): Clear label pointer. This fixes a crash
38085 of grub-emu on "ls (host)".
38087 2007-11-18 Christian Franke <franke@computer.org>
38089 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38090 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38091 to 64 bit boundary by default.
38093 2007-11-18 Bean <bean123ch@gmail.com>
38095 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38096 (hexdump_mod_SOURCES): New variable.
38097 (hexdump_mod_CFLAGS): Likewise.
38098 (hexdump_mod_LDFLAGS): Likewise.
38100 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38102 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38104 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38108 * include/grub/hexdump.h: New file.
38110 * commands/hexdump.c: New file.
38112 2007-11-10 Robert Millan <rmh@aybabtu.com>
38114 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38115 in grub_outb() calls.
38116 (beep_on): Likewise.
38118 2007-11-10 Christian Franke <franke@computer.org>
38120 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38121 (grub_menu_run): Likewise.
38123 2007-11-10 Robert Millan <rmh@aybabtu.com>
38125 * include/grub/i386/efi/machine.h: New file.
38126 * include/grub/i386/linuxbios/machine.h: Likewise.
38127 * include/grub/i386/pc/machine.h: Likewise.
38128 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38129 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38131 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38132 (serial_hw_io_addr): New variable.
38133 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38134 instead of `(unsigned short *) 0x400'.
38136 2007-11-10 Bean <bean123ch@gmail.com>
38138 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38140 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38142 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38143 (vga_mod_SOURCES): Added.
38144 (vga_mod_CFLAGS): Likewise.
38145 (vga_mod_LDFLAGS): Likewise.
38147 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38149 (set_map_mask): Likewise.
38150 (set_read_map): Likewise.
38151 (set_read_address): Likewise.
38152 (vga_font): Removed variable.
38153 (get_vga_glyph): Removed function.
38154 (invalidate_char): Likewise.
38155 (write_char): Changed to use grub_font_get_glyph() for font
38157 (grub_vga_putchar): Likewise.
38158 (grub_vga_getcharwidth): Likewise.
38160 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38162 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38164 (pxeboot_img_LDFLAGS): Likewise.
38165 (diskboot_img_LDFLAGS): Likewise.
38166 (kernel_img_LDFLAGS): Likewise.
38168 2007-11-06 Robert Millan <rmh@aybabtu.com>
38170 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38171 in grub_outb() calls.
38172 (serial_hw_init): Likewise.
38174 2007-11-05 Robert Millan <rmh@aybabtu.com>
38176 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38177 spaces. Skip non-regular files.
38179 2007-11-05 Robert Millan <rmh@aybabtu.com>
38181 * kern/disk.c (grub_disk_firmware_fini)
38182 (grub_disk_firmware_is_tainted): New variables.
38184 * include/grub/disk.h (grub_disk_firmware_fini)
38185 (grub_disk_firmware_is_tainted): Likewise.
38187 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38188 (grub_disk_biosdisk_fini): ... to here.
38189 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38190 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38191 is set. Register grub_disk_biosdisk_fini() in
38192 `grub_disk_firmware_fini'.
38194 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38195 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38196 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38197 to finish existing firmware disk interface.
38199 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38200 (ata_mod_SOURCES): New variable.
38201 (ata_mod_CFLAGS): Likewise.
38202 (ata_mod_LDFLAGS): Likewise.
38204 2007-11-05 Robert Millan <rmh@aybabtu.com>
38206 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38207 (grub_ata_wait): Reimplement using grub_millisleep().
38209 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38210 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38212 2007-11-03 Marco Gerards <marco@gnu.org>
38214 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38215 (CRTC_ADDR_PORT): New macro.
38216 (CRTC_DATA_PORT): Likewise.
38217 (CRTC_CURSOR): Likewise.
38218 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38219 (CRTC_CURSOR_ADDR_LOW): Likewise.
38220 (update_cursor): New function.
38221 (grub_console_real_putchar): Call `update_cursor'.
38222 (grub_console_gotoxy): Likewise.
38223 (grub_console_cls): Set the default color when clearing the
38225 (grub_console_setcursor): Implemented.
38227 2007-11-03 Marco Gerards <marco@gnu.org>
38229 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38231 (grub_ata_pio_write): Likewise.
38233 (grub_atapi_identify): Wait after issuing an ATA command.
38234 (grub_atapi_packet): Likewise.
38235 (grub_ata_identify): Likewise.
38236 (grub_ata_readwrite): Likewise.
38238 2007-11-03 Marco Gerards <marco@gnu.org>
38240 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38241 (grub_ata_pio_write): Likewise.
38242 (grub_ata_readwrite): Use `grub_error', instead of
38243 returning `grub_errno'.
38245 2007-11-03 Marco Gerards <marco@gnu.org>
38247 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38248 grub_ata_pio_write once for every single sector, instead of for
38251 2007-10-31 Robert Millan <rmh@aybabtu.com>
38253 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38255 * conf/i386-linuxbios.rmk: New file.
38257 * kern/i386/pc/hardware.c: Likewise.
38258 * term/i386/pc/at_keyboard.c: Likewise.
38259 * term/i386/pc/vga_text.c: Likewise.
38261 * include/grub/i386/linuxbios/boot.h: Likewise.
38262 * include/grub/i386/linuxbios/console.h: Likewise.
38263 * include/grub/i386/linuxbios/init.h: Likewise.
38264 * include/grub/i386/linuxbios/kernel.h: Likewise.
38265 * include/grub/i386/linuxbios/loader.h: Likewise.
38266 * include/grub/i386/linuxbios/memory.h: Likewise.
38267 * include/grub/i386/linuxbios/serial.h: Likewise.
38268 * include/grub/i386/linuxbios/time.h: Likewise.
38270 * kern/i386/linuxbios/init.c: Likewise.
38271 * kern/i386/linuxbios/startup.S: Likewise.
38272 * kern/i386/linuxbios/table.c: Likewise.
38274 2007-10-31 Marco Gerards <marco@gnu.org>
38276 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38277 (ata_mod_SOURCES): New variable.
38278 (ata_mod_CFLAGS): Likewise.
38279 (ata_mod_LDFLAGS): Likewise.
38281 * disk/ata.c: New file.
38283 * include/grub/disk.h (grub_disk_dev_id): Add
38284 `GRUB_DISK_DEV_ATA_ID'.
38286 2007-10-31 Robert Millan <rmh@aybabtu.com>
38288 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38289 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38291 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38292 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38294 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38297 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38299 2007-10-27 Robert Millan <rmh@aybabtu.com>
38301 * include/grub/types.h (ULONG_MAX): Define macro.
38303 2007-10-22 Robert Millan <rmh@aybabtu.com>
38305 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38307 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38309 2007-10-22 Robert Millan <rmh@aybabtu.com>
38311 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38312 (pkgdata_MODULES): Add `biosdisk.mod'.
38313 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38316 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38317 (grub_biosdisk_init): Replace with ...
38318 (GRUB_MOD_INIT(biosdisk)): ... this.
38319 (grub_biosdisk_fini): Replace with ...
38320 (GRUB_MOD_FINI(biosdisk)): ... this.
38322 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38323 (grub_machine_init): Remove call to grub_biosdisk_init().
38324 (grub_machine_fini): Remove call to grub_machine_fini().
38326 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38328 2007-10-22 Robert Millan <rmh@aybabtu.com>
38330 * include/grub/time.h: New file.
38331 * include/grub/i386/time.h: Likewise.
38332 * include/grub/powerpc/time.h: Likewise.
38333 * include/grub/sparc64/time.h: Likewise.
38335 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38337 (KERNEL_MACHINE_TIME_HEADER): ... this.
38338 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38340 (KERNEL_MACHINE_TIME_HEADER): ... this.
38341 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38343 (KERNEL_MACHINE_TIME_HEADER): ... this.
38345 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38346 (grub_millisleep): New function.
38347 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38348 (grub_millisleep): New function.
38349 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38350 Remove `grub/machine/time.h' include.
38351 (grub_millisleep): New function.
38352 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38353 Remove `grub/machine/time.h' include.
38354 (grub_millisleep): New function.
38356 * include/grub/misc.h (grub_div_roundup): New function.
38358 * kern/misc.c: Include `<grub/time.h>'.
38359 (grub_millisleep_generic): New function.
38361 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
38363 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
38365 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
38366 `machine/time.h'. Add `time.h'.
38367 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38369 2007-10-21 Robert Millan <rmh@aybabtu.com>
38371 * include/grub/misc.h (grub_max): New function.
38373 2007-10-21 Robert Millan <rmh@aybabtu.com>
38375 * util/misc.c (grub_util_info): Call fflush() before returning.
38377 2007-10-20 Robert Millan <rmh@aybabtu.com>
38379 * genmk.rb (Image): Copy `extra_flags' from here ...
38380 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
38382 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
38383 to `argc' and `args' arguments.
38385 2007-10-17 Robert Millan <rmh@aybabtu.com>
38387 * kern/i386/loader.S: New file.
38389 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
38390 * kern/i386/loader.S (grub_linux_prot_size)... to here.
38391 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
38392 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
38393 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
38394 * kern/i386/loader.S (grub_linux_real_addr)... to here.
38395 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
38396 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
38397 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
38398 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
38399 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
38400 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
38401 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
38402 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
38404 * kern/i386/realmode.S: New file.
38406 * kern/i386/pc/startup.S (protstack): Moved from here ...
38407 * kern/i386/realmode.S (protstack)... to here.
38408 * kern/i386/pc/startup.S (gdt): Moved from here ...
38409 * kern/i386/realmode.S (gdt)... to here.
38410 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
38411 * kern/i386/realmode.S (prot_to_real)... to here.
38413 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
38414 `kern/i386/realmode.S'.
38416 2007-10-17 Robert Millan <rmh@aybabtu.com>
38418 * include/grub/i386/loader.h: New file.
38420 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
38421 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38422 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38423 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38424 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
38425 * include/grub/i386/loader.h (grub_linux_prot_size)
38426 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38427 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38428 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38429 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
38431 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
38433 2007-10-15 Robert Millan <rmh@aybabtu.com>
38435 * normal/misc.c (grub_normal_print_device_info): Do not probe for
38436 filesystem when dev->disk is unset.
38437 Do probe for filesystem even when dev->disk->has_partitions is set.
38438 In case a filesystem is found, always report it.
38439 In case it isn't, if dev->disk->has_partitions is set, report that
38440 a partition table was found instead of reporting that no filesystem
38441 could be identified.
38443 2007-10-12 Robert Millan <rmh@aybabtu.com>
38445 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
38446 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
38448 * include/grub/types.h (grub_host_to_target16): New macro.
38449 (grub_host_to_target32): Likewise.
38450 (grub_host_to_target64): Likewise.
38451 (grub_target_to_host16): Likewise.
38452 (grub_target_to_host32): Likewise.
38453 (grub_target_to_host64): Likewise.
38455 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38456 Renamed from to ...
38457 (GRUB_MOD_ALIGN): ...this. Update all users.
38459 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
38460 grub_host_to_target32.
38461 Replace grub_be_to_cpu32 with grub_target_to_host32.
38462 (load_modules): Likewise.
38463 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
38464 Replace grub_be_to_cpu32 with grub_target_to_host32.
38465 Replace grub_cpu_to_be16 with grub_host_to_target16.
38466 Replace grub_cpu_to_be32 grub_host_to_target32.
38468 2007-10-12 Robert Millan <rmh@aybabtu.com>
38470 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
38471 * util/elf/grub-mkimage.c: ... here.
38473 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
38474 `util/powerpc/ieee1275/grub-mkimage.c'.
38476 2007-10-07 Robert Millan <rmh@aybabtu.com>
38478 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
38479 and make it easier to figure out.
38480 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
38481 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
38482 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
38483 leave us with less than HEAP_MIN_SIZE total heap.
38484 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
38486 2007-10-03 Robert Millan <rmh@aybabtu.com>
38488 * include/grub/i386/io.h: New file.
38489 * commands/i386/pc/play.c (inb): Removed.
38491 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38493 * term/i386/pc/serial.c (inb): Removed.
38495 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38497 * term/i386/pc/vga.c (inb): Removed.
38499 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38502 2007-10-02 Robert Millan <rmh@aybabtu.com>
38504 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
38505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38506 Reported by Marcin Kurek.
38508 2007-09-07 Robert Millan <rmh@aybabtu.com>
38510 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
38511 SmartFirmware version updates (as released by Sven Luther), and avoid
38512 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
38513 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
38516 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38518 From Hitoshi Ozeki:
38519 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
38520 when merging two regions.
38522 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38524 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
38525 * normal/completion.c (grub_normal_do_completion): Likewise.
38526 Reported by Hitoshi Ozeki.
38528 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38530 Do not use devices at boot in chainloading.
38532 * loader/i386/pc/chainloader.c (boot_drive): New variable.
38533 (boot_part_addr): Likewise.
38534 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
38535 with BOOT_DRIVE and BOOT_PART_ADDR.
38536 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
38537 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
38539 2007-08-29 Robert Millan <rmh@aybabtu.com>
38541 Patch from Simon Peter <dn.tlp@gmx.net>:
38542 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
38543 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
38544 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
38545 util/i386/pc/grub-setup.c_DEPENDENCIES.
38546 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
38547 util/grub-probe.c_DEPENDENCIES.
38548 * conf/powerpc-ieee1275.rmk: Likewise.
38550 2007-08-28 Robert Millan <rmh@aybabtu.com>
38552 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
38553 to tell grub-mkdevicemap how to name devices.
38554 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
38557 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
38558 util/i386/get_disk_name.c.
38559 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
38560 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
38561 util/ieee1275/get_disk_name.c.
38563 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
38565 * DISTLIST: Add util/i386/get_disk_name.c and
38566 util/ieee1275/get_disk_name.c.
38568 * util/grub-mkdevicemap.c: Replace device naming logic with
38569 grub_util_get_disk_name() calls.
38571 2007-08-20 Robert Millan <rmh@aybabtu.com>
38573 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
38574 (so that it works for both plural and singular quantities).
38576 2007-08-05 Robert Millan <rmh@aybabtu.com>
38578 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
38579 so that [xz] isn't taken into account when determining order.
38581 2007-08-02 Marco Gerards <marco@gnu.org>
38583 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
38584 `include/multiboot2.h', `include/grub/elfload.h',
38585 `include/multiboot.h', `include/grub/multiboot.h',
38586 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
38587 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
38588 `kern/elf.c', `loader/multiboot_loader.c',
38589 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
38590 `loader/i386/pc/multiboot2.c',
38591 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
38592 `util/i386/pc/grub-mkrescue.in'. Remove
38593 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
38594 `include/grub/i386/pc/util/biosdisk.h' and
38595 `include/grub/powerpc/ieee1275/multiboot.h'.
38597 2007-08-02 Bean <bean123ch@gmail.com>
38599 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
38600 (ntfs_mod_SOURCES): New variable.
38601 (ntfs_mod_CFLAGS): Likewise.
38602 (ntfs_mod_LDFLAGS): Likewise.
38604 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
38605 (grub_probe_SOURCES): Likewise.
38606 (grub_emu_SOURCES): Likewise.
38608 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38609 (grub_emu_SOURCES): Likewise.
38611 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38612 (grub_emu_SOURCES): Likewise.
38614 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
38616 * fs/ntfs.c: New file.
38618 2007-08-02 Bean <bean123ch@gmail.com>
38620 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
38622 * file.h (grub_file): Likewise.
38624 * fshelp.h (grub_fshelp_read_file): Likewise.
38626 * util/i386/pc/grub-setup.c (setup): Likewise.
38627 (save_first_sector): Likewise.
38628 (save_blocklists): Likewise.
38630 * fs/affs.c (grub_affs_read_file): Likewise.
38632 * fs/ext2.c (grub_ext2_read_file): Likewise.
38634 * fs/fat.c (grub_fat_read_data): Likewise.
38636 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
38638 * fs/hfs.c (grub_hfs_read_file): Likewise.
38640 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38642 * fs/jfs.c (grub_jfs_read_file): Likewise.
38644 * fs/minix.c (grub_minix_read_file): Likewise.
38646 * fs/sfs.c (grub_sfs_read_file): Likewise.
38648 * fs/ufs.c (grub_ufs_read_file): Likewise.
38650 * fs/xfs.c (grub_xfs_read_file): Likewise.
38652 * command/blocklist.c (read_blocklist): Likewise.
38653 (print_blocklist): Likewise.
38655 2007-08-02 Marco Gerards <marco@gnu.org>
38657 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
38660 * disk/host.c: New file.
38662 * util/hostfs.c: Likewise.
38664 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
38665 return `GRUB_ERR_BAD_FS'.
38666 * fs/sfs.c (grub_sfs_mount): Likewise.
38667 * fs/xfs.c (grub_xfs_mount): Likewise.
38669 * include/grub/disk.h (enum grub_disk_dev_id): Add
38670 `GRUB_DISK_DEVICE_HOST_ID'.
38672 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
38674 2007-07-24 Jerone Young <jerone@gmail.com>
38676 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
38677 modules for compilation.
38678 * conf/powerpc-ieee1275.rmk: Likewise.
38680 * include/multiboot.h: Move multiboot definitions to one file. Rename
38681 many definitions to not get grub specific.
38682 * include/multiboot2.h: Create header with multiboot 2 definitions.
38683 * include/grub/multiboot.h: Header for grub specific function
38684 prototypes and definitions.
38685 * include/grub/multiboot2.h: Likewise.
38686 * include/grub/multiboot_loader.h: Likewise.
38687 * include/grub/i386/pc/multiboot.h: Removed.
38688 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
38690 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
38691 and 2 to allow for one multiboot and module commands.
38692 * loader/multiboot2.c: Add multiboot2 functionality.
38693 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
38694 and definition names.
38695 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
38697 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
38698 ieee1275 specific multiboot2 code.
38700 * kern/i386/pc/startup.S: Change headers and definition names for
38701 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
38703 2007-07-22 Robert Millan <rmh@aybabtu.com>
38705 * geninitheader.sh: Process file specified in first parameter rather
38706 than hardcoding grub_modules_init.lst.
38707 * geninit.sh: Likewise. Also, construct header name dynamically rather
38708 than hardcoding grub_modules_init.h.
38710 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
38711 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
38712 grub_probe_init.[ch] and grub_setup_init.[ch].
38714 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
38715 grub_modules_init.h with grub_emu_init.h.
38716 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
38717 grub_probe_init.[ch] files.
38718 * conf/i386-efi.rmk: Likewise.
38719 * conf/i386-pc.rmk: Likewise.
38720 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
38721 grub_setup_init.[ch] files.
38723 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
38724 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
38725 to initialize modules rather than a list of hardcoded functions.
38726 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
38727 grub_init_all() to initialize modules rather than a list of hardcoded
38730 2007-07-22 Robert Millan <rmh@aybabtu.com>
38732 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
38733 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
38735 2007-07-22 Robert Millan <rmh@aybabtu.com>
38737 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38738 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
38739 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
38740 flag when running on SmartFirmware.
38741 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
38742 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
38745 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38746 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
38747 rather than decreasing it.
38749 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
38750 there's not enough space to do it, fail in the same way as when it
38751 can't be done because there are no partitions.
38753 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
38754 when nvsetenv failed.
38756 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38758 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
38759 because this rule is automatically generated.
38760 (grub-mkrescue): Removed for the same reason as above.
38762 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38764 Migrate to GNU General Public License Version 3.
38766 * COPYING: Replaced with the plain text version of GPLv3.
38768 * config.guess: Updated from gnulib.
38769 * config.sub: Likewise.
38771 * geninit.sh: Output a GPLv3 copyright notice.
38772 * geninitheader.sh: Likewise.
38773 * genmodsrc.sh: Likewise.
38774 * gensymlist.sh.in: Likewise.
38776 * boot/i386/pc/boot.S: Upgraded to GPLv3.
38777 * boot/i386/pc/diskboot.S: Likewise.
38778 * boot/i386/pc/pxeboot.S: Likewise.
38779 * commands/blocklist.c: Likewise.
38780 * commands/boot.c: Likewise.
38781 * commands/cat.c: Likewise.
38782 * commands/cmp.c: Likewise.
38783 * commands/configfile.c: Likewise.
38784 * commands/echo.c: Likewise.
38785 * commands/help.c: Likewise.
38786 * commands/ls.c: Likewise.
38787 * commands/search.c: Likewise.
38788 * commands/terminal.c: Likewise.
38789 * commands/test.c: Likewise.
38790 * commands/videotest.c: Likewise.
38791 * commands/i386/cpuid.c: Likewise.
38792 * commands/i386/pc/halt.c: Likewise.
38793 * commands/i386/pc/play.c: Likewise.
38794 * commands/i386/pc/reboot.c: Likewise.
38795 * commands/i386/pc/vbeinfo.c: Likewise.
38796 * commands/i386/pc/vbetest.c: Likewise.
38797 * commands/ieee1275/halt.c: Likewise.
38798 * commands/ieee1275/reboot.c: Likewise.
38799 * commands/ieee1275/suspend.c: Likewise.
38800 * disk/loopback.c: Likewise.
38801 * disk/lvm.c: Likewise.
38802 * disk/raid.c: Likewise.
38803 * disk/efi/efidisk.c: Likewise.
38804 * disk/i386/pc/biosdisk.c: Likewise.
38805 * disk/ieee1275/ofdisk.c: Likewise.
38806 * font/manager.c: Likewise.
38807 * fs/affs.c: Likewise.
38808 * fs/ext2.c: Likewise.
38809 * fs/fat.c: Likewise.
38810 * fs/fshelp.c: Likewise.
38811 * fs/hfs.c: Likewise.
38812 * fs/hfsplus.c: Likewise.
38813 * fs/iso9660.c: Likewise.
38814 * fs/jfs.c: Likewise.
38815 * fs/minix.c: Likewise.
38816 * fs/sfs.c: Likewise.
38817 * fs/ufs.c: Likewise.
38818 * fs/xfs.c: Likewise.
38819 * hello/hello.c: Likewise.
38820 * include/grub/acorn_filecore.h: Likewise.
38821 * include/grub/arg.h: Likewise.
38822 * include/grub/bitmap.h: Likewise.
38823 * include/grub/boot.h: Likewise.
38824 * include/grub/cache.h: Likewise.
38825 * include/grub/device.h: Likewise.
38826 * include/grub/disk.h: Likewise.
38827 * include/grub/dl.h: Likewise.
38828 * include/grub/elfload.h: Likewise.
38829 * include/grub/env.h: Likewise.
38830 * include/grub/err.h: Likewise.
38831 * include/grub/file.h: Likewise.
38832 * include/grub/font.h: Likewise.
38833 * include/grub/fs.h: Likewise.
38834 * include/grub/fshelp.h: Likewise.
38835 * include/grub/gzio.h: Likewise.
38836 * include/grub/hfs.h: Likewise.
38837 * include/grub/kernel.h: Likewise.
38838 * include/grub/loader.h: Likewise.
38839 * include/grub/lvm.h: Likewise.
38840 * include/grub/misc.h: Likewise.
38841 * include/grub/mm.h: Likewise.
38842 * include/grub/net.h: Likewise.
38843 * include/grub/normal.h: Likewise.
38844 * include/grub/parser.h: Likewise.
38845 * include/grub/partition.h: Likewise.
38846 * include/grub/pc_partition.h: Likewise.
38847 * include/grub/raid.h: Likewise.
38848 * include/grub/rescue.h: Likewise.
38849 * include/grub/script.h: Likewise.
38850 * include/grub/setjmp.h: Likewise.
38851 * include/grub/symbol.h: Likewise.
38852 * include/grub/term.h: Likewise.
38853 * include/grub/terminfo.h: Likewise.
38854 * include/grub/tparm.h: Likewise.
38855 * include/grub/types.h: Likewise.
38856 * include/grub/video.h: Likewise.
38857 * include/grub/efi/api.h: Likewise.
38858 * include/grub/efi/chainloader.h: Likewise.
38859 * include/grub/efi/console.h: Likewise.
38860 * include/grub/efi/console_control.h: Likewise.
38861 * include/grub/efi/disk.h: Likewise.
38862 * include/grub/efi/efi.h: Likewise.
38863 * include/grub/efi/pe32.h: Likewise.
38864 * include/grub/efi/time.h: Likewise.
38865 * include/grub/i386/linux.h: Likewise.
38866 * include/grub/i386/setjmp.h: Likewise.
38867 * include/grub/i386/types.h: Likewise.
38868 * include/grub/i386/efi/kernel.h: Likewise.
38869 * include/grub/i386/efi/loader.h: Likewise.
38870 * include/grub/i386/efi/time.h: Likewise.
38871 * include/grub/i386/pc/biosdisk.h: Likewise.
38872 * include/grub/i386/pc/boot.h: Likewise.
38873 * include/grub/i386/pc/chainloader.h: Likewise.
38874 * include/grub/i386/pc/console.h: Likewise.
38875 * include/grub/i386/pc/init.h: Likewise.
38876 * include/grub/i386/pc/kernel.h: Likewise.
38877 * include/grub/i386/pc/loader.h: Likewise.
38878 * include/grub/i386/pc/memory.h: Likewise.
38879 * include/grub/i386/pc/multiboot.h: Likewise.
38880 * include/grub/i386/pc/serial.h: Likewise.
38881 * include/grub/i386/pc/time.h: Likewise.
38882 * include/grub/i386/pc/vbe.h: Likewise.
38883 * include/grub/i386/pc/vbeblit.h: Likewise.
38884 * include/grub/i386/pc/vbefill.h: Likewise.
38885 * include/grub/i386/pc/vbeutil.h: Likewise.
38886 * include/grub/i386/pc/vga.h: Likewise.
38887 * include/grub/ieee1275/ieee1275.h: Likewise.
38888 * include/grub/ieee1275/ofdisk.h: Likewise.
38889 * include/grub/powerpc/libgcc.h: Likewise.
38890 * include/grub/powerpc/setjmp.h: Likewise.
38891 * include/grub/powerpc/types.h: Likewise.
38892 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
38893 * include/grub/powerpc/ieee1275/console.h: Likewise.
38894 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
38895 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
38896 * include/grub/powerpc/ieee1275/loader.h: Likewise.
38897 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
38898 * include/grub/powerpc/ieee1275/time.h: Likewise.
38899 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
38900 * include/grub/sparc64/libgcc.h: Likewise.
38901 * include/grub/sparc64/setjmp.h: Likewise.
38902 * include/grub/sparc64/types.h: Likewise.
38903 * include/grub/sparc64/ieee1275/console.h: Likewise.
38904 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38905 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38906 * include/grub/sparc64/ieee1275/time.h: Likewise.
38907 * include/grub/util/biosdisk.h: Likewise.
38908 * include/grub/util/getroot.h: Likewise.
38909 * include/grub/util/lvm.h: Likewise.
38910 * include/grub/util/misc.h: Likewise.
38911 * include/grub/util/raid.h: Likewise.
38912 * include/grub/util/resolve.h: Likewise.
38913 * io/gzio.c: Likewise.
38914 * kern/device.c: Likewise.
38915 * kern/disk.c: Likewise.
38916 * kern/dl.c: Likewise.
38917 * kern/elf.c: Likewise.
38918 * kern/env.c: Likewise.
38919 * kern/err.c: Likewise.
38920 * kern/file.c: Likewise.
38921 * kern/fs.c: Likewise.
38922 * kern/loader.c: Likewise.
38923 * kern/main.c: Likewise.
38924 * kern/misc.c: Likewise.
38925 * kern/mm.c: Likewise.
38926 * kern/parser.c: Likewise.
38927 * kern/partition.c: Likewise.
38928 * kern/rescue.c: Likewise.
38929 * kern/term.c: Likewise.
38930 * kern/efi/efi.c: Likewise.
38931 * kern/efi/init.c: Likewise.
38932 * kern/efi/mm.c: Likewise.
38933 * kern/i386/dl.c: Likewise.
38934 * kern/i386/efi/init.c: Likewise.
38935 * kern/i386/efi/startup.S: Likewise.
38936 * kern/i386/pc/init.c: Likewise.
38937 * kern/i386/pc/lzo1x.S: Likewise.
38938 * kern/i386/pc/startup.S: Likewise.
38939 * kern/ieee1275/ieee1275.c: Likewise.
38940 * kern/powerpc/cache.S: Likewise.
38941 * kern/powerpc/dl.c: Likewise.
38942 * kern/powerpc/ieee1275/cmain.c: Likewise.
38943 * kern/powerpc/ieee1275/crt0.S: Likewise.
38944 * kern/powerpc/ieee1275/init.c: Likewise.
38945 * kern/powerpc/ieee1275/openfw.c: Likewise.
38946 * kern/sparc64/cache.S: Likewise.
38947 * kern/sparc64/dl.c: Likewise.
38948 * kern/sparc64/ieee1275/init.c: Likewise.
38949 * kern/sparc64/ieee1275/openfw.c: Likewise.
38950 * loader/efi/chainloader.c: Likewise.
38951 * loader/efi/chainloader_normal.c: Likewise.
38952 * loader/i386/efi/linux.c: Likewise.
38953 * loader/i386/efi/linux_normal.c: Likewise.
38954 * loader/i386/pc/chainloader.c: Likewise.
38955 * loader/i386/pc/chainloader_normal.c: Likewise.
38956 * loader/i386/pc/linux.c: Likewise.
38957 * loader/i386/pc/linux_normal.c: Likewise.
38958 * loader/i386/pc/multiboot.c: Likewise.
38959 * loader/i386/pc/multiboot_normal.c: Likewise.
38960 * loader/powerpc/ieee1275/linux.c: Likewise.
38961 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38962 * normal/arg.c: Likewise.
38963 * normal/cmdline.c: Likewise.
38964 * normal/command.c: Likewise.
38965 * normal/completion.c: Likewise.
38966 * normal/execute.c: Likewise.
38967 * normal/function.c: Likewise.
38968 * normal/lexer.c: Likewise.
38969 * normal/main.c: Likewise.
38970 * normal/menu.c: Likewise.
38971 * normal/menu_entry.c: Likewise.
38972 * normal/misc.c: Likewise.
38973 * normal/parser.y: Likewise.
38974 * normal/script.c: Likewise.
38975 * normal/i386/setjmp.S: Likewise.
38976 * normal/powerpc/setjmp.S: Likewise.
38977 * normal/sparc64/setjmp.S: Likewise.
38978 * partmap/acorn.c: Likewise.
38979 * partmap/amiga.c: Likewise.
38980 * partmap/apple.c: Likewise.
38981 * partmap/gpt.c: Likewise.
38982 * partmap/pc.c: Likewise.
38983 * partmap/sun.c: Likewise.
38984 * term/gfxterm.c: Likewise.
38985 * term/terminfo.c: Likewise.
38986 * term/efi/console.c: Likewise.
38987 * term/i386/pc/console.c: Likewise.
38988 * term/i386/pc/serial.c: Likewise.
38989 * term/i386/pc/vesafb.c: Likewise.
38990 * term/i386/pc/vga.c: Likewise.
38991 * term/ieee1275/ofconsole.c: Likewise.
38992 * util/biosdisk.c: Likewise.
38993 * util/console.c: Likewise.
38994 * util/genmoddep.c: Likewise.
38995 * util/getroot.c: Likewise.
38996 * util/grub-emu.c: Likewise.
38997 * util/grub-mkdevicemap.c: Likewise.
38998 * util/grub-probe.c: Likewise.
38999 * util/lvm.c: Likewise.
39000 * util/misc.c: Likewise.
39001 * util/raid.c: Likewise.
39002 * util/resolve.c: Likewise.
39003 * util/update-grub.in: Likewise.
39004 * util/update-grub_lib.in: Likewise.
39005 * util/grub.d/00_header.in: Likewise.
39006 * util/grub.d/10_hurd.in: Likewise.
39007 * util/grub.d/10_linux.in: Likewise.
39008 * util/i386/efi/grub-install.in: Likewise.
39009 * util/i386/efi/grub-mkimage.c: Likewise.
39010 * util/i386/pc/grub-install.in: Likewise.
39011 * util/i386/pc/grub-mkimage.c: Likewise.
39012 * util/i386/pc/grub-mkrescue.in: Likewise.
39013 * util/i386/pc/grub-setup.c: Likewise.
39014 * util/i386/pc/misc.c: Likewise.
39015 * util/powerpc/ieee1275/grub-install.in: Likewise.
39016 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39017 * util/powerpc/ieee1275/misc.c: Likewise.
39018 * video/bitmap.c: Likewise.
39019 * video/video.c: Likewise.
39020 * video/i386/pc/vbe.c: Likewise.
39021 * video/i386/pc/vbeblit.c: Likewise.
39022 * video/i386/pc/vbefill.c: Likewise.
39023 * video/i386/pc/vbeutil.c: Likewise.
39024 * video/readers/tga.c: Likewise.
39026 2007-07-02 Robert Millan <rmh@aybabtu.com>
39028 * conf/i386-efi.rmk: Replace obsolete reference to
39029 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39030 with util/getroot.c.
39031 * conf/powerpc-ieee1275.rmk: Likewise.
39032 * conf/sparc64-ieee1275.rmk: Likewise.
39034 * util/grub-emu.c (main): Fix unchecked pointer handling.
39036 2007-07-02 Robert Millan <rmh@aybabtu.com>
39038 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39039 invocation to fail, in order to support partition-less media.
39041 * util/i386/pc/grub-install.in: Likewise.
39043 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39044 which fs or partmap modules are needed (akin to its sister scripts).
39046 Also use grub-probe to get rid of unportable /proc/mounts check.
39048 Print the same informational message that the other scripts do, before
39051 2007-06-23 Robert Millan <rmh@aybabtu.com>
39053 * util/update-grub_lib.in (font_path): New function. Determine whether
39054 a font file can be found and, if so, echo the GRUB path to it.
39056 * util/update-grub.in: Handle multiple terminals depending on user
39057 input, platform availability and font file presence. Propagate
39058 variables of our findings to /etc/grub.d/ children.
39060 * util/grub.d/00_header.in: Handle multiple terminals, based on
39061 environment setup by update-grub.
39063 2007-06-23 Robert Millan <rmh@aybabtu.com>
39065 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
39067 2007-06-21 Robert Millan <rmh@aybabtu.com>
39069 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39070 indicate end of data section in kernel image.
39071 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39072 GRUB_KERNEL_MACHINE_DATA_END.
39074 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39076 * kern/i386/efi/startup.S: Likewise.
39078 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39079 during image generation. Implement --prefix option to override this
39081 * util/i386/efi/grub-mkimage.c: Likewise.
39083 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39084 code to make path relative to its root into a separate function.
39086 * util/i386/pc/grub-install.in: Use newly provided
39087 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39088 pass the result to grub-install --prefix.
39090 2007-06-13 Robert Millan <rmh@aybabtu.com>
39092 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39093 DEFAULT_DEVICE_MAP.
39094 * util/grub-emu.c: Use above definitions from misc.h instead of
39096 * util/grub-mkdevicemap.c: Likewise.
39097 * util/i386/pc/grub-setup.c: Likewise.
39098 * util/grub-probe.c: Likewise.
39099 (probe): Abort with grub_util_error() when either
39100 grub_guess_root_device or grub_util_get_grub_dev fails.
39102 2007-06-12 Robert Millan <rmh@aybabtu.com>
39104 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39105 "pager" assignment.
39106 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39108 * util/grub-probe.c (probe): Likewise for "drive_name".
39110 2007-06-11 Robert Millan <rmh@aybabtu.com>
39112 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39113 not just the cdrom one.
39115 2007-06-11 Robert Millan <rmh@aybabtu.com>
39117 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39118 Add --pkglibdir=DIR option to override pkglibdir.
39119 Mention --image-type=TYPE in help output.
39120 Fix --grub-mkimage (it was a no-op).
39121 Abort gracefully when no parameter is given.
39123 2007-06-11 Robert Millan <rmh@aybabtu.com>
39125 * util/i386/pc/grub-mkrescue.in: New file.
39126 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39127 * Makefile.in: Handle bin_SCRIPTS.
39129 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39131 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39132 list of video modes.
39134 2007-06-06 Robert Millan <rmh@aybabtu.com>
39136 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39137 file doesn't exist, or if it is in a filesystem grub can't read.
39139 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39140 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39141 header comment to fit in 80 columns when the variables are resolved.
39143 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39144 could be identified by update-grub. Remove redundant check for
39145 unifont.pff existence (since convert_system_path_to_grub_path now
39148 2007-06-04 Robert Millan <rmh@aybabtu.com>
39150 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39152 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39154 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39156 2007-06-04 Robert Millan <rmh@aybabtu.com>
39158 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39160 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39161 grub_apple_partition_map_fini.
39164 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39165 to access >2 TiB disks).
39167 Print disk->total_sectors with %llu instead of %lu, since this
39168 variable is always 64-bit (prevents wrong disk size from being displayed
39169 on either >2 TiB disk or big-endian CPU).
39171 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39172 into a generic case that supports all (sane) partition maps.
39174 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39177 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39178 and grub_apple_partition_map_fini() after that.
39180 2007-06-01 Robert Millan <rmh@aybabtu.com>
39182 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39184 * util/grub.d/00_header.in: Only enable gfxterm when
39185 convert_system_path_to_grub_path() succeeds.
39187 2007-05-20 Robert Millan <rmh@aybabtu.com>
39189 * util/update-grub_lib.in: New file.
39190 * DISTLIST: Add update-grub_lib.in.
39191 * conf/common.rmk: Generate update-grub_lib and install it in
39193 * Makefile.in: Add install routine for $(lib_DATA).
39195 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39196 function provided by update-grub_lib to support arbitrary paths of
39198 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39199 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39201 2007-05-19 Robert Millan <rmh@aybabtu.com>
39203 * commands/i386/cpuid.c: New module.
39204 * DISTLIST: Add it.
39205 * conf/i386-efi.rmk: Enable cpuid.mod.
39206 * conf/i386-pc.rmk: Likewise.
39208 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39210 * kern/disk.c (grub_disk_read): Check return value of
39213 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39215 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39217 * disk/raid.c (grub_raid_open): Likewise.
39219 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39221 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39222 stack instead of on the heap.
39224 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39225 before doing a read on it.
39227 * configure.ac: Only use -fno-stack-protector for the target
39230 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39232 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39233 __attribute_ ((unused)) to mode_type argument.
39235 * util/getroot.c (grub_guess_root_device): Fix #endif.
39237 * kern/misc.c (memcmp): Fix prototype.
39239 * include/grub/partition.h [GRUB_UTIL]
39240 (grub_gpt_partition_map_init): Add prototype.
39241 (grub_gpt_partition_map_fini): Likewise.
39243 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39244 at the right place.
39246 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39247 (grub_fat_read_data): Likewise.
39248 (grub_fat_find_dir): Likewise.
39250 * font/manager.c (find_glyph): Make table a const.
39251 (grub_font_get_glyph): Remove bitmap from if statement.
39253 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39255 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39256 code, first search for device in /dev/mapper, then in /dev.
39257 (grub_util_get_grub_dev): New function.
39258 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39260 * util/grub-probe.c (probe): Remove check for RAID, call
39261 grub_util_get_grub_dev() instead of
39262 grub_util_biosdisk_get_grub_dev().
39263 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39264 grub_util_biosdisk_get_grub_dev().
39265 * util/i386/pc/grub-setup.c (main): Likewise.
39267 2007-05-16 Robert Millan <rmh@aybabtu.com>
39269 * DISTLIST: Update for the latest changes.
39270 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39271 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39272 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39273 grub/util/biosdisk.h.
39274 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39275 grub/util/biosdisk.h.
39277 2007-05-16 Robert Millan <rmh@aybabtu.com>
39279 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39281 2007-05-16 Robert Millan <rmh@aybabtu.com>
39283 * util/i386/efi/grub-install.in: New.
39284 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39285 newly added grub-install.
39286 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39288 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39289 grub/util/biosdisk.h.
39290 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39291 grub/util/biosdisk.h.
39293 2007-05-16 Robert Millan <rmh@aybabtu.com>
39295 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39296 * include/grub/util/biosdisk.h: ... here.
39297 * util/i386/pc/biosdisk.c: Moved to ...
39298 * util/biosdisk.c: ... here.
39299 * util/i386/pc/getroot.c: Moved to ...
39300 * util/getroot.c: ... here.
39301 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39302 * util/grub-mkdevicemap.c: ... here.
39303 * util/i386/pc/grub-probe.c: Moved to ...
39304 * util/grub-probe.c: ... here.
39306 2007-05-15 Robert Millan <rmh@aybabtu.com>
39308 * util/update-grub.in: Remove duplicated line in grub.cfg header
39311 2007-05-13 Robert Millan <rmh@aybabtu.com>
39313 * util/update-grub.in: Fix a few assumptions about the devices holding
39314 /, /boot and /boot/grub being the same.
39315 * util/grub.d/00_header.in: Likewise.
39316 * util/grub.d/10_hurd.in: Likewise.
39317 * util/grub.d/10_linux.in: Likewise.
39319 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39320 patterns. Use that to define the `.old' suffix as older than `'.
39322 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39324 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39325 the grub.cfg header message.
39327 2007-05-11 Robert Millan <rmh@aybabtu.com>
39329 * util/update-grub.in: Create device.map if it doesn't already exist,
39330 before attempting to run grub-probe.
39331 Check for grub-probe and grub-mkdevicemap with the same code
39332 grub-install is using.
39335 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39337 * Makefile.in: Add the datarootdir autoconf variable.
39339 2007-05-09 Robert Millan <rmh@aybabtu.com>
39341 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
39342 fail gracefully if dev->disk->partition == NULL.
39344 2007-05-07 Robert Millan <rmh@aybabtu.com>
39346 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39347 determine partition map module.
39348 * util/i386/pc/grub-install.in: Use this feature to decide which
39349 partition module to load, instead of hardcoding pc and gpt.
39351 2007-05-07 Robert Millan <rmh@aybabtu.com>
39353 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39354 source directory differs from build directory.
39356 2007-05-05 Robert Millan <rmh@aybabtu.com>
39358 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
39361 2007-05-05 Robert Millan <rmh@aybabtu.com>
39363 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
39365 2007-05-05 Robert Millan <rmh@aybabtu.com>
39367 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
39368 command-line arguments via ${GRUB_CMDLINE_LINUX}.
39370 2007-05-05 Robert Millan <rmh@aybabtu.com>
39372 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
39373 (grub_probe_SOURCES): Likewise.
39374 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
39375 GPT and initialize dos_part and bsd_part accordingly.
39376 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
39378 (main): Activate gpt module for use during partition identification,
39379 and deactivate it afterwards.
39380 * util/i386/pc/grub-install.in: Add gpt module to core.img.
39381 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
39382 partition identification, and deactivate it afterwards.
39384 2007-05-05 Robert Millan <rmh@aybabtu.com>
39386 * term/i386/pc/console.c (grub_console_fini): Call
39387 grub_term_set_current() before grub_term_unregister().
39389 2007-05-04 Robert Millan <rmh@aybabtu.com>
39391 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
39392 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
39393 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
39394 and update-grub_DATA.
39395 * conf/common.rmk: Build and install update-grub components.
39396 * conf/common.mk: Regenerate.
39397 * util/update-grub.in: New. Core of update-grub.
39398 * util/grub.d/00_header.in: New. Generates grub.cfg header.
39399 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
39400 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
39401 * util/grub.d/README: New. Document grub.d directory layout.
39403 2007-05-01 Robert Millan <rmh@aybabtu.com>
39405 * util/grub-emu.c: Move initialization functions
39406 grub_util_biosdisk_init() and grub_init_all() before
39407 grub_util_biosdisk_get_grub_dev(), which relies on them.
39409 2007-04-19 Robert Millan <rmh@aybabtu.com>
39411 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
39414 2007-04-18 Jerone Young <jerone@gmail.com>
39416 * kernel/elf.c: Add missing parenthesis for conditional statement
39419 2007-04-10 Jerone Young <jerone@gmail.com>
39421 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
39422 continue on and look for device node with real device name.
39424 2007-04-10 Jerone Young <jerone@gmail.com>
39426 * configure.ac: Add argument for autoconf to use transformation
39428 * Makefile.in: Add autoconf package transformation code.
39429 * util/i386/pc/grub-install.in: Likewise.
39430 * util/powerpc/ieee1275/grub-install.in: Likewise.
39432 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39434 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
39435 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
39436 (EXT2_REVISION): Likewise.
39437 (EXT2_INODE_SIZE): Likewise.
39438 (struct grub_ext2_block_group): Added a missing member
39440 (grub_ext2_read_inode): Divide by the inode size in a superblock
39441 instead of 128 to obtain INODES_PER_BLOCK.
39442 Use the macro EXT2_INODE_SIZE instead of directly using
39443 SBLOCK->INODE_SIZE.
39445 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39447 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
39448 superblock instead of the structure size to compute an
39449 offset. This fixes the problem that GRUB could not read a
39450 filesystem when inode size is different from 128-byte.
39452 2007-03-05 Marco Gerards <marco@gnu.org>
39454 * normal/main.c (read_config_file): When "menu" is not set, create
39455 an initial context.
39457 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39459 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
39460 (HEAP_LIMIT): New macro.
39461 (grub_claim_heap): Claim memory up to `heaplimit'.
39463 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39465 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
39466 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
39467 (_start): Likewise.
39468 (grub_arch_modules_addr): Return address after `_end'.
39469 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
39470 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
39471 (add_segments): Calculate `_end' from phdr size and location.
39472 (ALIGN_UP): Moved to ...
39473 * include/grub/misc.h: here.
39474 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39476 (GRUB_IEEE1275_MODULE_BASE): Removed.
39478 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39480 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
39483 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39485 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
39487 (grub_elf64_load_hook_t): Likewise.
39488 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
39491 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39493 * kern/mm.c: Update copyright.
39494 (grub_mm_debug): Correct syntax error.
39495 (grub_mm_dump_free): New function.
39496 (grub_debug_free): Call `grub_free'.
39497 * include/grub/mm.h: Update copyright.
39498 (grub_mm_dump_free): Add declaration.
39500 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39502 * include/grub/ieee1275/ieee1275.h: Update copyright.
39503 * kern/powerpc/ieee1275/init.c: Likewise.
39504 * kern/powerpc/ieee1275/openfw.c: Likewise.
39506 * loader/powerpc/ieee1275/linux.c: Likewise.
39507 * include/grub/elfload.h: Likewise.
39508 * kern/elf.c: Likewise.
39509 (grub_elf32_load): Pass `base' and `size' parameters. Update all
39511 (grub_elf64_load): Likewise.
39512 (grub_elf32_load_segment): Move to a nested function.
39513 (grub_elf64_load_segment): Likewise.
39515 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39517 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
39519 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
39520 (grub_heap_len): Likewise.
39521 (HEAP_SIZE): New macro.
39522 (grub_claim_heap): New function.
39523 (grub_machine_init): Don't claim heap directly. Call
39525 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
39526 (grub_available_iterate): New function.
39528 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
39530 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
39531 * configure.ac: Use it for testing the HOST and TARGET compilers.
39533 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
39535 * Makefile.in (enable_grub_emu): New variable.
39536 * configure.ac (--enable-grub-emu): New option.
39537 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
39538 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
39539 * conf/i386-pc.rmk: Likewise.
39540 * conf/powerpc-ieee1275.rmk: Likewise.
39541 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
39543 2006-12-12 Marco Gerards <marco@gnu.org>
39545 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
39547 * kern/env.c (grub_env_unset): Don't free the member `value' when
39548 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
39551 * normal/main.c (current_menu): Removed.
39552 (free_menu): Unset the `menu' environment variable.
39553 (grub_normal_menu_addentry): Make use of the environment variable
39554 `menu', instead of using the global `current_menu'. Allocate
39555 memory for the sourcecode of this entry.
39556 (read_config_file): New argument `nested', changed all callers.
39557 Only in the case of a new context, initialize a new menu. Set the
39558 `menu' environment variable.
39559 (grub_normal_execute): Don't set and unset the environment
39560 variable `menu' here anymore. Only free the menu when leaving the
39563 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
39566 2006-12-11 Marco Gerards <marco@gnu.org>
39568 * normal/menu_entry.c (run): Fix off by one bug so the last line
39569 is executed. Move the loader check to outside the loop.
39571 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
39573 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
39575 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
39577 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
39578 the number of sectors. Reported by Andrey Shuvikov
39579 <mr_hyro@yahoo.com>.
39581 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
39583 * kern/disk.c (grub_disk_read): When there is a read error, always
39584 try to read only the necessary data.
39586 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
39588 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
39590 [GRUB_UTIL] (grub_raid_fini): Likewise.
39591 [GRUB_UTIL] (grub_lvm_init): Likewise.
39592 [GRUB_UTIL] (grub_lvm_fini): Likewise.
39593 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
39594 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
39595 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
39596 and grub_raid_fini().
39598 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39600 * include/grub/types.h (__unused): Rename to UNUSED.
39601 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
39602 (grub_elf64_size): Likewise.
39604 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39606 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
39607 grub_error_push and grub_error_pop in the error-handling path.
39608 (grub_elf32_load_segment): Only call grub_file_read with non-zero
39611 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39613 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
39614 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39615 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39616 (kernel_elf_SOURCES): Likewise.
39617 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
39618 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
39619 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39620 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39621 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
39622 (elf_mod_SOURCES): New variable.
39623 (elf_mod_CFLAGS): Likewise.
39624 (elf_mod_LDFLAGS): Likewise.
39625 * include/grub/types.h (__unused): New macro.
39626 * include/grub/elfload.h: New file.
39627 * kern/elf.c: Likewise.
39628 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
39629 (ELF32_LOADMASK): New macro.
39630 (ELF64_LOADMASK): Likewise.
39631 (vmlinux): Removed.
39632 (grub_linux_load32): New function.
39633 (grub_linux_load64): Likewise.
39634 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
39635 Use grub_elf_t instead of grub_file_t.
39637 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
39639 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
39640 `catch_result' to struct set_color_args.
39642 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39644 * normal/menu.c: Include grub/script.h.
39645 * normal/menu_entry.c: Likewise.
39646 * include/grub/normal.h: Do not include grub/script.h.
39648 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39650 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
39652 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39654 * kern/disk.c (grub_disk_open): Print debug messages when opening a
39656 (grub_disk_close): Print debug messages when closing a disk.
39657 (grub_disk_read): Print debug messages when disk read fails.
39658 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
39660 * kern/partition.c: Include misc.h.
39661 (grub_partition_iterate): Print debug messages when detecting
39664 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39666 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
39668 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
39670 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
39672 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39673 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
39675 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
39677 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
39678 instead of sizeof(lv). Patch by Michael Guntsche.
39680 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
39682 * disk/lvm.c: Rename VGS to VG_LIST.
39683 (grub_lvm_iterate): Change VGS->LV to VG-LV.
39684 (grub_lvm_open): Likewise.
39685 Thanks to Michael Guntsche for finding this bug.
39687 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39689 * configure.ac (AC_INIT): Bumped to 1.95.
39691 2006-10-14 Robert Millan <rmh@aybabtu.com>
39693 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
39694 with "/dev/.static/dev/md".
39696 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39698 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
39699 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
39700 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
39701 DRIVE_NAME are always freed.
39703 * util/i386/pc/biosdisk.c (make_device_name): Add one into
39704 DOS_PART, as a DOS partition is counted from one instead of zero
39705 now. Reported by Robert Millan.
39707 2006-10-14 Robert Millan <rmh@aybabtu.com>
39709 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
39710 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
39711 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
39712 string returned by grub_guess_root_device.
39713 * util/i386/pc/grub-setup.c: Likewise.
39714 * util/i386/pc/grub-probefs.c: Likewise.
39716 * util/i386/pc/grub-probefs.c: Rename to ...
39717 * util/i386/pc/grub-probe.c: ... this.
39718 * DISTLIST: Remove grub-probefs, add grub-probe.
39719 * conf/i386-efi.rmk: Likewise.
39720 * conf/i386-pc.rmk: Likewise.
39721 * util/i386/pc/grub-install.in: Likewise.
39723 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
39724 choose which information we want to print.
39726 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39728 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
39729 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
39730 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
39731 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
39732 video/readers/tga.c and video/i386/pc/vbeutil.c.
39734 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
39736 Added support for RAID and LVM.
39738 * disk/lvm.c: New file.
39739 * disk/raid.c: Likewise.
39740 * include/grub/lvm.h: Likewise.
39741 * include/grub/raid.h: Likewise.
39742 * include/grub/util/lvm.h: Likewise.
39743 * include/grub/util/raid.h: Likewise.
39744 * util/lvm.c: Likewise.
39745 * util/raid.c: Likewise.
39747 * include/grub/disk.h (grub_disk_dev_id): Add
39748 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
39749 (grub_disk_get_size): New prototype.
39750 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
39751 returns a partition.
39752 (grub_disk_get_size): New function.
39754 * kern/i386/pc/init.c (make_install_device): Copy the prefix
39755 verbatim if grub_install_dos_part is -2.
39757 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
39760 * util/i386/pc/grub-setup.c (setup): New argument
39761 MUST_EMBED. Force embedding of GRUB when the argument is
39762 true. Close FILE before returning.
39763 (main): Add support for RAID and LVM.
39765 * conf/common.rmk: Add RAID and LVM modules.
39766 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
39768 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
39770 * kern/misc.c (grub_strstr): New function.
39771 * include/grub/misc.h (grub_strstr): New prototype.
39773 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
39775 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
39777 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
39779 * kern/misc.c (grub_strtoull): Guess the base only if not
39782 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
39784 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
39787 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
39789 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
39791 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
39792 Remove `flags' argument. All callers changed.
39793 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
39794 (IEEE1275_IHANDLE_INVALID): New variable.
39795 (IEEE1275_CELL_INVALID): New variable.
39796 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39797 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
39798 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
39799 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
39800 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
39801 codes from Open Firmware. All callers updated.
39802 (grub_ieee1275_next_property): Directly return Open Firmware return
39804 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39805 Standardize error checking from `grub_ieee1275_get_property'.
39806 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
39807 `devalias' to `aliases'. Correct comments. Consolidate error paths.
39809 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
39811 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
39812 `instance_to_package_args' to `instance_to_path_args'.
39814 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
39815 `grub_ieee1275_chosen'.
39817 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
39818 `grub_ieee1275_interpret'.
39820 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
39822 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
39824 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
39826 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
39827 (__cmpdi): Likewise.
39829 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
39830 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
39833 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
39835 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
39836 to type `grub_ssize_t'.
39837 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
39839 2006-09-22 Marco Gerards <marco@gnu.org>
39841 * normal/script.c (grub_script_create_cmdmenu): Skip leading
39844 2006-09-22 Marco Gerards <marco@gnu.org>
39846 * commands/echo.c: New file.
39848 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
39850 * conf/common.rmk (echo_mod_SOURCES): New variable.
39851 (echo_mod_CFLAGS): Likewise.
39852 (echo_mod_LDFLAGS): Likewise.
39854 2006-09-22 Marco Gerards <marco@gnu.org>
39856 * normal/main.c (get_line): Malloc memory instead of using
39857 preallocated memory. Removed the arguments `cmdline' and
39858 `max_len'. Updated all callers.
39860 2006-09-22 Marco Gerards <marco@gnu.org>
39862 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
39863 (normal_mod_DEPENDENCIES): Likewise.
39865 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
39866 (normal_mod_DEPENDENCIES): Likewise.
39868 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
39870 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
39872 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
39874 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
39875 (normal_mod_DEPENDENCIES): Likewise.
39876 * conf/i386-pc.mk: Regenerate.
39877 * conf/i386-efi.mk: Likewise
39878 * conf/common.mk: Likewise.
39879 * conf/powerpc-ieee1275.mk: Likewise.
39880 * conf/sparc64-ieee1275.mk: Likewise.
39882 2006-09-22 Robert Millan <rmh@aybabtu.com>
39884 Sync with i386 version.
39885 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
39886 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
39888 2006-09-21 Robert Millan <rmh@aybabtu.com>
39890 Import from GRUB Legacy (lib/device.c):
39891 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
39892 (init_device_map) [__linux__]: Add support for I2O devices.
39894 2006-09-14 Marco Gerards <marco@gnu.org>
39896 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
39899 2006-09-14 Robert Millan <rmh@aybabtu.com>
39901 * util/i386/pc/grub-install.in: Skip menu.lst when removing
39904 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
39906 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
39907 before adding it to device.map.
39909 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
39911 * genmk.rb: Let GCC generate dependencies the first time it
39912 compiles a file; using the -MD option.
39913 * conf/common.mk: Regenerate.
39914 * conf/i386-pc.mk: Likewise.
39915 * conf/i386-efi.mk: Likewise.
39916 * conf/powerpc-ieee1275.mk: Likewise.
39917 * conf/sparc64-ieee1275.mk: Likewise.
39919 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
39921 Move the prototypes of grub_setjmp and grub_longjmp to
39922 cpu/setjmp.h, so that each architecture may specify different
39925 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
39926 (grub_longjmp): Likewise.
39927 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
39928 (grub_longjmp): Likewise.
39929 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
39930 (grub_longjmp): Likewise.
39932 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
39933 [!GRUB_UTIL] (grub_longjmp): Removed.
39935 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
39937 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
39938 "color!" method does not return any value.
39940 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39942 * include/grub/bitmap.h: New file.
39944 * include/grub/i386/pc/vbeutil.h: Likewise.
39946 * video/bitmap.c: Likewise.
39948 * video/readers/tga.c: Likewise.
39950 * video/i386/pc/vbeutil.c: Likewise.
39952 * commands/videotest.c: Code cleanup and updated to reflect to new
39955 * term/gfxterm.c: Likewise.
39957 * video/video.c: Likewise.
39959 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
39960 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
39961 (bitmap_mod_SOURCES): New entry.
39962 (bitmap_mod_CFLAGS): Likewise.
39963 (bitmap_mod_LDFLAGS): Likewise.
39964 (tga_mod_SOURCES): Likewise.
39965 (tga_mod_CFLAGS): Likewise.
39966 (tga_mod_LDFLAGS): Likewise.
39968 * include/grub/video.h (grub_video_blit_operators): New enum type.
39969 (grub_video_render_target): Changed as forward declaration and moved
39970 actual definition to be video driver specific.
39971 (grub_video_adapter.blit_bitmap): Added blitting operator.
39972 (grub_video_adapter.blit_render_target): Likewise.
39973 (grub_video_blit_bitmap): Likewise.
39974 (grub_video_blit_render_target): Likewise.
39976 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
39977 driver specific render target definition.
39978 (grub_video_vbe_map_rgba): Added driver internal helper.
39979 (grub_video_vbe_unmap_color): Updated to use
39980 grub_video_i386_vbeblit_info.
39981 (grub_video_vbe_get_video_ptr): Likewise.
39983 * include/grub/i386/pc/vbeblit.h
39984 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
39985 grub_video_i386_vbeblit_info.
39986 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39987 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39988 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39989 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39990 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39991 (grub_video_i386_vbeblit_index_index): Likewise.
39992 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
39993 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39994 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39995 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
39997 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40000 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40001 include/grub/i386/pc/vbeblit.h.
40003 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40004 Updated to use grub_video_i386_vbeblit_info.
40005 (grub_video_i386_vbefill_R8G8B8): Likewise.
40006 (grub_video_i386_vbefill_index): Likewise.
40007 (grub_video_i386_vbefill): Added generic filler.
40009 * video/i386/pc/vbefill.c: Updated to reflect changes on
40010 include/grub/i386/pc/vbefill.h.
40012 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40013 grub_video_i386_vbeblit_info.
40014 (grub_video_vbe_unmap_color): Likewise.
40015 (grub_video_vbe_blit_glyph): Likewise.
40016 (grub_video_vbe_scroll): Likewise.
40017 (grub_video_vbe_draw_pixel): Removed function.
40018 (grub_video_vbe_get_pixel): Likewise.
40019 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40020 updated code to use it.
40021 (common_blitter): Added common blitter for render target and bitmap.
40022 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40023 (grub_video_vbe_blit_render_target): Likewise.
40025 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
40027 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40028 is in text mode if there is no console control protocol instance
40031 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40033 * include/grub/video.h: Code cleanup.
40035 * include/grub/i386/pc/vbe.h: Likewise.
40037 * video/i386/pc/vbe.c: Likewise.
40039 * video/i386/pc/vbeblit.c: Likewise.
40041 * video/i386/pc/vbefill.c: Likewise.
40043 * video/video.c: Likewise. Also added more comments.
40045 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40047 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40048 (struct grub_biosdisk_dap): Likewise.
40050 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40051 linkage settings for all functions.
40053 2006-07-12 Marco Gerards <marco@gnu.org>
40055 * configure.ac (--enable-mm-debug): Fix typo.
40057 * genkernsyms.sh.in: Use proper quoting for `CC'.
40059 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40061 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40062 (normal_mod_ASFLAGS): Remove "-m32".
40064 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40066 * util/misc.c: Include config.h.
40067 [!HAVE_MEMALIGN]: Do not include malloc.h.
40068 (grub_memalign): Use posix_memalign, if present. Then, use
40069 memalign, if present. Otherwise, emit an error.
40071 * util/grub-emu.c: Do not include malloc.h.
40073 * include/grub/util/misc.h: Include unistd.h. This is required for
40074 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40075 D. Eades III <hde@foobar-qux.org>.
40077 * configure.ac (AC_GNU_SOURCE): Added.
40078 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40081 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40083 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40084 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40086 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40088 * include/grub/types.h (grub_host_addr_t): Rename to
40089 grub_target_addr_t.
40090 (grub_host_off_t): Rename to grub_target_off_t.
40091 (grub_host_size_t): Rename to grub_target_size_t.
40092 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40093 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40095 * include/grub/kernel.h (struct grub_module_header): Change type
40096 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40097 (grub_module_info): Likewise.
40099 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40101 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40102 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40103 Velazquez <jesus.velazquez@gmail.com>.
40105 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40107 Count partitions from 1 instead of 0 in the string representation
40108 of partitions. Still use 0-based internally.
40110 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40111 (sun_partition_map_iterate): Use grub_partition_t instead of
40112 struct grub_partition *. Cast DESC->START_CYLINDER to
40113 grub_uint64_t after converting the endian.
40114 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40115 (sun_partition_map_get_name): Add 1 to P->INDEX.
40117 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40119 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40121 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40122 zero instead of one.
40123 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40124 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40126 * partmap/apple.c (apple_partition_map_iterate): Change the type
40127 of POS to unsigned.
40128 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40129 (apple_partition_map_get_name): Add 1 into P->INDEX.
40131 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40132 of POS to unsigned.
40133 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40134 calculate the offset of a partition.
40135 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40136 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40138 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40139 SECTOR to grub_disk_addr_t.
40140 (acorn_partition_map_iterate): Likewise.
40141 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40142 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40144 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40146 * kern/i386/pc/init.c (make_install_device): Add 1 into
40147 GRUB_INSTALL_DOS_PART.
40149 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40152 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40154 Clean up the code to support 64-bit addressing in disks and
40155 files. This change is not enough for filesystems yet.
40157 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40158 type of "start" to grub_uint64_t.
40159 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40160 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40161 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40164 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40165 to grub_disk_addr_t.
40167 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40170 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40172 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40175 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40177 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40179 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40181 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40182 to grub_off_t, to detect an error from grub_file_seek.
40183 (grub_multiboot_load_elf32): Likewise.
40185 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40186 maximum unsigned long value when an overflow is detected.
40187 (grub_strtoull): New function.
40188 (grub_divmod64): Likewise.
40189 (grub_lltoa): use grub_divmod64.
40191 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40193 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40194 the pointer to next character. Use grub_strtoull instead of
40196 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40197 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40200 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
40201 return value is signed.
40202 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40203 test if OFFSET is less than zero, as OFFSET is unsigned now.
40205 * kern/disk.c (struct grub_disk_cache): Change the type of
40206 "sector" to grub_disk_addr_t.
40207 (grub_disk_cache_get_index): Change the type of SECTOR to
40208 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40209 unsigned after shifting.
40210 (grub_disk_cache_invalidate): Change the type of SECTOR to
40212 (grub_disk_cache_unlock): Likewise.
40213 (grub_disk_cache_store): Likewise.
40214 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40215 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40216 grub_disk_addr_t and grub_uint64_t, respectively.
40217 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40218 body, as the value of OFFSET is tweaked by
40219 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40220 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40222 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40223 body, as the value of OFFSET is tweaked by
40224 grub_disk_check_range. Change the types of LEN and N to
40227 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40228 and "saved_offset" to grub_off_t.
40229 (test_header): Cast BUF to char *.
40230 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40232 (grub_gzio_read): Change the types of OFFSET and SIZE to
40233 grub_off_t and grub_size_t, respectively.
40235 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40237 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40238 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40239 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40240 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40241 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40243 * include/grub/types.h (grub_off_t): Unconditionally set to
40245 (grub_disk_addr_t): Changed to grub_uint64_t.
40247 * include/grub/partition.h (struct grub_partition): Change the
40248 types of "start", "len" and "offset" to grub_disk_addr_t,
40249 grub_uint64_t and grub_disk_addr_t, respectively.
40250 (grub_partition_get_start): Return grub_disk_addr_t.
40251 (grub_partition_get_len): Return grub_uint64_t.
40253 * include/grub/misc.h (grub_strtoull): New prototype.
40254 (grub_divmod64): Likewise.
40256 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40257 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40258 grub_off_t, respectively.
40259 All callers and references changed.
40261 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40262 grub_size_t in "read".
40263 All callers and references changed.
40265 * include/grub/file.h (struct grub_file): Change the types of
40266 "offset" and "size" to grub_off_t and grub_off_t,
40267 respectively. Change the type of SECTOR to grub_disk_addr_t in
40269 (grub_file_read): Change the type of LEN to grub_size_t.
40270 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40272 (grub_file_size): Return grub_off_t.
40273 (grub_file_tell): Likewise.
40274 All callers and references changed.
40276 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40277 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40279 (struct grub_disk): Change the type of "total_sectors" to
40280 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
40282 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40283 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40284 (grub_disk_write): Likewise.
40285 All callers and references changed.
40287 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40288 char * for grub_strncmp to silence gcc.
40289 (grub_iso9660_mount): Likewise.
40290 (grub_iso9660_mount): Likewise.
40291 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40293 (grub_iso9660_iterate_dir): Likewise.
40294 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40296 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40297 LEN to grub_disk_addr_t and grub_size_t, respectively.
40299 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40301 * fs/jfs.c (grub_jfs_read_file): Likewise.
40303 * fs/minix.c (grub_jfs_read_file): Likewise.
40305 * fs/sfs.c (grub_jfs_read_file): Likewise.
40307 * fs/ufs.c (grub_jfs_read_file): Likewise.
40309 * fs/xfs.c (grub_jfs_read_file): Likewise.
40311 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40312 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40315 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40316 BLKNR to -1 instead of returning GRUB_ERRNO.
40317 (grub_ext2_read_file): Change the types of SECTOR and
40318 LEN to grub_disk_addr_t and grub_size_t, respectively.
40320 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40321 LEN to grub_disk_addr_t and grub_size_t, respectively.
40323 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40326 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40327 string. Do not cast SECTOR explicitly.
40329 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40330 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40331 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40332 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40333 over 2TB and LBA mode is not supported, raise an error.
40334 (get_safe_sectors): New function.
40335 (grub_biosdisk_read): Use get_safe_sectors.
40336 (grub_biosdisk_write): Likewise.
40338 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40339 (grub_efidisk_write): Likewise.
40341 * disk/loopback.c (delete_loopback): Cosmetic changes.
40342 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40344 (grub_loopback_open): Likewise.
40345 (grub_loopback_read): Likewise. Also, change the type of POS to
40346 grub_off_t, and fix the usage of grub_memset.
40348 * commands/i386/pc/play.c: Include grub/machine/time.h.
40350 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40353 * commands/configfile.c: Include grub/env.h.
40355 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40356 GRUB_ERRNO directly instead. Change the type of POS to
40357 grub_off_t. Follow the coding standard.
40359 * commands/blocklist.c: Include grub/partition.h.
40360 (grub_cmd_blocklist): Return an error if the underlying device is
40361 not a disk. Take the starting sector of a partition into account,
40362 if a partition is used.
40364 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
40366 (lba_mode): Support 64-bit addresses.
40367 (chs_mode): Likewise.
40368 (copy_buffer): Adapted to the new offsets of a length field and a
40370 (blocklist_default_start): Allocate 64-bit space.
40372 * boot/i386/pc/boot.S (force_lba): Removed.
40373 (boot_drive): Moved to under KERNEL_SECTOR.
40374 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
40376 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
40378 (lba_mode): Refactored to support a 64-bit address. More size
40380 (setup_sectors): Likewise.
40382 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40384 * DISTLIST: Added include/grub/i386/linux.h. Removed
40385 include/grub/i386/pc/linux.h
40387 * configure.ac (AC_INIT): Bumped to 1.94.
40389 * config.guess: Updated from gnulib.
40390 * config.sub: Likewise.
40391 * install-sh: Likewise.
40392 * mkinstalldirs: Likewise.
40394 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40396 * conf/common.rmk (grub_modules_init.lst): Depended on
40397 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
40400 * genmk.rb (PModule::rule): Reverted the previous change.
40402 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40404 * conf/common.rmk (grub_modules_init.lst): Depends on
40405 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
40406 that the target does not exist before producing.
40407 (grub_modules_init.h): Remove the target before generating.
40408 (grub_emu_init.c): Likewise.
40410 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
40412 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
40414 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
40415 for the target-specific tests. Make sure that we also have the
40416 up-to-date target variables for those tests.
40418 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40420 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
40421 (PModule::rule): Likewise.
40423 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40425 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
40426 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
40427 target-specific flags should be prefixed.
40428 (PModule::rule): Likewise.
40430 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
40432 * configure.ac (CMP): Check if cmp is available explicitly.
40434 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
40436 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
40437 (target_cpu): New variable.
40438 (pkglibdir): Use target_cpu instead of host_cpu.
40440 * util/i386/pc/grub-install.in (host_cpu): Removed.
40441 (target_cpu): New variable.
40442 (pkglibdir): Use target_cpu instead of host_cpu.
40444 * util/genmoddep.c: Removed.
40446 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
40447 instead of GRUB_HOST_SIZEOF_VOID_P.
40448 * kern/dl.c: Likewise.
40450 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
40452 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40453 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40454 (GRUB_TARGET_SIZEOF_LONG): ... this.
40455 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40456 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40457 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40459 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40460 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40461 (GRUB_TARGET_SIZEOF_LONG): ... this.
40462 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40463 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40464 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40466 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40467 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40468 (GRUB_TARGET_SIZEOF_LONG): ... this.
40469 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40470 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40472 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
40473 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
40474 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
40475 instead of GRUB_HOST_SIZEOF_LONG.
40476 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
40477 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
40478 GRUB_CPU_WORDS_BIGENDIAN.
40479 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
40480 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
40483 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
40484 (genmoddep_SOURCES): Likewise.
40485 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
40486 (genmoddep_SOURCES): Likewise.
40487 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
40488 (genmoddep_SOURCES): Likewise.
40489 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
40491 (genmoddep_SOURCES): Likewise.
40493 * genmoddep.awk: New file.
40495 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
40496 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
40497 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
40498 (PModule::rule): Likewise.
40499 (Program::rule): Likewise.
40500 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
40501 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
40504 * configure.ac: Rewritten intensively to use host and target
40505 instead of build and host, respectively.
40507 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
40508 (host_cpu): Removed.
40509 (target_cpu): New variable.
40510 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
40511 (BUILD_CC): Removed.
40512 (BUILD_CFLAGS): Likewise.
40513 (BUILD_CPPFLAGS): Likewise.
40514 (TARGET_CC): New variable.
40515 (TARGET_CFLAGS): Likewise.
40516 (TARGET_CPPFLAGS): Likewise.
40517 (TARGET_LDFLAGS): Likewise.
40519 (include): Use target_cpu instead of host_cpu.
40520 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
40522 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
40524 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
40526 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
40527 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
40528 field 'false' to 'exec_on_false'.
40529 (grub_script_create_cmdif): Renamed argument names to reflect above
40532 * normal/execute.c (grub_script_execute_cmdif): Likewise.
40534 * normal/script.c (grub_script_create_cmdif): Likewise.
40536 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
40538 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
40540 (grub_hfsplus_btree_recptr): Likewise.
40541 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
40542 FILEBLOCK both to pass a block number and store next block
40544 (grub_hfsplus_read_block): Rewritten heavily to support an extent
40545 overflow file correctly. Specify errors appropriately, because
40546 fshelp expects that GRUB_ERRNO is set when fails. Reuse
40547 grub_hfsplus_btree_recptr to get the pointer to a found key.
40548 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
40551 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
40553 (_linux_mod_SOURCES): New variable.
40554 (_linux_mod_CFLAGS): Likewise.
40555 (_linux_mod_LDFLAGS): Likewise.
40556 (linux_mod_SOURCES): Likewise.
40557 (linux_mod_CFLAGS): Likewise.
40558 (linux_mod_LDFLAGS): Likewise.
40560 * DISTLIST: Added loader/i386/efi/linux.c,
40561 loader/i386/efi/linux_normal.c and
40562 include/grub/i386/efi/loader.h.
40564 * loader/i386/efi/linux.c: New file.
40565 * loader/i386/efi/linux_normal.c: Likewise.
40566 * include/grub/i386/efi/loader.h: Likewise.
40568 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
40570 * commands/blocklist.c: New file.
40572 * DISTLIST: Added commands/blocklist.c.
40574 * term/efi/console.c (grub_console_highlight_color): Use a lighter
40575 color for the background, and a darker color for the foreground.
40576 (grub_console_checkkey): Return READ_KEY.
40577 (grub_console_cls): Set the background to
40578 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
40580 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
40582 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
40583 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
40585 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
40588 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
40589 BG. The spec is wrong again.
40591 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
40593 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
40595 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40596 commands/blocklist.c.
40597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40599 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
40600 (blocklist_mod_SOURCES): New variable.
40601 (blocklist_mod_CFLAGS): Likewise.
40602 (blocklist_mod_LDFLAGS): Likewise.
40604 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
40606 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
40608 (lba_mode): Use %eax more intensively to reduce the code size.
40610 2006-05-20 Marco Gerards <marco@gnu.org>
40612 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
40614 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
40616 (script): Accept leading newlines.
40617 (newlines): New rule to describe 0 or more newlines.
40618 (commands): Accept `command' with trailing newline. Fixed the
40619 order in which arguments were passed to `grub_script_add_cmd'.
40620 Accept commands separated by newlines.
40621 (function): Changed to accept newlines.
40622 (menuentry) Rewritten.
40624 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
40625 front of the list, instead of to the end.
40627 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
40629 * util/i386/pc/grub-install.in (bindir): New variable.
40630 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
40631 Shaver <lbgwjl@gmail.com>.
40633 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
40635 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
40636 grub/machine/linux.h
40637 * loader/i386/pc/linux.c: Likewise.
40639 * include/grub/i386/pc/linux.h: Moved to ...
40640 * include/grub/i386/linux.h: ... here.
40642 * include/grub/i386/linux.h (struct linux_kernel_params): New
40645 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
40647 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
40649 (grub_video_vbe_blit_glyph): Likewise.
40650 (grub_video_vbe_blit_bitmap): Likewise.
40651 (grub_video_vbe_blit_render_target): Likewise.
40653 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
40655 * configure.ac (--with-platform): Properly quote the square
40658 2006-05-08 Marco Gerards <marco@gnu.org>
40660 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
40662 (kernel_elf_HEADERS): ...to this. Updated all users.
40663 (grubof_symlist.c): Renamed from this...
40664 (kernel_elf_symlist.c): ...to this. Updated all users.
40665 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40666 (grubof_SOURCES): Renamed from this...
40667 (kernel_elf_SOURCES): ...to this.
40668 (grubof_HEADERS): Renamed from this...
40669 (kernel_elf_HEADERS): ...to this.
40670 (grubof_CFLAGS): Renamed from this...
40671 (kernel_elf_CFLAGS): ...to this.
40672 (grubof_ASFLAGS): Renamed from this...
40673 (kernel_elf_ASFLAGS): ...to this.
40674 (grubof_LDFLAGS): Renamed from this...
40675 (kernel_elf_LDFLAGS): ...to this.
40677 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
40679 (kernel_elf_HEADERS): ...to this. Updated all users.
40680 (grubof_symlist.c): Renamed from this...
40681 (kernel_elf_symlist.c): ...to this. Updated all users.
40682 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40683 (grubof_SOURCES): Renamed from this...
40684 (kernel_elf_SOURCES): ...to this.
40685 (grubof_HEADERS): Renamed from this...
40686 (kernel_elf_HEADERS): ...to this.
40687 (grubof_CFLAGS): Renamed from this...
40688 (kernel_elf_CFLAGS): ...to this.
40689 (grubof_ASFLAGS): Renamed from this...
40690 (kernel_elf_ASFLAGS): ...to this.
40691 (grubof_LDFLAGS): Renamed from this...
40692 (kernel_elf_LDFLAGS): ...to this.
40694 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
40695 `kernel.elf' instead of `grubof'.
40697 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
40699 Add --with-platform to configure. Use pkglibdir instead of
40700 pkgdatadir. This is reported by Roger Leigh.
40702 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
40703 (host_vendor): Likewise.
40704 (host_os): Likewise.
40705 (pkgdatadir): Likewise.
40706 (platform): New variable.
40707 (pkglibdir): Likewise.
40708 Use PKGLIBDIR instead of PKGDATADIR.
40710 * util/i386/pc/grub-install.in (datadir): Removed.
40711 (host_vendor): Likewise.
40712 (host_os): Likewise.
40713 (pkgdatadir): Likewise.
40714 (platform): New variable.
40715 (pkglibdir): Likewise.
40716 Use PKGLIBDIR instead of PKGDATADIR.
40718 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
40719 instead of GRUB_DATADIR.
40721 * util/i386/pc/grub-mkimage.c (usage): Likewise.
40723 * util/i386/efi/grub-mkimage.c (usage): Likewise.
40726 * configure.ac (--with-platform): New option.
40727 Use PLATFORM instead of HOST_VENDOR to specify a platform.
40729 * Makefile.in: Include a makefile based on PLATFORM instead of
40731 (pkgdatadir): Not appended by the machine type.
40732 (pkglibdir): Appended by the machine type.
40733 (host_vendor): Removed.
40734 (platform): New variable.
40735 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
40736 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
40737 (uninstall): Likewise.
40739 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
40741 Use the environment context in the menu. Remove the commands
40742 "default" and "timeout", and use variables instead.
40744 * normal/menu.c: Include grub/env.h.
40745 (print_entry): Cast TITLE to silence gcc.
40746 (get_timeout): New function.
40747 (set_timeout): Likewise.
40748 (get_entry_number): Likewise.
40749 (run_menu): Use a default entry, a fallback entry and a timeout
40750 in the environment variables "default", "fallback" and
40751 "timeout". Also, tweak the default entry if it is not within the
40752 current menu entries.
40753 (grub_menu_run): Use a fallback entry in the environment variable
40756 * normal/main.c (read_config_file): Do not initialize
40757 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
40759 (grub_normal_execute): Use a data slot to store the menu.
40761 * include/grub/normal.h (struct grub_menu): Removed default_entry,
40762 fallback_entry and timeout.
40763 (struct grub_menu_list): Removed.
40764 (grub_menu_list_t): Likewise.
40765 (struct grub_context): Likewise.
40766 (grub_context_t): Likewise.
40767 (grub_context_get): Likewise.
40768 (grub_context_get_current_menu): Likewise.
40769 (grub_context_push_menu): Likewise.
40770 (grub_context_pop_menu): Likewise.
40771 (grub_default_init): Likewise.
40772 (grub_default_fini): Likewise.
40773 (grub_timeout_init): Likewise.
40774 (grub_timeout_fini): Likewise.
40776 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
40778 (normal_mod_SOURCES): Removed normal/context.c.
40780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
40781 commands/default.c, commands/timeout.c and normal/context.c.
40782 (normal_mod_SOURCES): Removed normal/context.c.
40784 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
40785 commands/timeout.c and normal/context.c.
40786 (normal_mod_SOURCES): Removed normal/context.c.
40788 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
40789 commands/default.c, commands/timeout.c and normal/context.c.
40790 (normal_mod_SOURCES): Removed normal/context.c.
40792 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
40794 (default_mod_SOURCES): Removed.
40795 (default_mod_CFLAGS): Likewise.
40796 (default_mod_LDFLAGS): Likewise.
40797 (timeout_mod_SOURCES): Removed.
40798 (timeout_mod_CFLAGS): Likewise.
40799 (timeout_mod_LDFLAGS): Likewise.
40801 * DISTLIST: Removed commands/default.c, commands/timeout.c and
40804 * commands/default.c: Removed.
40805 * commands/timeout.c: Likewise.
40806 * normal/context.c: Likewise.
40808 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
40810 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
40812 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
40814 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
40815 "next" to "prev" for readability.
40816 (struct grub_env_sorted_var): New struct.
40817 (grub_env_context): Renamed to ...
40818 (initial_context): ... this.
40819 (grub_env_var_context): Renamed to ...
40820 (current_context): ... this.
40821 (grub_env_find): Look only at CURRENT_CONTEXT.
40822 (grub_env_context_open): Rewritten to copy exported variables from
40824 (grub_env_context_close): Rewritten according to the new
40825 scheme. Also, add an assertion to prevent the initial context from
40827 (grub_env_insert): Removed the code for the sorted list.
40828 (grub_env_remove): Likewise.
40829 (grub_env_export): Simply mark the variable with
40830 GRUB_ENV_VAR_GLOBAL.
40831 (grub_env_set): A cosmetic change for naming consistency.
40832 (grub_env_get): Likewise.
40833 (grub_env_unset): Likewise.
40834 (grub_env_iterate): Rewritten to sort variables within this
40836 (grub_register_variable_hook): Fixed for naming consistency. Call
40837 grub_env_find again, only if NAME is not found at the first time.
40838 (mangle_data_slot_name): New function.
40839 (grub_env_set_data_slot): Likewise.
40840 (grub_env_get_data_slot): Likewise.
40841 (grub_env_unset_data_slot): Likewise.
40843 * include/grub/env.h (grub_env_var_type): New enum.
40844 (GRUB_ENV_VAR_LOCAL): New constant.
40845 (GRUB_ENV_VAR_GLOBAL): Likewise.
40846 (GRUB_ENV_VAR_DATA): Likewise.
40847 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
40849 (grub_env_set): Replace VAR with NAME for consistency.
40850 (grub_register_variable_hook): Likewise.
40851 (grub_env_export): Specify the name of the argument.
40852 (grub_env_set_data_slot): New prototype.
40853 (grub_env_get_data_slot): Likewise.
40854 (grub_env_unset_data_slot): Likewise.
40856 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40858 Extend the loader so that GRUB can accept a loader which comes
40859 back to GRUB when a loaded image exits. Also, this change adds
40860 support for a chainloader on EFI.
40862 * term/efi/console.c: Include grub/misc.h.
40863 (grub_console_checkkey): Display a scan code on the top for
40864 debugging. This will be removed once the EFI port gets stable.
40865 Correct the scan code mapping.
40867 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
40868 allocate memory from larger regions, in order to reduce the number
40869 of allocated regions. Otherwise, the MacOSX loader panics.
40870 (filter_memory_map): Avoid less than 1MB for compatibility with
40872 (add_memory_regions): Allocate from the tail of a region, if
40873 possible, to avoid allocating a region near to 1MB, for the MacOSX
40876 * kern/efi/init.c (grub_efi_set_prefix): Specify
40877 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
40879 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
40880 argument IMAGE_HANDLE and specify it to get a loaded image.
40881 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
40882 grub_efi_get_loaded_image.
40883 (grub_efi_get_filename): Divide the length by the size of
40885 (grub_efi_get_device_path): New function.
40886 (grub_efi_print_device_path): Print End Device Path nodes. Divide
40887 the length by the size of grub_efi_char16_t for a file path device
40890 * kern/loader.c (grub_loader_noreturn): New variable.
40891 (grub_loader_set): Accept a new argument NORETURN. Set
40892 GRUB_LOADER_NORETURN to NORETURN.
40893 All callers changed.
40894 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
40897 * include/grub/efi/efi.h (grub_efi_get_device_path): New
40899 (grub_efi_get_loaded_image): Take an argument to specify an image
40902 * include/grub/loader.h (grub_loader_set): Added one more argument
40905 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
40906 instead of grub_efi_open_protocol.
40907 (grub_efidisk_get_device_name): Likewise.
40908 (grub_efidisk_close): Print a newline.
40909 (grub_efidisk_get_device_handle): Fixed to use
40910 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
40911 GRUB_EFI_DEVICE_PATH_TYPE.
40913 * disk/efi/efidisk.c (device_path_guid): Moved to ...
40914 * kern/efi/efi.c (device_path_guid): ... here.
40916 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
40918 (kernel_mod_HEADERS): Added efi/disk.h.
40919 (_chain_mod_SOURCES): New variable.
40920 (_chain_mod_CFLAGS): Likewise.
40921 (_chain_mod_LDFLAGS): Likewise.
40922 (chain_mod_SOURCES): Likewise.
40923 (chain_mod_CFLAGS): Likewise.
40924 (chain_mod_LDFLAGS): Likewise.
40926 * DISTLIST: Added include/grub/efi/chainloader.h,
40927 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
40929 * include/grub/efi/chainloader.h: New file.
40930 * loader/efi/chainloader.c: Likewise.
40931 * loader/efi/chainloader_normal.c: Likewise.
40933 2006-04-30 Marco Gerards <marco@gnu.org>
40935 * commands/configfile.c (grub_cmd_source): New function.
40936 (GRUB_MOD_INIT): Register the commands `source' and `.'.
40937 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
40939 2006-04-30 Marco Gerards <marco@gnu.org>
40941 * normal/execute.c (grub_script_execute_cmd): Change the return
40942 type to `grub_err_t'. Correctly return the error.
40943 (grub_script_execute_cmdline): In case a command line is not a
40944 command or a function, try to interpret it as an assignment.
40946 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40948 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
40949 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
40950 skip a node whose name is obviously invalid as UTF-16,
40951 i.e. contains a NUL character. Stop the iteration when the last
40952 directory entry is found. Instead of using the return value of
40953 grub_hfsplus_btree_iterate_node, store the value in RET and use
40954 it, because the iterator can be stopped by the last directory
40957 2006-04-30 Marco Gerards <marco@gnu.org>
40959 * include/grub/env.h (grub_env_export): New prototype. Reported
40960 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
40962 2006-04-30 Marco Gerards <marco@gnu.org>
40964 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
40965 size of the extents in a catalog file record.
40967 2006-04-29 Marco Gerards <marco@gnu.org>
40969 * commands/configfile.c (grub_cmd_configfile): Execute the
40970 configfile within its own context.
40972 * include/grub/env.h (grub_env_context_open): New prototype.
40973 (grub_env_context_close): Likewise.
40975 * kern/env.c (grub_env): Removed.
40976 (grub_env_sorted): Likewise.
40977 (grub_env_context): New variable.
40978 (grub_env_var_context): Likewise.
40979 (grub_env_find): Search both the active context and the global
40981 (grub_env_context_open): New function.
40982 (grub_env_context_close): Likewise.
40983 (grub_env_insert): Likewise.
40984 (grub_env_remove): Likewise.
40985 (grub_env_export): Likewise.
40986 (grub_env_set): Changed to use helper functions to avoid code
40988 (grub_env_iterate): Rewritten so both the current context and the
40989 global context are being used.
40991 * normal/command.c (export_command): New function.
40992 (grub_command_init): Register the `export' function.
40994 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
40996 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
40997 explicitly to suppress gcc's warnings.
40998 * fs/fat.c (grub_fat_find_dir): Likewise.
40999 (grub_fat_label): Likewise.
41000 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41001 (grub_xfs_mount): Likewise.
41002 (grub_xfs_label): Likewise.
41003 * fs/affs.c (grub_affs_mount): Likewise.
41004 (grub_affs_label): Likewise.
41005 (grub_affs_iterate_dir): Likewise.
41006 * fs/sfs.c (grub_sfs_mount): Likewise.
41007 (grub_sfs_iterate_dir): Likewise.
41008 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41009 * fs/hfs.c (grub_hfs_mount): Likewise.
41010 (grub_hfs_cmp_catkeys): Likewise.
41011 (grub_hfs_find_dir): Likewise.
41012 (grub_hfs_dir): Likewise.
41013 (grub_hfs_label): Likewise.
41014 * fs/jfs.c (grub_jfs_mount): Likewise.
41015 (grub_jfs_opendir): Likewise.
41016 (grub_jfs_getent): Likewise.
41017 (grub_jfs_lookup_symlink): Likewise.
41018 (grub_jfs_label): Likewise.
41019 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41020 (grub_hfsplus_iterate_dir): Likewise.
41021 (grub_hfsplus_btree_iterate_node): Made static.
41023 * util/grub-emu.c (prefix): New variable.
41024 (grub_machine_set_prefix): New function.
41025 (main): Do not set the environment variable "prefix" here. Only
41026 set PREFIX, which is used later by grub_machine_set_prefix.
41028 * include/grub/video.h: Do not include grub/symbol.h.
41029 (grub_video_register): Not exported. This symbol is not defined in
41031 (grub_video_unregister): Likewise.
41032 (grub_video_iterate): Likewise.
41033 (grub_video_setup): Likewise.
41034 (grub_video_restore): Likewise.
41035 (grub_video_get_info): Likewise.
41036 (grub_video_get_blit_format): Likewise.
41037 (grub_video_set_palette): Likewise.
41038 (grub_video_get_palette): Likewise.
41039 (grub_video_set_viewport): Likewise.
41040 (grub_video_get_viewport): Likewise.
41041 (grub_video_map_color): Likewise.
41042 (grub_video_map_rgb): Likewise.
41043 (grub_video_map_rgba): Likewise.
41044 (grub_video_fill_rect): Likewise.
41045 (grub_video_blit_glyph): Likewise.
41046 (grub_video_blit_bitmap): Likewise.
41047 (grub_video_blit_render_target): Likewise.
41048 (grub_video_scroll): Likewise.
41049 (grub_video_swap_buffers): Likewise.
41050 (grub_video_create_render_target): Likewise.
41051 (grub_video_delete_render_target): Likewise.
41052 (grub_video_set_active_render_target): Likewise.
41054 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41056 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41058 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41059 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41060 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41061 instead of $(srcdir)/genkernsyms.sh.
41063 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41064 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41065 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41066 instead of $(srcdir)/genkernsyms.sh.
41068 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41069 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41070 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41071 instead of $(srcdir)/genkernsyms.sh.
41073 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41074 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41075 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41076 instead of $(srcdir)/genkernsyms.sh.
41078 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41081 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41083 (gensymlist.sh): New target.
41084 (genkernsyms.sh): Likewise.
41086 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41087 genkernsyms.sh.in and gensymlist.sh.in.
41089 * genkernsyms.sh: Removed.
41090 * gensymlist.sh: Likewise.
41092 * genkernsyms.sh.in: New file.
41093 * gensymlist.sh.in: Likewise.
41095 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41097 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41098 clobber "prefix", since we may have already set it manually.
41100 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41102 * kern/misc.c (abort): New alias for grub_abort.
41104 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41106 A new machine-specific function "grub_machine_set_prefix" is
41107 defined. This is called after loading modules, so that a prefix
41108 initialization can use modules. Also, this change adds an
41109 intensive debugging feature for the memory manager via the
41110 configure option "--enable-mm-debug".
41112 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41115 * kern/sparc64/ieee1275/init.c (abort): Removed.
41116 (grub_stop): Likewise.
41117 (grub_exit): New function.
41118 (grub_set_prefix): Renamed to ...
41119 (grub_machine_set_prefix): ... this.
41120 (grub_machine_init): Do not call grub_set_prefix.
41122 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41123 (grub_machine_set_prefix): ... this.
41124 (grub_machine_init): Do not call grub_set_prefix.
41126 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41127 (grub_machine_init): Do not set the prefix here.
41129 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41131 * kern/efi/init.c: Include grub/mm.h.
41132 (grub_efi_set_prefix): New function.
41134 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41135 (grub_efi_get_filename): New function.
41136 (grub_print_device_path): Renamed to ...
41137 (grub_efi_print_device_path): ... this.
41139 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41140 [MM_DEBUG] (grub_realloc): Likewise.
41141 [MM_DEBUG] (grub_free): Likewise.
41142 [MM_DEBUG] (grub_memalign): Likewise.
41143 [MM_DEBUG] (grub_mm_debug): New variable.
41144 [MM_DEBUG] (grub_debug_malloc): New function.
41145 [MM_DEBUG] (grub_debug_free): New function.
41146 [MM_DEBUG] (grub_debug_realloc): New function.
41147 [MM_DEBUG] (grub_debug_memalign): New function.
41149 * kern/misc.c (grub_abort): Print a newline to distinguish
41152 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41153 grub_set_root_dev after loading modules. This is necessary when
41154 setting a prefix depends on modules.
41156 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41157 (grub_efi_print_device_path): ... this.
41158 (grub_efi_get_filename): New prototype.
41159 (grub_efi_set_prefix): Likewise.
41161 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41163 (grub_efidisk_get_device_handle): New prototype.
41164 (grub_efidisk_get_device_name): Likewise.
41166 * include/grub/mm.h: Include config.h.
41167 (MM_DEBUG): Removed.
41168 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41169 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41170 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41171 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41172 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41173 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41174 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41175 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41176 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41178 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41180 * disk/efi/efidisk.c: Include grub/partition.h.
41181 (iterate_child_devices): New function.
41182 (add_device): First, compare only last device path nodes, so that
41183 devices are sorted by the types.
41184 (grub_efidisk_get_device_handle): New function.
41185 (grub_efidisk_get_device_name): Likewise.
41187 * configure.ac (--enable-mm-debug): New option to enable the
41188 memory manager debugging feature. This makes the binary much
41189 bigger, so is disabled by default.
41191 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41193 Use grub_abort instead of grub_stop, and grub_exit must be
41194 define in each architecture now. Also, this change adds support
41197 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41198 (grub_getkey): New function.
41199 (grub_term_get_current): Likewise.
41201 * util/i386/pc/grub-setup.c: Include grub/term.h.
41202 (grub_getkey): New function.
41203 (grub_term_get_current): Likewise.
41205 * util/misc.c (grub_stop): Renamed to ...
41206 (grub_exit): ... this.
41208 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41209 (grub_exit): ... this.
41210 (grub_machine_init): Use grub_abort instead of abort.
41211 (grub_stop): Removed.
41213 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41216 * kern/i386/pc/startup.S (grub_exit): New function.
41217 (cold_reboot): New label.
41219 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41220 (grub_efi_init): Call grub_efidisk_init.
41221 (grub_efi_fini): Call grub_efidisk_fini.
41223 * kern/efi/efi.c: Include grub/mm.h.
41224 (grub_efi_console_control_guid): Renamed to ...
41225 (console_control_guid): ... this.
41226 (grub_efi_loaded_image_guid): Renamed to ...
41227 (loaded_image_guid): ... this.
41228 (grub_efi_locate_handle): New function.
41229 (grub_efi_open_protocol): Likewise.
41230 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41231 GRUB_EFI_CONSOLE_CONTROL_GUID.
41232 (grub_efi_exit): Removed.
41233 (grub_stop): Likewise.
41234 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41235 (grub_exit): New function.
41236 (grub_print_device_path): Likewise.
41238 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41239 (grub_enter_rescue_mode): Register "exit".
41241 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41242 (grub_abort): New function.
41244 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41246 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41248 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41250 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41251 (grub_print_device_path): New prototype.
41252 (grub_efi_locate_handle): Likewise.
41253 (grub_efi_open_protocol): Likewise.
41255 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41256 * disk/efi/efidisk.c: Likewise.
41258 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41260 * include/grub/efi/console_control.h
41261 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41263 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41264 last 8 bytes as an array.
41265 (GRUB_EFI_DISK_IO_GUID): New macro.
41266 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41267 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41268 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41270 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41271 (struct grub_efi_device_path): Rename the member "sub_type" to
41273 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41274 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41275 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41276 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41277 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41278 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41279 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41280 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41281 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41282 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41283 (struct grub_efi_pci_device_path): New structure.
41284 (grub_efi_pci_device_path_t): New type.
41285 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41286 (struct grub_efi_pccard_device_path): New structure.
41287 (grub_efi_pccard_device_path_t): New type.
41288 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41289 (struct grub_efi_memory_mapped_device_path): New structure.
41290 (grub_efi_memory_mapped_device_path_t): New type.
41291 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41292 (struct grub_efi_vendor_device_path): New structure.
41293 (grub_efi_vendor_device_path_t): New type.
41294 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41295 (struct grub_efi_controller_device_path): New structure.
41296 (grub_efi_controller_device_path_t): New type.
41297 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41298 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41299 (struct grub_efi_acpi_device_path): New structure.
41300 (grub_efi_acpi_device_path_t): New type.
41301 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41302 (struct grub_efi_expanded_acpi_device_path): New structure.
41303 (grub_efi_expanded_acpi_device_path_t): New type.
41304 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41305 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41306 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41307 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41308 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41309 (struct grub_efi_atapi_device_path): New structure.
41310 (grub_efi_atapi_device_path_t): New type.
41311 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41312 (struct grub_efi_fibre_channel_device_path): New structure.
41313 (grub_efi_fibre_channel_device_path_t): New type.
41314 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41315 (struct grub_efi_1394_device_path): New structure.
41316 (grub_efi_1394_device_path_t): New type.
41317 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41318 (struct grub_efi_usb_device_path): New structure.
41319 (grub_efi_usb_device_path_t): New type.
41320 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41321 (struct grub_efi_usb_class_device_path): New structure.
41322 (grub_efi_usb_class_device_path_t): New type.
41323 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41324 (struct grub_efi_i2o_device_path): New structure.
41325 (grub_efi_i2o_device_path_t): New type.
41326 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41327 (struct grub_efi_mac_address_device_path): New structure.
41328 (grub_efi_mac_address_device_path_t): New type.
41329 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41330 (struct grub_efi_ipv4_device_path): New structure.
41331 (grub_efi_ipv4_device_path_t): New type.
41332 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41333 (struct grub_efi_ipv6_device_path): New structure.
41334 (grub_efi_ipv6_device_path_t): New type.
41335 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41336 (struct grub_efi_infiniband_device_path): New structure.
41337 (grub_efi_infiniband_device_path_t): New type.
41338 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41339 (struct grub_efi_uart_device_path): New structure.
41340 (grub_efi_uart_device_path_t): New type.
41341 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41342 (struct grub_efi_vendor_messaging_device_path): New structure.
41343 (grub_efi_vendor_messaging_device_path_t): New type.
41344 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41345 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41346 (struct grub_efi_hard_drive_device_path): New structure.
41347 (grub_efi_hard_drive_device_path_t): New type.
41348 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41349 (struct grub_efi_cdrom_device_path): New structure.
41350 (grub_efi_cdrom_device_path_t): New type.
41351 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41352 (struct grub_efi_vendor_media_device_path): New structure.
41353 (grub_efi_vendor_media_device_path_t): New type.
41354 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41355 (struct grub_efi_file_path_device_path): New structure.
41356 (grub_efi_file_path_device_path_t): New type.
41357 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41358 (struct grub_efi_protocol_device_path): New structure.
41359 (grub_efi_protocol_device_path_t): New type.
41360 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
41361 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
41362 (struct grub_efi_bios_device_path): New structure.
41363 (grub_efi_bios_device_path_t): New type.
41364 (struct grub_efi_disk_io): New structure.
41365 (grub_efi_disk_io_t): New type.
41366 (struct grub_efi_block_io_media): New structure.
41367 (grub_efi_block_io_media_t): New type.
41368 (struct grub_efi_block_io): New structure.
41369 (grub_efi_block_io_t): New type.
41371 * include/grub/misc.h (grub_stop): Removed.
41372 (grub_exit): New prototype.
41373 (grub_abort): Likewise.
41375 * include/grub/disk.h (enum grub_disk_dev_id): Added
41376 GRUB_DISK_DEVICE_EFIDISK_ID.
41378 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
41379 disk/efi/efidisk.c.
41380 (kernel_syms.lst): Remove the target if an error occurs.
41382 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
41384 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
41385 as it was simply too buggy.
41387 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
41389 * kern/misc.c (grub_lltoa): New function.
41390 (grub_vsprintf): Added support for the long long suffix,
41393 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
41395 * Makefile.in (LDFLAGS): Add variable.
41396 (LD): Remove variable.
41397 * configure.ac: Add -m32 to LDFLAGS.
41398 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
41399 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
41400 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
41401 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
41402 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
41404 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
41405 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
41406 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
41408 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
41410 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
41411 length for unknown glyph.
41413 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41415 Add support for pre-loaded modules into the EFI port.
41417 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
41418 completely. Accept one more argument DIR. The caller has changed.
41420 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
41422 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
41423 (grub_efi_loaded_image_guid): New variable.
41424 (grub_efi_get_loaded_image): New function.
41425 (grub_arch_modules_addr): Likewise.
41427 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
41430 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
41431 (struct grub_efi_loaded_image): New structure.
41432 (grub_efi_loaded_image_t): New type.
41434 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41436 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
41437 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
41438 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
41440 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
41442 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
41444 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
41446 * DISTLIST: Added include/grub/efi/console.h,
41447 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
41448 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41450 * include/grub/efi/console.h: New file.
41451 * include/grub/efi/time.h: Likewise.
41452 * include/grub/i386/efi/kernel.h: Likewise.
41453 * kern/efi/init.c: Likewise.
41454 * kern/efi/mm.c: Likewise.
41455 * term/efi/console.c: Likewise.
41457 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
41458 (grub_stop): Removed.
41459 (grub_get_rtc): Likewise.
41460 (grub_machine_init): Simply call grub_efi_init.
41461 (grub_machine_fini): Call grub_efi_fini.
41463 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
41464 (grub_efi_output_string): Removed.
41465 (grub_efi_stall): New function.
41466 (grub_stop): Likewise.
41467 (grub_get_rtc): Likewise.
41469 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
41470 (grub_efi_stall): New prototype.
41471 (grub_efi_allocate_pages): Likewise.
41472 (grub_efi_free_pages): Likewise.
41473 (grub_efi_get_memory_map): Likewise.
41474 (grub_efi_mm_init): Likewise.
41475 (grub_efi_mm_fini): Likewise.
41476 (grub_efi_init): Likewise.
41477 (grub_efi_fini): Likewise.
41479 * include/grub/i386/efi/time.h: Do not include
41480 grub/symbol.h. Include grub/efi/time.h.
41481 (GRUB_TICKS_PER_SECOND): Removed.
41482 (grub_get_rtc): Likewise.
41484 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
41485 Added padding. The EFI spec is buggy.
41486 (GRUB_EFI_BLACK): New macro.
41487 (GRUB_EFI_BLUE): Likewise.
41488 (GRUB_EFI_GREEN): Likewise.
41489 (GRUB_EFI_CYAN): Likewise.
41490 (GRUB_EFI_RED): Likewise.
41491 (GRUB_EFI_MAGENTA): Likewise.
41492 (GRUB_EFI_BROWN): Likewise.
41493 (GRUB_EFI_LIGHTGRAY): Likewise.
41494 (GRUB_EFI_BRIGHT): Likewise.
41495 (GRUB_EFI_DARKGRAY): Likewise.
41496 (GRUB_EFI_LIGHTBLUE): Likewise.
41497 (GRUB_EFI_LIGHTGREEN): Likewise.
41498 (GRUB_EFI_LIGHTCYAN): Likewise.
41499 (GRUB_EFI_LIGHTRED): Likewise.
41500 (GRUB_EFI_LIGHTMAGENTA): Likewise.
41501 (GRUB_EFI_YELLOW): Likewise.
41502 (GRUB_EFI_WHITE): Likewise.
41503 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
41504 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
41505 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
41506 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
41507 (GRUB_EFI_BACKGROUND_RED): Likewise.
41508 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
41509 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
41510 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
41511 (GRUB_EFI_TEXT_ATTR): Likewise.
41513 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
41514 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41515 (kernel_mod_HEADERS): Added efi/time.h.
41517 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
41519 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
41520 include/grub/efi/api.h, include/grub/efi/console_control.h,
41521 include/grub/efi/efi.h, include/grub/efi/pe32.h,
41522 include/grub/i386/efi/time.h, kern/efi/efi.c,
41523 kern/i386/efi/init.c, kern/i386/efi/startup.S,
41524 and util/i386/efi/grub-mkimage.c.
41526 * Makefile.in (RMKFILES): Added i386-efi.rmk.
41528 * genmk.rb (PModule#rule): Do not export symbols if
41529 #{prefix}_EXPORTS is set to "no".
41531 * conf/i386-efi.mk: New file.
41532 * conf/i386-efi.rmk: Likewise.
41533 * include/grub/efi/api.h: Likewise.
41534 * include/grub/efi/console_control.h: Likewise.
41535 * include/grub/efi/efi.h: Likewise.
41536 * include/grub/efi/pe32.h: Likewise.
41537 * include/grub/i386/efi/time.h: Likewise.
41538 * kern/efi/efi.c: Likewise.
41539 * kern/i386/efi/init.c: Likewise.
41540 * kern/i386/efi/startup.S: Likewise.
41541 * util/i386/efi/grub-mkimage.c: Likewise.
41543 2006-04-17 Marco Gerards <marco@gnu.org>
41545 * include/grub/script.h: Include <grub/parser.h> and
41546 "grub_script.tab.h".
41547 (struct grub_lexer_param): New struct.
41548 (struct grub_parser_param): Likewise.
41549 (grub_script_create_arglist): Pass the state in an argument.
41550 (grub_script_add_arglist): Likewise.
41551 (grub_script_create_cmdline): Likewise.
41552 (grub_script_create_cmdblock): Likewise.
41553 (grub_script_create_cmdif): Likewise.
41554 (grub_script_create_cmdmenu): Likewise.
41555 (grub_script_add_cmd): Likewise.
41556 (grub_script_arg_add): Likewise.
41557 (grub_script_lexer_ref): Likewise.
41558 (grub_script_lexer_deref): Likewise.
41559 (grub_script_lexer_record_start): Likewise.
41560 (grub_script_lexer_record_stop): Likewise.
41561 (grub_script_mem_record): Likewise.
41562 (grub_script_mem_record_stop): Likewise.
41563 (grub_script_malloc): Likewise.
41564 (grub_script_yylex): Likewise.
41565 (grub_script_yyparse): Likewise.
41566 (grub_script_yyerror): Likewise.
41567 (grub_script_yylex): Likewise.
41568 (grub_script_lexer_init): Return the state.
41570 * normal/lexer.c (grub_script_lexer_state): Removed variable.
41571 (grub_script_lexer_done): Likewise.
41572 (grub_script_lexer_getline): Likewise.
41573 (grub_script_lexer_refs): Likewise.
41574 (script): Likewise.
41575 (newscript): Likewise.
41576 (record): Likewise.
41577 (recording): Likewise.
41578 (recordpos): Likewise.
41579 (recordlen): Likewise.
41580 (grub_script_lexer_init): Return the state instead of setting
41582 (grub_script_lexer_ref): Use the newly added argument for state
41583 instead of globals.
41584 (grub_script_lexer_deref): Likewise.
41585 (grub_script_lexer_record_start): Likewise.
41586 (grub_script_lexer_record_stop): Likewise.
41587 (recordchar): Likewise.
41588 (nextchar): Likewise.
41589 (grub_script_yylex2): Likewise.
41590 (grub_script_yylex): Likewise.
41591 (grub_script_yyerror): Likewise.
41593 * normal/parser.y (func_mem): Removed variable.
41594 (menu_entry): Likewise.
41596 (%lex-param): New parser option.
41597 (%parse-param): Likewise.
41598 (script): Always return the AST.
41599 (argument): Pass the state around.
41600 (arguments): Likewise.
41601 (grubcmd): Likewise.
41602 (commands): Likewise.
41603 (function): Likewise.
41604 (menuentry): Likewise.
41605 (if_statement): Likewise.
41608 * normal/script.c (grub_script_memused): Removed variable.
41609 (grub_script_parsed): Likewise.
41610 (grub_script_malloc): Added a state argument. Use that instead of
41612 (grub_script_mem_record): Likewise.
41613 (grub_script_mem_record_stop): Likewise.
41614 (grub_script_arg_add): Likewise.
41615 (grub_script_add_arglist): Likewise.
41616 (grub_script_create_cmdline): Likewise.
41617 (grub_script_create_cmdif): Likewise.
41618 (grub_script_create_cmdmenu): Likewise.
41619 (grub_script_add_cmd): Likewise.
41620 (grub_script_parse): Setup the state before calling the parser.
41622 2006-04-16 Marco Gerards <marco@gnu.org>
41624 * normal/command.c (grub_command_init): Remove the title command.
41626 * normal/lexer.c (grub_script_yylex): Renamed from this...
41627 (grub_script_yylex2): ... to this.
41628 (grub_script_yylex): New function. Temporary
41629 introduced to filter some tokens.
41630 (grub_script_yyerror): Print a newline.
41632 * normal/main.c (read_config_file): Output information about the
41633 lines that contain errors. Wait for a key after all lines have
41634 been processed. Don't return an empty menu.
41636 * normal/parser.y (func_mem): Don't initialize.
41637 (menu_entry): Likewise.
41638 (err): New variable.
41639 (script): Don't return anything when an error was encountered.
41640 (ws, returns): Removed rules.
41641 (argument): Disabled concatenated variable support.
41642 (arguments): Remove explicit separators.
41643 (grubcmd): Likewise.
41644 (function): Likewise.
41645 (menuentry): Likewise.
41647 (commands): Likewise. Add error handling.
41649 * normal/script.c (grub_script_create_cmdline): If
41650 `grub_script_parsed' is 0, assume the parser encountered an error.
41652 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
41654 * configure.ac: Add support for EFI. Fix the typo
41655 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
41657 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41659 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
41660 foreign multibyte characters should be shown correctly.
41662 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41664 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
41666 (read_config_file): Made it to close file before returning.
41668 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
41670 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
41671 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
41672 video/i386/pc/vbefill.c.
41674 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
41675 video/i386/pc/vbefill.c.
41677 * include/grub/video.h (grub_video_blit_format): New enum.
41678 (grub_video_mode_info): Added new member blit_format.
41679 (grub_video_get_blit_format): New function prototype.
41681 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
41682 function prototype.
41683 (grub_video_vbe_map_rgb): Likewise.
41684 (grub_video_vbe_unmap_color): Likewise.
41686 * include/grub/i386/pc/vbeblit.h: New file.
41688 * include/grub/i386/pc/vbefill.h: New file.
41690 * video/video.c (grub_video_get_blit_format): New function.
41691 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
41692 (grub_video_vbe_map_rgb): Likewise.
41693 (grub_video_vbe_unmap_color): Likewise.
41695 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
41697 (grub_video_vbe_blit_render_target): Changed to use more optimized
41699 (grub_video_vbe_setup): Added detection for optimized settings.
41700 (grub_video_vbe_create_render_target): Likewise.
41702 * video/i386/pc/vbeblit.c: New file.
41704 * video/i386/pc/vbefill.c: New file.
41706 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
41708 * font/manager.c (grub_font_get_glyph): Removed font fixup from
41711 * util/unifont2pff.rb: ... and moved it to here. Improved argument
41712 parsing to support both hex and dec ranges. If filename was missing
41713 show usage information.
41715 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
41717 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
41718 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
41720 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
41721 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
41722 (video_mod_SOURCES): Added.
41723 (video_mod_CFLAGS): Likewise.
41724 (video_mod_LDFLAGS): Likewise.
41725 (gfxterm_mod_SOURCES): Likewise.
41726 (gfxterm_mod_CFLAGS): Likewise.
41727 (gfxterm_mod_LDFLAGS): Likewise.
41728 (videotest_mod_SOURCES): Likewise.
41729 (videotest_mod_CFLAGS): Likewise.
41730 (videotest_mod_LDFLAGS): Likewise.
41731 (vesafb_mod_SOURCES): Removed.
41732 (vesafb_mod_CFLAGS): Likewise.
41733 (vesafb_mod_LDFLAGS): Likewise.
41734 (vga_mod_SOURCES): Likewise.
41735 (vga_mod_CFLAGS): Likewise.
41736 (vga_mod_LDFLAGS): Likewise.
41738 * commands/videotest.c: New file.
41740 * font/manager.c (fill_with_default_glyph): Modified to use
41742 (grub_font_get_glyph): Likewise.
41743 (fontmanager): Renamed from this...
41744 (font_manager): ... to this.
41746 * include/grub/font.h (grub_font_glyph): Added new structure.
41747 (grub_font_get_glyph): Modified to use grub_font_glyph.
41749 * include/grub/misc.h (grub_abs): Added as inline function.
41751 * include/grub/video.h: New file.
41753 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
41754 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
41755 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
41756 (grub_vbe_get_controller_info): Renamed from this...
41757 (grub_vbe_bios_get_controller_info): ... to this.
41758 (grub_vbe_get_mode_info): Renamed from this...
41759 (grub_vbe_bios_get_mode_info): ... to this.
41760 (grub_vbe_set_mode): Renamed from this...
41761 (grub_vbe_bios_set_mode): ... to this.
41762 (grub_vbe_get_mode): Renamed from this...
41763 (grub_vbe_bios_get_mode): ... to this.
41764 (grub_vbe_set_memory_window): Renamed from this...
41765 (grub_vbe_bios_set_memory_window): ... to this.
41766 (grub_vbe_get_memory_window): Renamed from this...
41767 (grub_vbe_bios_get_memory_window): ... to this.
41768 (grub_vbe_set_scanline_length): Renamed from this...
41769 (grub_vbe_set_scanline_length): ... to this.
41770 (grub_vbe_get_scanline_length): Renamed from this...
41771 (grub_vbe_bios_get_scanline_length): ... to this.
41772 (grub_vbe_set_display_start): Renamed from this...
41773 (grub_vbe_bios_set_display_start): ... to this.
41774 (grub_vbe_get_display_start): Renamed from this...
41775 (grub_vbe_bios_get_display_start): ... to this.
41776 (grub_vbe_set_palette_data): Renamed from this...
41777 (grub_vbe_bios_set_palette_data): ... to this.
41778 (grub_vbe_set_pixel_rgb): Removed.
41779 (grub_vbe_set_pixel_index): Likewise.
41781 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
41783 (grub_vbe_bios_get_controller_info): ... to this.
41784 (grub_vbe_get_mode_info): Renamed from this...
41785 (grub_vbe_bios_get_mode_info): ... to this.
41786 (grub_vbe_set_mode): Renamed from this...
41787 (grub_vbe_bios_set_mode): ... to this.
41788 (grub_vbe_get_mode): Renamed from this...
41789 (grub_vbe_bios_get_mode): ... to this.
41790 (grub_vbe_set_memory_window): Renamed from this...
41791 (grub_vbe_bios_set_memory_window): ... to this.
41792 (grub_vbe_get_memory_window): Renamed from this...
41793 (grub_vbe_bios_get_memory_window): ... to this.
41794 (grub_vbe_set_scanline_length): Renamed from this...
41795 (grub_vbe_set_scanline_length): ... to this.
41796 (grub_vbe_get_scanline_length): Renamed from this...
41797 (grub_vbe_bios_get_scanline_length): ... to this.
41798 (grub_vbe_set_display_start): Renamed from this...
41799 (grub_vbe_bios_set_display_start): ... to this.
41800 (grub_vbe_get_display_start): Renamed from this...
41801 (grub_vbe_bios_get_display_start): ... to this.
41802 (grub_vbe_set_palette_data): Renamed from this...
41803 (grub_vbe_bios_set_palette_data): ... to this.
41804 (grub_vbe_bios_get_controller_info): Fixed problem with registers
41805 getting corrupted after calling it. Added more pushes and pops.
41806 (grub_vbe_bios_set_mode): Likewise.
41807 (grub_vbe_bios_get_mode): Likewise.
41808 (grub_vbe_bios_get_memory_window): Likewise.
41809 (grub_vbe_bios_set_scanline_length): Likewise.
41810 (grub_vbe_bios_get_scanline_length): Likewise.
41811 (grub_vbe_bios_get_display_start): Likewise.
41812 (grub_vbe_bios_set_palette_data): Likewise.
41814 * normal/cmdline.c (cl_set_pos): Refresh the screen.
41815 (cl_insert): Likewise.
41816 (cl_delete): Likewise.
41818 * term/gfxterm.c: New file.
41820 * term/i386/pc/vesafb.c: Removed file.
41822 * video/video.c: New file.
41824 * video/i386/pc/vbe.c (real2pm): Added new function.
41825 (grub_video_vbe_draw_pixel): Likewise.
41826 (grub_video_vbe_get_video_ptr): Likewise.
41827 (grub_video_vbe_get_pixel): Likewise
41828 (grub_video_vbe_init): Likewise.
41829 (grub_video_vbe_fini): Likewise.
41830 (grub_video_vbe_setup): Likewise.
41831 (grub_video_vbe_get_info): Likewise.
41832 (grub_video_vbe_set_palette): Likewise.
41833 (grub_video_vbe_get_palette): Likewise.
41834 (grub_video_vbe_set_viewport): Likewise.
41835 (grub_video_vbe_get_viewport): Likewise.
41836 (grub_video_vbe_map_color): Likewise.
41837 (grub_video_vbe_map_rgb): Likewise.
41838 (grub_video_vbe_map_rgba): Likewise.
41839 (grub_video_vbe_unmap_color): Likewise.
41840 (grub_video_vbe_fill_rect): Likewise.
41841 (grub_video_vbe_blit_glyph): Likewise.
41842 (grub_video_vbe_blit_bitmap): Likewise.
41843 (grub_video_vbe_blit_render_target): Likewise.
41844 (grub_video_vbe_scroll): Likewise.
41845 (grub_video_vbe_swap_buffers): Likewise.
41846 (grub_video_vbe_create_render_target): Likewise.
41847 (grub_video_vbe_delete_render_target): Likewise.
41848 (grub_video_vbe_set_active_render_target): Likewise.
41849 (grub_vbe_set_pixel_rgb): Remove function.
41850 (grub_vbe_set_pixel_index): Likewise.
41851 (index_color_mode): Remove static variable.
41852 (active_mode): Likewise.
41853 (framebuffer): Likewise.
41854 (bytes_per_scan_line): Likewise.
41855 (grub_video_vbe_adapter): Added new static variable.
41856 (framebuffer): Likewise.
41857 (render_target): Likewise.
41858 (initial_mode): Likewise.
41859 (mode_in_use): Likewise.
41860 (mode_list): Likewise.
41862 2006-03-10 Marco Gerards <marco@gnu.org>
41864 * configure.ac (AC_INIT): Bumped to 1.93.
41866 * DISTLIST: Added `include/grub/hfs.h'.
41868 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
41870 * boot/i386/pc/boot.S (general_error): Before looping, try INT
41871 18H, which might help the BIOS falling back to next boot media.
41873 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
41875 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
41876 Poe Chen <poe.poechen@gmail.com>.
41878 2006-01-17 Marco Gerards <marco@gnu.org>
41880 * include/grub/normal.h: Include <grub/script.h>.
41881 (grub_command_list): Removed struct.
41882 (grub_command_list_t): Removed type.
41883 (grub_menu_entry): Remove members `num' and `command_list'. Add
41884 members `commands' and `sourcecode'.
41885 * include/grub/script.h: Add inclusion guards.
41886 (grub_script_cmd_menuentry): New struct.
41887 (grub_script_execute_menuentry): New prototype.
41888 (grub_script_lexer_record_start): Likewise.
41889 (grub_script_lexer_record_stop): Likewise.
41890 * normal/execute.c (grub_script_execute_menuentry): New function.
41891 * normal/lexer.c (record, recording, recordpos, recordlen): New
41893 (grub_script_lexer_record_start): New function.
41894 (grub_script_lexer_record_stop): Likewise.
41895 (recordchar): Likewise.
41896 (nextchar): Likewise.
41897 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
41898 2048 as the buffer size. Add the tokens `menuentry' and `@'.
41899 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
41900 (current_menu): New variable.
41901 (free_menu): Mainly rewritten.
41902 (grub_normal_menu_addentry): New function.
41903 (read_config_file): Rewritten.
41904 * normal/menu.c (run_menu_entry): Mainly rewritten.
41905 * normal/menu_entry.c (make_screen): Rewritten the code to insert
41907 (run): Mainly rewritten.
41908 * normal/parser.y (menu_entry): New variable.
41909 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
41910 (menuentry): New rule.
41911 (command): Add `menuentry'.
41912 (if_statement): Allow additional returns before `fi'.
41913 * normal/script.c (grub_script_create_cmdmenu): New function.
41915 2006-01-03 Marco Gerards <marco@gnu.org>
41917 * INSTALL: GNU Bison is required.
41918 * configure.ac: Rewritten the test to detect Bison.
41919 * Makefile.in (YACC): New variable. Reported by Xun Sun
41920 <xun.sun.cn@gmail.com>.
41922 2006-01-03 Marco Gerards <marco@gnu.org>
41924 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
41925 the HFS+ filesystem to filesystem blocks.
41926 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
41927 GCC warning is silenced.
41929 2006-01-03 Marco Gerards <marco@gnu.org>
41931 * partmap/apple.c (apple_partition_map_iterate): Convert the data
41932 read from disk from big endian to host byte order.
41934 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
41936 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
41938 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
41939 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
41940 embedded HFS+ filesystem.
41941 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
41942 (grub_hfs_sblock): Move from here...
41943 * include/grub/hfs.h: To here... New file.
41944 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
41946 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
41948 (grub_hfsplus_volheader): Change type of member `magic' to
41950 (grub_hfsplus_data): Add new member `embedded_offset'.
41951 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
41953 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
41954 Calculate the offset.
41956 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41958 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
41960 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
41962 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41964 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
41965 ENV->NAME is NULL after allocating ENV->VALUE.
41967 2005-12-25 Marco Gerards <marco@gnu.org>
41969 * kern/env.c (grub_env_set): Rewritten the error handling code.
41971 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41973 * geninit.sh: Made more robust, and more portable.
41975 2005-12-25 Marco Gerards <marco@gnu.org>
41977 Add support for Apple HFS+ filesystems.
41979 * fs/hfsplus.c: New file.
41981 * DISTLIST: Added `fs/hfsplus.c'.
41983 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
41984 (hfsplus_mod_SOURCES): New variable.
41985 (hfsplus_mod_CFLAGS): Likewise.
41986 (hfsplus_mod_LDFLAGS): Likewise.
41987 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
41988 (grub_setup_SOURCES): Likewise.
41989 (grub_mkdevicemap_SOURCES): Likewise.
41990 (grub_emu_SOURCES): Likewise.
41991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41993 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
41995 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
41997 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41999 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42000 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42001 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42002 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42003 normal/lexer.c, normal/parser.y, normal/script.c, and
42005 Removed kern/sparc64/cache.c.
42007 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42008 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42011 * configure.ac (AC_INIT): Bumped to 1.92.
42013 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42015 * kern/err.c (grub_error_push): Added new function to support error
42017 (grub_error_pop): Likewise.
42018 (grub_error_stack_items): New local variable to support error stacks.
42019 (grub_error_stack_pos): Likewise.
42020 (grub_error_stack_assert): Likewise.
42021 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42023 (grub_print_error): Added support to print errors from error stack.
42025 * include/grub/err.h (grub_error_push): Added function prototype.
42026 (grub_error_pop): Likewise.
42028 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42030 * configure.ac: Accept `powerpc64' as host_cpu.
42031 (amd64): Rename to `biarch32'.
42033 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42034 non-cacheline-aligned addresses.
42036 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42037 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42038 if `size' is non-zero.
42040 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
42042 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42043 and `cd' to make sure the filename is not prefixed with a
42045 (pkgdata_MODULES): Add `gpt.mod'.
42046 (gpt_mod_SOURCES): New variable.
42047 (gpt_mod_CFLAGS): Likewise.
42048 (gpt_mod_LDFLAGS): Likewise.
42050 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42052 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42055 * partmap/gpt.c: New file.
42057 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42058 GPT partition map is detected.
42060 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42062 * commands/i386/pc/play.c: New file.
42063 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42064 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42067 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
42069 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42070 ((unused))' to silence gcc warning.
42072 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42074 * configure.ac: Correct `AC_PROG_YACC' test.
42076 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42078 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42079 check before installing files.
42081 2005-11-22 Mike Small <smallm@panix.com>
42083 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42084 number regex so multidigit numbers are recognized correctly.
42086 2005-11-22 Mike Small <smallm@panix.com>
42088 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42089 debugging message before attempting to claim memory.
42090 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42091 multiple addresses in case of failure.
42093 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42095 * term/tparm.c (get_space): Remove empty `if' statement.
42097 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42099 * kern/parser.c (check_varstate): Rename `state' to 's'.
42101 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42103 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42104 variable definitions to the beginning of each function. Sort stack
42106 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42107 `buf' argument to `char *'.
42109 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42111 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42112 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42113 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42114 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42115 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42116 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42117 configfile.mod, search.mod, gzio.mod and test.mod.
42118 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42119 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42120 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42121 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42122 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42123 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42124 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42125 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42126 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42127 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42128 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42129 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42130 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42131 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42132 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42133 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42134 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42135 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42136 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42137 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42138 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42139 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42140 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42142 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42144 (pkgdata_MODULES): Add test.mod.
42146 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42148 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42149 appending to variables with "+=".
42150 (PModule): Use full pathname to generate *.lst filenames.
42152 * Makefile.in: Fixed list rules moved from genmk.rb.
42153 (.DELETE_ON_ERROR): New special target.
42154 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42156 * conf/i386-pc.rmk: Include conf/common.mk.
42157 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42158 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42159 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42160 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42161 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42162 configfile.mod, search.mod, gzio.mod and test.mod.
42163 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42164 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42165 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42166 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42167 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42168 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42169 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42170 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42171 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42172 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42173 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42174 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42175 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42176 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42177 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42178 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42179 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42180 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42181 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42182 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42183 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42184 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42185 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42187 * conf/common.rmk: ... to here. New file.
42189 * conf/common.mk: New file.
42191 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42193 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42194 (grub_script.tab.c): ... here.
42196 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42197 (grub_script.tab.c): ... here.
42199 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42200 (grub_script.tab.c): ... here.
42202 * normal/command.c (grub_command_find): Fixed a memory leak of
42203 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42205 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42207 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42208 "@" which marks the start of a comment on ARM.
42209 (VARIABLE): Likewise.
42211 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42213 Add support for Linux/ADFS partition tables.
42215 * partmap/acorn.c: New file.
42217 * include/grub/acorn_filecore.h: Likewise.
42219 * DISTLIST: Added `partmap/acorn.c' and
42220 `include/grub/acorn_filecore.h'.
42222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42224 (pkgdata_MODULES): Add `acorn.mod'.
42225 (acorn_mod_SOURCES): New variable.
42226 (acorn_mod_CFLAGS): Likewise.
42228 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42230 (pkgdata_MODULES): Add `acorn.mod'.
42231 (acorn_mod_SOURCES): New variable.
42232 (acorn_mod_CFLAGS): Likewise.
42234 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42235 (pkgdata_MODULES): Add `acorn.mod'.
42236 (acorn_mod_SOURCES): New variable.
42237 (acorn_mod_CFLAGS): Likewise.
42238 (acorn_mod_LDFLAGS): Likewise.
42240 * include/types.h (grub_disk_addr_t): New typedef.
42242 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
42244 * geninit.sh: New file.
42246 * geninitheader.sh: Likewise.
42248 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42249 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42250 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42251 * commands/configfile.c (grub_configfile_init)
42252 (grub_configfile_fini): Likewise.
42253 * commands/default.c (grub_default_init, grub_default_fini):
42255 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42256 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42257 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42258 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42260 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42261 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42263 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
42264 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
42266 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42268 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
42270 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42271 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42272 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42273 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42274 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42275 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42276 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42277 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42278 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42279 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42280 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42281 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42282 * partmap/amiga.c (grub_amiga_partition_map_init)
42283 (grub_amiga_partition_map_fini): Likewise.
42284 * partmap/apple.c (grub_apple_partition_map_init)
42285 (grub_apple_partition_map_fini): Likewise.
42286 * partmap/pc.c (grub_pc_partition_map_init)
42287 (grub_pc_partition_map_fini): Likewise.
42288 * partmap/sun.c (grub_sun_partition_map_init,
42289 grub_sun_partition_map_fini): Likewise.
42290 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42293 * util/grub-emu.c: Include <grub_modules_init.h>.
42294 (main): Don't initialize and de-initialize any modules directly,
42295 use `grub_init_all' and `grub_fini_all' instead.
42297 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42298 `grub_vesafb_mod_init'.
42299 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42301 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42302 `grub_vga_mod_init'. Updated all users.
42303 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
42305 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42306 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42309 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42310 Generate a function to initialize the module in utilities.
42311 Updated all callers.
42312 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42313 initialize the module in utilities. Updated all callers.
42315 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42317 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42318 escape sequence and a literal ^L to clear the screen.
42320 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42321 when returning from Open Firmware.
42323 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42325 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42326 (grub_ofconsole_height): Likewise.
42327 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42328 manually insert a '\n'.
42329 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42330 `grub_ofconsole_height'. Return early if these are already set.
42332 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42334 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42335 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42336 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42337 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42338 and `normal/script.c'.
42339 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42340 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42341 (test_mod_SOURCES): New variable.
42342 (test_mod_CFLAGS): Likewise.
42343 (test_mod_LDFLAGS): Likewise.
42344 (pkgdata_MODULES): Add `test.mod'.
42345 (grub_script.tab.c): New rule.
42346 (grub_script.tab.h): Likewise.
42348 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
42350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42351 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42352 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42353 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42354 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42355 (test_mod_SOURCES): New variable.
42356 (test_mod_CFLAGS): Likewise.
42357 (pkgdata_MODULES): Add `test.mod'.
42358 (grub_script.tab.c): New rule.
42359 (grub_script.tab.h): Likewise.
42361 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
42363 Add initial scripting support.
42365 * commands/test.c: New file.
42366 * include/grub/script.h: Likewise.
42367 * normal/execute.c: Likewise.
42368 * normal/function.c: Likewise.
42369 * normal/lexer.c: Likewise.
42370 * normal/parser.y: Likewise.
42371 * normal/script.c: Likewise.
42373 * configure.ac: Add `AC_PROG_YACC' test.
42375 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
42376 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
42377 `normal/function.c' and `normal/script.c'.
42378 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42379 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42380 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
42382 (pkgdata_MODULES): Add `test.mod'.
42383 (grub_script.tab.c): New rule.
42384 (grub_script.tab.h): Likewise.
42386 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
42388 * include/grub/normal.h (grub_test_init): New prototype.
42389 (grub_test_fini): Likewise.
42391 * normal/command.c: Include <grub/script.h>.
42392 (grub_command_execute): Rewritten.
42394 * util/grub-emu.c (main): Call `grub_test_init' and
42397 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42399 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
42401 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
42402 there are no pending characters.
42404 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42406 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
42407 `grub_strndup' to drop device arguments. Replace unnecessary
42408 `grub_strndup' with `grub_strdup'.
42410 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42412 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
42413 `debug' environment variable has been set.
42415 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
42417 * Makefile.in (install-local): Use $(DATA).
42418 (uninstall): Likewise.
42419 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
42420 (sbin_UTILITIES): ... to here.
42421 (sbin_SCRIPTS): New variable.
42422 (grub_install_SOURCES): New variable.
42423 * util/powerpc/ieee1275/grub-install.in: New file.
42424 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
42426 (add_segments): Call `grub_util_get_path'.
42428 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42430 From Timothy Baldwin:
42431 * commands/ls.c (grub_ls_list_files): Close FILE with
42433 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
42435 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
42437 * include/grub/parser.h: New file.
42439 * kern/parser.c: Likewise.
42441 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
42442 (grub_setup_SOURCES): Likewise.
42443 (grub_probefs_SOURCES): Likewise.
42444 (grub_emu_SOURCES): Likewise.
42445 (kernel_img_HEADERS): Add `parser.h'.
42447 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42448 (grub_emu_SOURCES): Add `kern/parser.c'.
42449 (grubof_SOURCES): Likewise.
42451 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42452 (grubof_SOURCES): Add `kern/parser.c'.
42454 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
42456 * kern/misc.c (grub_split_cmdline): Removed function.
42458 * kern/rescue.c: Include <grub/parser.h>.
42459 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
42460 of `grub_split_cmdline'.
42462 * normal/command.c: Include <grub/parser.h>.
42463 (grub_command_execute): Use `grub_parser_split_cmdline' instead
42464 of `grub_split_cmdline'.
42466 * normal/completion.c: Include <grub/parser.h>.
42467 (cmdline_state): New variable.
42468 (iterate_dir): End the filename with a quote depending on the
42469 command line state.
42470 (get_state): new function.
42471 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
42472 split the arguments and determine the current argument. When the
42473 argument string is not quoted, escape all spaces.
42475 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42477 * normal/sparc64/setjmp.S: New file.
42479 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42481 * include/grub/sparc64/libgcc.h: New file.
42482 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
42483 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
42484 normal/sparc64/setjmp.c.
42486 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42488 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
42489 * kern/sparc64/cache.S: New file.
42490 * kern/sparc64/cache.c: Removed.
42491 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
42492 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
42494 (COMMON_LDFLAGS): Add -melf64_sparc.
42495 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
42496 (grubof_SOURCES): Use cache.S instead of cache.c.
42497 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
42498 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
42499 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
42501 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
42502 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
42503 (linux_mod_CFLAGS): Commented out.
42504 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
42505 out because module isn't built.
42506 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
42507 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
42508 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
42509 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
42510 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
42511 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42512 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42513 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
42514 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
42515 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
42516 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42517 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42518 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
42519 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
42521 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
42523 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
42524 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
42525 longer, because HFS should not be used on PC.
42527 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42529 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
42530 consistently within the loop.
42532 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
42534 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
42535 directory can not be read.
42537 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42539 * configure.ac (AC_INIT): Increase the version number to 1.91.
42541 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
42542 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
42543 term/i386/pc/serial.c.
42545 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42547 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
42548 file size must be permitted.
42550 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
42551 between %ah and %al.
42553 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42555 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
42557 Call the hook with a NUL-terminated filename.
42558 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
42561 * kern/term.c (cursor_state): New variable.
42562 (grub_term_set_current): Reset the cursor state on a new
42564 (grub_setcursor): Rewritten to use CURSOR_STATE.
42565 (grub_getcursor): New function.
42567 * include/grub/term.h (grub_getcursor): New prototype.
42569 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
42570 integers on ARM. Reported by Timothy Baldwin
42571 <T.E.Baldwin99@members.leeds.ac.uk>.
42573 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
42575 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
42577 (grub_sfs_dir): Likewise.
42579 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
42581 Add support for the SFS filesystem.
42583 * fs/sfs.c: New file.
42585 * DISTLIST: Added `fs/sfs.c'.
42587 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
42588 (grub_probefs_SOURCES): Likewise.
42589 (grub_emu_SOURCES): Likewise.
42590 (pkgdata_MODULES): Add `sfs.mod'.
42591 (sfs_mod_SOURCES): New variable.
42592 (sfs_mod_CFLAGS): Likewise.
42593 (sfs_mod_LDFLAGS): Likewise.
42595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
42596 (pkgdata_MODULES): Add `sfs.mod'.
42597 (sfs_mod_SOURCES): New variable.
42598 (sfs_mod_CFLAGS): Likewise.
42600 * util/grub-emu.c (main): Call `grub_sfs_init' and
42603 * include/grub/fs.h (grub_sfs_init): New prototype.
42604 (grub_sfs_fini): Likewise.
42606 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
42608 Add support for the AFFS filesystem.
42610 * fs/affs.c: New file.
42612 * DISTLIST: Added `fs/affs.c'.
42614 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
42615 (grub_probefs_SOURCES): Likewise.
42616 (grub_emu_SOURCES): Likewise.
42617 (pkgdata_MODULES): Add `affs.mod'.
42618 (affs_mod_SOURCES): New variable.
42619 (affs_mod_CFLAGS): Likewise.
42620 (affs_mod_LDFLAGS): Likewise.
42622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
42623 (pkgdata_MODULES): Add `affs.mod'.
42624 (affs_mod_SOURCES): New variable.
42625 (affs_mod_CFLAGS): Likewise.
42627 * util/grub-emu.c (main): Call `grub_affs_init' and
42630 * include/grub/fs.h (grub_affs_init): New prototype.
42631 (grub_affs_fini): Likewise.
42633 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
42635 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
42637 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
42639 * configure.ac: Accept `x86_64' as host_cpu. In that case add
42642 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
42645 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
42646 (COMMON_LDFLAGS): New variable.
42647 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
42648 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
42649 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
42650 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
42651 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
42652 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
42653 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
42654 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
42655 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
42656 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
42657 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42658 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42659 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
42660 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
42661 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
42663 (normal_mod_ASFLAGS): Add `-m32'.
42665 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
42666 (grub_host_size_t, grub_host_ssize_t): New types.
42667 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
42668 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
42669 `GRUB_HOST_SIZEOF_VOID_P'.
42671 * include/grub/kernel.h (struct grub_module_header): Type of
42672 member offset changed to `grub_host_off_t'. Type of member size
42673 changed to `grub_host_size_t'.
42674 (struct grub_module_info): Type of member offset changed to
42675 `grub_host_off_t'. Type of member size changed to
42676 `grub_host_size_t'.
42678 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
42680 Make GRUB's kernel compliant to Multiboot Specification.
42682 * kern/i386/pc/startup.S (multiboot_header): New label.
42683 (multiboot_entry): Likewise.
42684 (multiboot_trampoline): Likewise.
42686 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42687 Increased to 0x4A0.
42689 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
42690 put parentheses after a question mark.
42691 [!GRUB_UTIL] (my_mod): New variable.
42693 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
42695 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
42697 Adds support for the XFS filesystem. Btrees are not supported
42700 * fs/xfs.c: New file.
42702 * DISTLIST: Added `fs/xfs.c'.
42704 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
42705 (grub_probefs_SOURCES): Likewise.
42706 (grub_emu_SOURCES): Likewise.
42707 (pkgdata_MODULES): Add `xfs.mod'.
42708 (xfs_mod_SOURCES): New variable.
42709 (xfs_mod_CFLAGS): Likewise.
42711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
42712 (pkgdata_MODULES): Add `xfs.mod'.
42713 (xfs_mod_SOURCES): New variable.
42714 (xfs_mod_CFLAGS): Likewise.
42716 * util/grub-emu.c (main): Call `grub_xfs_init' and
42719 * include/grub/fs.h (grub_xfs_init): New prototype.
42720 (grub_xfs_fini): Likewise.
42723 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
42725 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
42726 color modes, allow greater than 16 colors to be configured as
42729 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42731 * normal/completion.c (complete_arguments): Add the qualifier
42732 const into OPTIONS.
42734 From Omniflux <omniflux+lists@omniflux.com>:
42735 * include/grub/terminfo.h: New file.
42736 * include/grub/tparm.h: Likewise.
42737 * include/grub/i386/pc/serial.h: Likewise.
42738 * term/terminfo.c: Likewise.
42739 * term/tparm.c: Likewise.
42740 * term/i386/pc/serial.c: Likewise.
42741 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
42743 (terminfo_mod_SOURCES): New variable.
42744 (terminfo_mod_CFLAGS): Likewise.
42745 (serial_mod_SOURCES): Likewise.
42746 (serial_mod_CFLAGS): Likewise.
42748 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
42750 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
42751 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
42752 and kern/powerpc/ieee1275/cmain.c, respectively.
42754 * boot/powerpc/ieee1275/crt0.S: Moved to ...
42755 * kern/powerpc/ieee1275/crt0.S: ... here.
42757 * boot/powerpc/ieee1275/cmain.c: Moved to ...
42758 * kern/powerpc/ieee1275/cmain.c: ... here.
42760 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
42761 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
42762 instead of boot/powerpc/ieee1275/crt0.S and
42763 boot/powerpc/ieee1275/cmain.c, respectively.
42765 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
42766 sectors. It was not used anyway.
42768 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42770 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
42771 `unused parameter' warning.
42773 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42775 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
42777 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
42780 2005-08-28 Marco Gerards <metgerards@student.han.nl>
42782 * include/grub/normal.h (enum grub_completion_type): Added
42783 `GRUB_COMPLETION_TYPE_ARGUMENT'.
42785 * normal/cmdline.c (print_completion): Handle
42786 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
42787 * normal/menu_entry.c (store_completion): Likewise.
42789 * normal/completion.c (complete_arguments): New function.
42790 (grub_normal_do_completion): Call `complete_arguments' when the
42791 current words start with a dash.
42793 2005-08-27 Marco Gerards <metgerards@student.han.nl>
42795 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
42796 `gzio.mod' instead of `io.mod').
42798 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
42800 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
42801 (DISTDIRS): Added io and video.
42802 Rewrite the search routine to make an output consistently.
42804 * DISTLIST: Added conf/sparc64-ieee1275.mk,
42805 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
42806 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
42807 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
42808 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
42809 util/powerpc/ieee1275/misc.c.
42811 * include/grub/gzio.h: New file.
42812 * io/gzio.c: Likewise.
42814 * kern/file.c (grub_file_close): Call grub_device_close only if
42815 FILE->DEVICE is not NULL.
42817 * include/grub/mm.h [!NULL] (NULL): New macro.
42819 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
42821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
42822 (pkgdata_MODULES): Added gzio.mod.
42823 (gzio_mod_SOURCES): New variable.
42824 (gzio_mod_CFLAGS): Likewise.
42826 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
42827 (pkgdata_MODULES): Added gzio.mod.
42828 (gzio_mod_SOURCES): New variable.
42829 (gzio_mod_CFLAGS): Likewise.
42831 * commands/cat.c: Include grub/gzio.h.
42832 (grub_cmd_cat): Use grub_gzfile_open instead of
42835 * commands/cmp.c: Include grub/gzio.h.
42836 (grub_cmd_cmp): Use grub_gzfile_open instead of
42839 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
42840 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
42842 (grub_rescue_cmd_module): Likewise.
42844 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42846 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
42847 kern/sparc64/ieee1275/init.c because it contains _start.
42848 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
42850 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42852 * configure.ac: Add support for sparc64 host with ieee1275
42854 * configure: Generated from configure.ac.
42855 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
42857 (grub_ofdisk_read): Likewise.
42858 (grub_ofdisk_open): Use %p to print pointer values, and cast the
42859 pointers as (void *) to remove a warning.
42860 (grub_ofdisk_close): Likewise.
42861 (grub_ofdisk_read): Likewise.
42862 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
42863 returns, so make it return void to remove a warning.
42864 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
42865 Corresponding prototype change.
42866 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
42867 values, and cast the pointers as (void *) to remove a warning.
42868 (grub_mm_dump): Likewise.
42869 * conf/sparc64-ieee1275.mk: New file.
42870 * conf/sparc64-ieee1275.rmk: Likewise.
42871 * include/grub/sparc64/setjmp.h: Likewise.
42872 * include/grub/sparc64/types.h: Likewise.
42873 * include/grub/sparc64/ieee1275/console.h: Likewise.
42874 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42875 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42876 * include/grub/sparc64/ieee1275/time.h: Likewise.
42877 * kern/sparc64/cache.c: Likewise.
42878 * kern/sparc64/dl.c: Likewise.
42879 * kern/sparc64/ieee1275/init.c: Likewise.
42880 * kern/sparc64/ieee1275/openfw.c: Likewise.
42882 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42884 * util/console.c (grub_ncurses_putchar): If C is greater than
42885 0x7f, set C to a question mark.
42886 (grub_ncurses_getcharwidth): New function.
42887 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
42890 * normal/menu.c (print_entry): Made aware of Unicode. First,
42891 convert TITLE to UCS-4, and predict the cursor position by
42894 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
42896 * kern/misc.c (grub_utf16_to_utf8): Likewise.
42898 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42900 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
42901 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42904 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
42905 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42906 grub_strcpy and grub_strlen. Take it into account that a space
42907 character is inserted as a delimiter.
42909 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42911 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
42912 invalid magic in the error.
42914 * commands/search.c: New file.
42916 * util/grub-emu.c (main): Call grub_search_init and
42919 * kern/rescue.c (grub_rescue_print_disks): Removed.
42920 (grub_rescue_print_devices): New function.
42921 (grub_rescue_cmd_ls): Use grub_device_iterate with
42922 grub_rescue_print_devices instead of grub_disk_dev_iterate with
42923 grub_rescue_print_disks.
42925 * kern/partition.c (grub_partition_iterate): Return the result of
42926 PARTMAP->ITERATE instead of GRUB_ERRNO.
42928 * kern/device.c: Include grub/partition.h.
42929 (grub_device_iterate): New function.
42931 * include/grub/partition.h (grub_partition_iterate): Return int
42932 instead of grub_err_t.
42934 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
42936 [GRUB_UTIL] (grub_search_fini): Likewise.
42938 * include/grub/device.h (grub_device_iterate): New prototype.
42940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42942 (pkgdata_MODULES): Added search.mod.
42943 (search_mod_SOURCES): New variable.
42944 (search_mod_CFLAGS): Likewise.
42946 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
42947 (pkgdata_MODULES): Added search.mod.
42948 (search_mod_SOURCES): New variable.
42949 (search_mod_CFLAGS): Likewise.
42951 * commands/ls.c (grub_ls_list_disks): Renamed to ...
42952 (grub_ls_list_devices): ... this, and use grub_device_iterate.
42953 All callers changed.
42955 * DISTLIST: Added commands/search.c.
42957 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42959 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
42961 (grub_getcharwidth): New function.
42963 * kern/misc.c (grub_utf8_to_ucs4): New function.
42965 * include/grub/term.h (struct grub_term): Added a new member
42967 (grub_getcharwidth): New prototype.
42969 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
42971 * term/i386/pc/console.c (map_char): New function. Segregated from
42972 grub_console_putchar.
42973 (grub_console_putchar): Use map_char.
42974 (grub_console_getcharwidth): New function.
42975 (grub_console_term): Specified grub_console_getcharwidth as
42978 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
42979 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
42981 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
42983 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
42984 on grub_strtoul completely.
42985 (write_char): Declare local variables in the beginning of the
42987 (grub_vesafb_getcharwidth): New function.
42988 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
42991 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
42993 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
42994 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
42995 commands/i386/pc/vbetest.c.
42997 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
42998 call grub_vbe_get_controller_info again, because the returned
42999 information is volatile.
43000 (grub_vbe_set_video_mode): Mostly rewritten.
43001 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43002 grub_vbe_status_t correctly.
43003 (grub_vbe_get_video_mode_info): Likewise.
43004 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43005 several if statements.
43007 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43008 * commands/i386/pc/vbeinfo.c: ... this.
43010 * commands/i386/pc/vbe_test.c: Renamed to ...
43011 * commands/i386/pc/vbetest.c: ... this.
43013 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43015 (grub_cmd_vbeinfo): ... this. Save video modes before
43016 iterating. Skip a video mode, if it is not available, not enough
43017 information is given or it is monochrome. Show the memory
43018 model. Leave the interpretation of MODEVAR to grub_strtoul
43020 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43021 (GRUB_MOD_FINI): Likewise.
43023 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43024 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43025 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43026 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43027 grub_strtoul completely.
43028 (real2pm): Removed.
43029 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43030 (GRUB_MOD_FINI): Likewise.
43032 * normal/misc.c: Include grub/mm.h.
43034 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43035 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43036 (vbe_list_modes_mod_SOURCES): Removed.
43037 (vbe_list_modes_mod_CFLAGS): Likewise.
43038 (vbe_test_mod_SOURCES): Likewise.
43039 (vbe_test_mod_CFLAGS): Likewise.
43040 (vbeinfo_mod_SOURCES): New variable.
43041 (vbeinfo_mod_CFLAGS): Likewise.
43042 (vbetest_mod_SOURCES): Likewise.
43043 (vbetest_mod_CFLAGS): Likewise.
43045 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43047 * normal/misc.c: New file.
43049 * DISTLIST: Added normal/misc.c.
43051 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43052 DISK to HOOK. Call HOOK with DISK.
43053 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43054 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43055 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43057 * normal/menu_entry.c (struct screen): Added a new member
43058 "completion_shown".
43059 (completion_buffer): New global variable.
43060 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43061 (store_completion): New function.
43062 (complete): Likewise.
43063 (clear_completions): Likewise.
43064 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43065 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43066 a tab, call complete.
43068 * normal/completion.c (disk_dev): Removed.
43069 (print_simple_completion): Likewise.
43070 (print_partition_completion): Likewise.
43071 (print_func): New global variable.
43072 (add_completion): Do not take the arguments WHAT or PRINT any
43073 longer. Added a new argument TYPE. Instead of printing directly,
43074 call PRINT_FUNC if not NULL.
43075 All callers changed.
43076 (complete_device): Use a local variable DEV instead of
43077 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43078 (grub_normal_do_completion): Take a new argument HOOK. Do not
43079 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43080 empty string, return NULL instead.
43081 All callers changed.
43083 * normal/cmdline.c (print_completion): New function.
43085 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43087 All callers changed.
43089 * kern/disk.c (grub_print_partinfo): Removed.
43091 * include/grub/partition.h (struct grub_partition_map): Add a new
43092 argument DISK into HOOK of ITERATE.
43093 (grub_partition_iterate): Add a new argument DISK to HOOK.
43095 * include/grub/normal.h (enum grub_completion_type): New enum.
43096 (grub_completion_type_t): New type.
43097 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43098 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43099 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43100 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43101 (grub_normal_do_completion): Added a new argument HOOK.
43102 (grub_normal_print_device_info): New prototype.
43104 * include/grub/disk.h (grub_print_partinfo): Removed.
43106 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43107 (normal_mod_SOURCES): Likewise.
43108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43109 (normal_mod_SOURCES): Likewise.
43111 * commands/ls.c (grub_ls_list_disks): Use
43112 grub_normal_print_device_info instead of grub_print_partinfo. Free
43114 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43115 duplicating the code.
43117 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43119 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
43120 follow GCS more precisely.
43121 * commands/i386/pc/vbe_test.c: Likewise.
43122 * include/grub/i386/pc/vbe.h: Likewise.
43123 * term/i386/pc/vesafb.c: Likewise.
43124 * video/i386/pc/vbe.c: Likewise.
43126 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43128 * DISTLIST: Added term/i386/pc/vesafb.c
43129 DISTLIST: Added video/i386/pc/vbe.c
43130 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43131 DISTLIST: Added commands/i386/pc/vbe_test.c.
43132 * commands/i386/pc/vbe_list_modes.c: New file.
43133 * commands/i386/pc/vbe_test.c: Likewise.
43134 * term/i386/pc/vesafb.c: Likewise.
43135 * video/i386/pc/vbe.c: Likewise.
43136 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43137 (grub_vbe_probe) Added prototype.
43138 (grub_vbe_set_video_mode) Likewise.
43139 (grub_vbe_get_video_mode) Likewise.
43140 (grub_vbe_get_video_mode_info) Likewise.
43141 (grub_vbe_set_pixel_rgb) Likewise.
43142 (grub_vbe_set_pixel_index) Likewise.
43143 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43144 (pkgdata_MODULES): Added vesafb.mod.
43145 (pkgdata_MODULES): Added vbe_list_modes.mod.
43146 (pkgdata_MODULES): Added vbe_test.mod.
43147 (vbe_mod_SOURCES): Added.
43148 (vbe_mod_CFLAGS): Likewise.
43149 (vesafb_mod_SOURCES): Likewise.
43150 (vesafb_mod_CFLAGS): Likewise.
43151 (vbe_list_modes_mod_SOURCES): Likewise.
43152 (vbe_list_modes_mod_CFLAGS): Likewise.
43153 (vbe_test_mod_SOURCES): Likewise.
43154 (vbe_test_mod_CFLAGS): Likewise.
43156 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43158 * normal/command.c (grub_command_execute): If INTERACTIVE is
43159 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43160 CMDLINE. Disable the pager if INTERACTIVE is true.
43161 All callers are changed.
43163 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43164 before reading a config file.
43165 * normal/main.c (read_config_file): Even if a command is not
43166 found, register it if it is within an entry.
43168 * util/grub-emu.c: Include sys/types.h and unistd.h.
43169 (options): Added --hold.
43170 (struct arguments): Added a new member "hold".
43171 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43173 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43174 cleared by a debugger, if it is not zero.
43176 * include/grub/normal.h (grub_command_execute): Add an argument
43179 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43181 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43183 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43185 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43186 program with another one, because the old one didn't detect a bug
43187 in gcc-3.4. Always use regparm 2, because the new test is still
43188 not enough for gcc-4.0. Someone must investigate a simple test
43189 case which detects a bug in gcc-4.0.
43191 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43193 * DISTLIST: Added normal/completion.c.
43195 * normal/completion.c: New file.
43197 * term/i386/pc/console.c (grub_console_getwh): New function.
43198 (grub_console_term): Assign grub_console_getwh to getwh.
43200 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43201 function is defined in normal/completion.c as
43202 grub_normal_do_completion.
43203 (grub_cmdline_get): Use grub_normal_do_completion instead of
43206 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43207 returns non-zero, otherwise return 0.
43208 (grub_partition_iterate): First, probe the partition map. Then,
43209 call ITERATE only for this partition map.
43211 * kern/misc.c (grub_strncmp): Rewritten.
43213 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43214 returns non-zero. Otherwise return 0.
43216 * include/grub/partition.h (grub_partition_map_iterate): Return
43217 int instead of void.
43219 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43221 * include/grub/misc.h (grub_strncmp): Change the type of N to
43224 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43227 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
43228 unsigned explicitly before comparing it with I.
43230 * kern/main.c (grub_env_write_root): Add the attribute unused into
43233 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43234 normal/completion.c.
43235 (normal_mod_SOURCES): Likewise.
43236 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43237 (normal_mod_SOURCES): Likewise.
43239 * normal/command.c (grub_iterate_commands): If ITERATE returns
43240 non-zero, return one immediately.
43242 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43244 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43245 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43247 (grub_vbe_get_controller_info): New function.
43248 (grub_vbe_get_mode_info): Likewise.
43249 (grub_vbe_set_mode): Likewise.
43250 (grub_vbe_get_mode): Likewise.
43251 (grub_vbe_set_memory_window): Likewise.
43252 (grub_vbe_get_memory_window): Likewise.
43253 (grub_vbe_set_scanline_length): Likewise.
43254 (grub_vbe_get_scanline_length): Likewise.
43255 (grub_vbe_set_display_start): Likewise.
43256 (grub_vbe_get_display_start): Likewise.
43257 (grub_vbe_set_palette_data): Likewise.
43258 * include/grub/i386/pc/vbe.h: New file.
43260 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43262 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43263 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43264 * DISTLIST: Likewise.
43265 * kern/ieee1275/of.c: Moved to ...
43266 * kern/ieee1275/ieee1275.c: ... here.
43268 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43270 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43271 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43272 Pass 0 as `end' parameter to grub_strtoul().
43274 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43276 * include/grub/powerpc/ieee1275/console.h: Do not include
43277 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43279 (grub_console_cur_color): Remove i386-specific prototype.
43280 (grub_console_real_putchar): Likewise.
43281 (grub_console_checkkey): Likewise.
43282 (grub_console_getkey): Likewise.
43283 (grub_console_getxy): Likewise.
43284 (grub_console_gotoxy): Likewise.
43285 (grub_console_cls): Likewise.
43286 (grub_console_setcursor): Likewise.
43287 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43288 Include <grub/machine/console.h>.
43289 * term/ieee1275/ofconsole.c: Likewise.
43291 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43293 * Makefile.in (LIBLZO): New variable.
43295 * configure.ac: Check for LZO version 2.
43297 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43298 lzo/lzo1x.h instead of lzo1x.h.
43300 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43303 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43304 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43306 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43307 copying the data from PARTITION to P.
43309 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43311 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43312 negative, unload the module.
43314 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43315 map is "pc_partition_map" but not "pc".
43316 (usage): Fix the description. The options are --boot-image and
43317 --core-image but not --boot-file or --core-file.
43318 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43319 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43322 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43323 --core-file. Specify INSTALL_DEVICE as an argument.
43325 * util/console.c: Include config.h.
43326 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43327 [HAVE_NCURSES_H]: Include ncurses.h.
43328 [HAVE_CURSES_H]: Include curses.h.
43329 [!A_NORMAL] (A_NORMAL): Defined as zero.
43330 [!A_STANDOUT] (A_STANDOUT): Likewise.
43332 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43334 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43336 * configure.ac: Check for curses libraries and headers.
43338 * Makefile.in (LIBCURSES): New variable.
43340 * genmk.rb (Script::rule): Set the executable bits.
43342 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43343 name of the PC partition map is "pc_partition_map" but not "pc".
43345 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43347 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43348 (modules): Likewise.
43349 (usage): Added descriptions for --modules and --grub-probefs.
43350 Handle --modules and --grub-probefs. Save the arguments in MODULES
43351 and GRUB_PROBEFS, respectively.
43352 Auto-detect a filesystem module against GRUBDIR. If the result is
43353 empty and modules are not specified explicitly, abort the
43354 installation. Add the result to MODULES.
43356 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43357 disk/powerpc/ieee1275/ofdisk.c,
43358 include/grub/powerpc/ieee1275/init.h and
43359 term/powerpc/ieee1275/ofconsole.c.
43360 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
43361 term/ieee1275/ofconsole.c.
43363 * include/grub/powerpc/ieee1275/console.h: Resurrected.
43365 * COPYING: Upgraded to the latest version. Only the address of the
43366 FSF office has changed.
43368 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43370 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43371 kern/ieee1275.c with kern/ieee1275/of.c.
43373 * kern/ieee1275.c: Moved to ...
43374 * kern/ieee1275/of.c: ... here.
43376 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
43378 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
43381 * config.guess: Updated to the latest version from gnulib.
43382 * config.sub: Likewise.
43383 * install.sh: Likewise.
43384 * mkinstalldirs: Likewise.
43386 * include/grub/console.h: Removed. This file is arch-specific. Do
43387 not put this in include/grub.
43389 * include/grub/i386/pc/console.h: Resurrected.
43391 * util/console.c: Include grub/machine/console.h instead of
43393 * util/grub-emu.c: Likewise.
43395 2005-08-04 Marco Gerards <metgerards@student.han.nl>
43397 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
43400 From Vincent Pelletier <subdino2004@yahoo.fr>
43401 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
43402 Redefined to use grub_getwh.
43403 (grub_term): New member named getwh.
43404 (grub_getwh): New prototype.
43405 * kern/term.c (grub_getwh): New function.
43406 * term/i386/pc/console.c (grub_console_getwh): New function.
43407 (grub_console_term): New member `getwh'.
43408 * term/i386/pc/vga.c (grub_vga_getwh): New function.
43409 (grub_vga_term): New member `getwh'.
43410 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
43412 (grub_ofconsole_getw): New function.
43413 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
43414 (grub_ofconsole_term): New field named getwh and new initial
43417 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
43419 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
43420 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
43421 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
43422 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
43423 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
43424 of <grub/machine/ieee1275.h>.
43425 * commands/ieee1275/reboot.c: Likewise.
43426 * boot/powerpc/ieee1275/ieee1275.c: Move ...
43427 * kern/ieee1275.c: ... to here. All users updated. Change all
43428 parameter structs to use new type `grub_ieee1275_cell_t'.
43429 * term/powerpc/ieee1275/ofconsole.c: Move ...
43430 * term/ieee1275/ofconsole.c: ... to here. All users updated.
43431 * disk/powerpc/ieee1275/ofdisk.c: Move ...
43432 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
43433 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
43435 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
43436 Remove unused prototypes. All users updated.
43437 * include/grub/powerpc/ieee1275/console.h: Removed.
43438 * include/grub/powerpc/ieee1275/ieee1275.h: Define
43439 `grub_ieee1275_cell_t'.
43440 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
43441 Cast comparisons with -1 to the correct type.
43442 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
43443 type to match `grub_ieee1275_entry_fn'.
43445 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
43447 * DISTLIST: Added util/i386/pc/grub-probefs.c.
43449 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
43450 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
43452 (grub_probefs_SOURCES): New variable.
43454 * util/i386/pc/grub-probefs.c: New file.
43456 * util/i386/pc/grub-setup.c (main): Call
43457 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
43458 grub_hfs_init and grub_jfs_init to initialize the system. Call
43459 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
43460 grub_pc_partition_map_fini to finish the system.
43462 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
43464 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
43466 (grub_multiboot_load_elf32): Likewise.
43467 (grub_multiboot_is_elf64): Likewise.
43468 (grub_multiboot_load_elf64): Likewise.
43469 (grub_multiboot_load_elf): Likewise.
43470 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
43471 an ELF32 or ELF64 file.
43472 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
43474 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
43475 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
43476 NULL before calling FS->LABEL.
43477 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
43478 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
43479 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
43480 before calling FS->LABEL.
43482 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
43484 * util/i386/pc/grub-install.in (datadir): New variable.
43486 (pkgdatadir): New variable.
43487 (pkglibdir): Removed.
43489 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
43491 * DISTLIST: Added util/i386/pc/grub-install.in.
43493 * util/i386/pc/grub-install.in: New file.
43495 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
43496 (grub_install_SOURCES): Likewise.
43498 * genmk.rb: Added support for scripts.
43499 (Script): New class.
43500 (scripts): New variable.
43502 * Makefile.in (install-local): Install sbin_SCRIPTS by
43504 (uninstall): Remove sbin_SCRIPTS.
43506 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
43507 device, try to get a GRUB device by
43508 grub_util_biosdisk_get_grub_dev.
43511 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
43512 description for --device-map.
43514 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43516 Change the semantics of variable hooks. They now return strings
43517 instead of error values.
43519 * util/i386/pc/grub-setup.c: Include grub/env.h.
43520 (setup): Use grub_device_set_root instead of grub_env_set.
43522 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
43523 grub_env_get instead of grub_device_set_root and
43524 grub_device_get_root, respectively.
43526 * kern/main.c (grub_env_write_root): New function.
43527 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
43528 grub_env_set instead of grub_device_set_root.
43530 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
43532 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
43533 rather than calling ENV->WRITE_HOOK afterwards.
43534 (grub_env_get): Return the result of ENV->READ_HOOK rather than
43535 passing a pointer of a pointer.
43536 (grub_register_variable_hook): Change the types of "read_hook" and
43537 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
43539 Allocate the default empty string on the heap, because this string
43540 may be freed later.
43542 * kern/device.c: Include grub/env.h.
43543 (grub_device_set_root): Removed.
43544 (grub_device_get_root): Likewise.
43545 (grub_device_open): Use grub_env_get instead of
43546 grub_device_get_root.
43548 * include/grub/env.h (grub_env_read_hook_t): New type.
43549 (grub_env_write_hook_t): Likewise.
43550 (grub_env_var): Change the types of "read_hook" and "write_hook"
43551 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
43552 (grub_register_variable_hook): Likewise.
43554 * include/grub/device.h (grub_device_set_root): Removed.
43555 (grub_device_set_root): Likewise.
43557 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
43558 make sure that DIRNAME terminates with '/', so that
43559 grub_fat_find_dir will fail if PATH is not a directory.
43561 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
43563 Use the qualifier auto for print_files and print_files_long.
43564 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
43566 Put a newline only if there is no error.
43567 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
43570 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43572 * kern/partition.c (grub_partition_probe): Initialize PART to
43573 NULL. Otherwise, when no partition map is registered, this returns
43576 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
43578 * partmap/apple.c (apple_partition_map_iterate): Check if POS
43579 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
43582 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
43584 * commands/ls.c (grub_ls_list_disks): Print the filesystem
43585 information on each device, if it does not have partitions. Print
43586 "Device" instead of "Disk", because this function is not specific
43589 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
43590 static to ensure that it is put on the memory rather than a
43593 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
43595 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
43596 (grub_cat_init): Likewise.
43597 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
43598 (options): Likewise.
43599 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
43600 (grub_configfile_init): Likewise.
43601 * font/manager.c (GRUB_MOD_INIT): Likewise.
43602 * commands/help.c (GRUB_MOD_INIT): Likewise.
43603 (grub_help_init): Likewise.
43604 * normal/command.c (grub_command_init): Likewise.
43605 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
43606 * disk/loopback.c (grub_loop_init): Likewise.
43607 (GRUB_MOD_INIT): Likewise.
43608 * commands/ls.c (grub_ls_init): Likewise.
43609 (GRUB_MOD_INIT): Likewise.
43610 (options): Likewise.
43611 * commands/boot.c (grub_boot_init): Likewise.
43612 (GRUB_MOD_INIT): Likewise.
43613 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
43614 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
43615 (GRUB_MOD_INIT): Likewise.
43616 * commands/cmp.c (grub_cmp_init): Likewise.
43617 (GRUB_MOD_INIT): Likewise.
43619 * normal/arg.c: Use <> instead of "" to include header files.
43620 (SHORT_ARG_HELP): New macro.
43621 (SHORT_ARG_USAGE): Likewise.
43622 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
43623 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
43625 (find_short): Check if C is 'h' or 'u' explicitly.
43626 (grub_arg_show_help): Use space characters instead of tabs. Treat
43627 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
43628 are shown with --help and --usage only if they are not used for
43629 the command itself.
43630 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
43633 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
43634 const into "longarg". Change the type of "shortarg" to int.
43636 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
43638 * boot/i386/pc/boot.S (boot_drive_check): New label.
43640 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
43643 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
43644 which do not pass a boot drive correctly. Copied from GRUB Legacy.
43646 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
43648 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
43649 When turning off Gate A20, skip the check and return immediately,
43650 because this is not fatal usually.
43652 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
43654 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
43655 be 0x7C00 instead of 0x8000.
43657 * boot/i386/pc/pxeboot.S: Rewritten.
43659 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
43661 (gate_a20_check_state): Read a byte from 0x108000. Invert the
43664 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
43666 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
43667 robustness. This routine now supports a BIOS call and System
43668 Control Port A to modify the gate A20.
43670 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43671 Increased to 0x440.
43673 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
43675 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
43676 device path and resulting ihandle.
43677 (grub_ofdisk_close): dprintf the ihandle being closed.
43678 (grub_ofdisk_read): dprintf function parameters.
43679 * kern/mm.c (grub_mm_init_region): Likewise.
43680 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
43681 (grub_linux_boot): dprintf the Linux entry point, initrd address and
43682 size, and boot arguments.
43683 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
43684 before loading into memory.
43685 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
43686 before loading into memory.
43688 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
43690 * kern/mm.c: Added much documentation.
43691 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
43692 8, set to 5 instead of 8.
43694 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
43696 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
43698 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
43699 (grub_mkdevicemap_SOURCES): New variable.
43701 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
43702 lib/device.c of GRUB Legacy.
43704 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
43706 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
43707 instead of PATH is NULL.
43709 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
43711 * commands/cmp.c (BUFFER_SIZE): New macro.
43712 (grub_cmd_cmp): Close the right file at the right time. Compare
43713 only data just read. Don't report files of different size as
43714 identical. Dynamically allocate buffers. Move variable
43715 declarations at the beginning of function.
43717 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
43719 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
43722 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
43724 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
43725 when backspace is pressed at beginning of line.
43727 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
43729 * DISTLIST: Added genfslist.sh.
43731 * normal/main.c (fs_module_list): New variable.
43732 (autoload_fs_module): New function.
43733 (read_fs_list): Likewise.
43734 (grub_normal_execute): Call read_fs_list.
43736 * kern/fs.c (grub_fs_autoload_hook): New variable.
43737 (grub_fs_probe): Added support for auto-loading.
43739 * include/grub/normal.h (struct grub_fs_module_list): New struct.
43740 (grub_fs_module_list_t): New type.
43742 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
43743 (grub_fs_autoload_hook): New prototype.
43745 * genfslist.sh: New file.
43747 * genmk.rb: Added a rule to generate a filesystem list.
43749 2005-06-30 Marco Gerards <metgerards@student.han.nl>
43751 * configure.ac: Fix the test for cross-compiling.
43753 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
43754 define GRUB_UTIL anymore.
43756 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
43757 so this function works on other systems than just big endian.
43758 (load_modules): Likewise.
43759 (add_segments): Likewise.
43761 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
43763 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
43764 contains `l' modifier, get a long from va_arg().
43766 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
43768 * kern/mm.c (grub_free): If the next free block which is being
43769 merged is the first free block, set the first block to the block
43771 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
43773 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43775 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
43776 `grub_ieee1275_chosen'.
43778 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43780 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
43781 (grub_ieee1275_chosen): New variable.
43782 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
43784 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
43785 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43786 Rename first argument to `phandle' for consistency.
43787 (grub_ieee1275_get_property_length): Likewise.
43788 (grub_ieee1275_next_property): Likewise. Change type of first argument
43789 to grub_ieee1275_phandle_t.
43790 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
43791 Move export next to declaration.
43792 (grub_ieee1275_chosen): New variable.
43793 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
43794 Correct cosmetic typo.
43795 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
43796 `grub_ieee1275_chosen'.
43797 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
43798 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
43799 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
43800 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
43801 `grub_ieee1275_chosen'.
43803 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
43805 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
43807 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
43808 /chosen/bootargs as "variable=value" pairs.
43810 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
43812 * include/grub/misc.h (grub_dprintf): New macro.
43813 (grub_real_dprintf): New prototype.
43814 (grub_strword): Likewise.
43815 (grub_iswordseparator): Likewise.
43816 * kern/misc.c (grub_real_dprintf): New function.
43817 (grub_strword): Likewise.
43818 (grub_iswordseparator): Likewise.
43820 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
43822 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
43823 (roundup): Remove macro.
43824 (grub_ieee1275_flags): Make static.
43825 (grub_ieee1275_realmode): Remove.
43826 (grub_ieee1275_test_flag): New function.
43827 (grub_ieee1275_set_flag): Likewise.
43828 (find_options): Rename to `grub_ieee1275_find_options'; update
43829 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
43830 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
43831 (cmain): New prototype.
43832 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
43833 `grub_ieee1275_flags' directly.
43834 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
43835 machine/biosdisk.h.
43836 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
43837 Don't include grub/machine/init.h.
43838 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
43839 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43841 (grub_ieee1275_realmode): Likewise.
43842 (grub_ieee1275_flag): New enum.
43843 (grub_ieee1275_test_flag): New prototype.
43844 (grub_ieee1275_set_flag): New prototype.
43845 * include/grub/powerpc/ieee1275/init.h: Remove file.
43846 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
43847 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
43848 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
43849 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
43851 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
43852 `grub_ieee1275_test_flag'.
43853 (grub_ieee1275_encode_devname): Likewise.
43855 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
43857 * include/grub/powerpc/ieee1275/ieee1275.h
43858 (grub_ieee1275_encode_devname): New prototype.
43859 (grub_ieee1275_get_filename): Likewise.
43860 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
43862 (grub_set_prefix): Likewise.
43863 (grub_machine_init): Call grub_set_prefix.
43864 * kern/powerpc/ieee1275/openfw.c: Fix typos.
43865 (grub_parse_type): New enum.
43866 (grub_ieee1275_get_devargs): New function.
43867 (grub_ieee1275_get_devname): Likewise.
43868 (grub_ieee1275_parse_args): Likewise.
43869 (grub_ieee1275_get_filename): Likewise.
43870 (grub_ieee1275_encode_devname): Likewise.
43872 2005-03-30 Marco Gerards <metgerards@student.han.nl>
43874 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
43875 `grub_loader_unset'.
43877 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
43879 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
43880 instead of grub_ieee1275_interpret.
43881 (grub_halt_init): New function.
43882 (grub_halt_fini): Likewise.
43883 (GRUB_MOD_INIT): Correct message grammar.
43884 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
43885 instead of grub_ieee1275_interpret.
43886 (grub_reboot_init): New function.
43887 (grub_reboot_fini): Likewise.
43888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
43889 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
43890 util/i386/pc/misc.c with commands/ieee1275/halt.c,
43891 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
43892 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
43894 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
43896 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
43898 (grub_halt): Likewise.
43899 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
43900 (cmain): Remove __attribute__((unused)).
43901 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
43902 (grub_heap_len): Likewise.
43903 (grub_machine_fini): New function.
43904 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
43905 (grub_halt): Likewise.
43906 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
43908 * util/powerpc/ieee1275/misc.c: New file.
43910 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43912 * DISTLIST: New file.
43913 * gendistlist.sh: Likewise.
43915 * Makefile.in (COMMON_DISTFILES): Removed.
43916 (BOOT_DISTFILES): Likewise.
43917 (CONF_DISTFILES): Likewise.
43918 (DISK_DISTFILES): Likewise.
43919 (FS_DISTFILES): Likewise.
43920 (INCLUDE_DISTFILES): Likewise.
43921 (KERN_DISTFILES): Likewise.
43922 (LOADER_DISTFILES): Likewise.
43923 (TERM_DISTFILES): Likewise.
43924 (UTIL_DISTFILES): Likewise.
43925 (DISTFILES): Likewise.
43926 (uninstall): Uninstall files in $(pkgdata_DATA).
43927 (DISTLIST): New target.
43928 (distdir): Use the contents of the file DISTLIST to get a list of
43931 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43933 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
43934 descriptor. This is ported from GRUB Legacy.
43936 * gencmdlist.sh: Added an extra semicolon to make it work with
43937 old sed versions. Reported by Robert Bihlmeyer
43938 <robbe@orcus.priv.at>.
43940 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
43942 Automatic loading of commands is supported.
43944 * normal/main.c (read_command_list): New function.
43945 (grub_normal_execute): Call read_command_list.
43947 * normal/command.c (grub_register_command): Return zero or CMD.
43948 Allocate CMD->NAME from the heap.
43949 Initialize CMD->MODULE_NAME to zero.
43950 Find the same name as well. If the same command is found and it is
43951 a dummy command, overwrite members. If it is not a dummy command,
43953 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
43954 (grub_command_find): If a dummy command is found, load a module
43955 and retry to find a command only once.
43957 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
43958 make sure that each command is loaded.
43960 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
43962 (struct grub_command): Remove const from the member `name'.
43963 Add a new member `module_name'.
43964 (grub_register_command): Return grub_command_t.
43966 * commands/help.c (grub_cmd_help): Call grub_command_find to make
43967 sure that each command is loaded.
43969 * genmk.rb (PModule::rule): Specify a module name without the
43970 suffix ".mod" to gencmdlist.sh.
43972 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43974 * gencmdlist.sh: New file.
43976 * genmk.rb (PModule::rule): Generate a rule for a command list.
43978 Generate command.lst from $(COMMANDFILES).
43980 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
43981 (DATA): Added $(pkgdata_DATA).
43982 (install-local): Install files in $(pkgdata_DATA).
43984 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43986 * term/i386/pc/vga.c (debug_command): Removed.
43987 (GRUB_MOD_INIT): Do not register the command "debug".
43989 From Hollis Blanchard:
43990 * commands/configfile.c: New file.
43991 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43992 commands/configfile.c.
43993 (pkgdata_MODULES): Added configfile.mod.
43994 (configfile_mod_SOURCES): New variable.
43995 (configfile_mod_CFLAGS): Likewise.
43996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43997 commands/configfile.c.
43998 (pkgdata_MODULES): Added configfile.mod.
43999 (configfile_mod_SOURCES): New variable.
44000 (configfile_mod_CFLAGS): Likewise.
44001 * util/grub-emu.c (main): Call grub_configfile_init and
44002 grub_configfile_fini.
44003 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44005 [GRUB_UTIL] (grub_configfile_fini): Likewise.
44007 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44009 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44012 * commands/help.c (grub_cmd_help): Do not print newlines after
44013 the last command in print_command_help.
44015 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44017 * commands/default.h: New file.
44018 * commands/timeout.h: Likewise.
44019 * normal/context.c: Likewise.
44021 * util/misc.c: Do not include sys/times.h.
44022 Include sys/time.h and grub/machine/time.h.
44023 (grub_get_rtc): Rewritten with gettimeofday.
44025 * util/grub-emu.c (main): Call grub_default_init and
44026 grub_timeout_init before grub_normal_init, and call
44027 grub_timeout_fini and grub_default_fini after grub_main.
44029 * util/console.c (grub_ncurses_checkkey): Return the read
44032 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44035 * normal/main.c (read_config_file): Push MENU. If this fails,
44036 print an error and wait for a user input.
44037 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44038 If a menu is empty or an error occurs, pop MENU.
44039 (grub_normal_execute): Pop and free MENU after grub_menu_run
44042 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44044 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44046 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44048 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44050 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44053 * include/grub/normal.h (struct grub_menu_list): New struct.
44054 (grub_menu_list_t): New type.
44055 (struct grub_context): New struct.
44056 (grub_context_t): New type.
44057 (grub_register_command): Got rid of EXPORT_FUNC.
44058 (grub_unregister_command): Likewise.
44059 (grub_context_get): New prototype.
44060 (grub_context_get_current_menu): Likewise.
44061 (grub_context_push_menu): Likewise.
44062 (grub_context_pop_menu): Likewise.
44063 [GRUB_UTIL] (grub_default_init): Likewise.
44064 [GRUB_UTIL] (grub_default_fini): Likewise.
44065 [GRUB_UTIL] (grub_timeout_init): Likewise.
44066 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44068 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44069 commands/timeout.c and normal/context.c.
44070 (pkgdata_MODULES): Added default.mod and timeout.mod.
44071 (normal_mod_SOURCES): Added normal/context.c.
44072 (default_mod_SOURCES): New variable.
44073 (default_mod_CFLAGS): Likewise.
44074 (timeout_mod_SOURCES): Likewise.
44075 (timeout_mod_CFLAGS): Likewise.
44076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44078 (pkgdata_MODULES): Added default.mod and timeout.mod.
44079 (normal_mod_SOURCES): Added normal/context.c.
44080 (default_mod_SOURCES): New variable.
44081 (default_mod_CFLAGS): Likewise.
44082 (timeout_mod_SOURCES): Likewise.
44083 (timeout_mod_CFLAGS): Likewise.
44085 * Makefile.in (all-local): Added $(MKFILES).
44087 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44089 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44090 (grub_emu_SOURCES): Likewise.
44091 (pkgdata_MODULES): Add `sun.mod'.
44092 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44095 (pkgdata_MODULES): Add `sun.mod'.
44096 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44097 * include/grub/partition.h (grub_sun_partition_map_init): New
44099 (grub_sun_partition_map_fini): Likewise.
44100 * partmap/sun.c: New file.
44101 * util/grub-emu.c (main): Initialize and de-initialize the sun
44102 partitionmap support.
44104 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44106 This implements an Emacs-like menu entry editor.
44108 * normal/menu_entry.c: New file.
44110 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44111 characters to ASCII.
44112 (saved_char): New variable.
44113 (grub_ncurses_checkkey): Rewritten completely.
44114 (grub_ncurses_getkey): Likewise.
44115 (grub_ncurses_init): Call raw instead of cbreak.
44117 * normal/menu.c (print_entry): Do not put a space.
44118 (init_page): Renamed to ...
44119 (grub_menu_init_page): ... this. All callers changed.
44120 (edit_menu_entry): Removed.
44121 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44123 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44125 * kern/misc.c (grub_vprintf): Call grub_refresh.
44127 * normal/menu.c (DISP_LEFT): Renamed to ...
44128 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44129 * normal/menu.c (DISP_UP): Renamed to ...
44130 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44131 * normal/menu.c (DISP_RIGHT): Renamed to ...
44132 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44133 * normal/menu.c (DISP_DOWN): Renamed to ...
44134 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44135 * normal/menu.c (DISP_HLINE): Renamed to ...
44136 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44137 * normal/menu.c (DISP_VLINE): Renamed to ...
44138 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44139 * normal/menu.c (DISP_UL): Renamed to ...
44140 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44141 * normal/menu.c (DISP_UR): Renamed to ...
44142 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44143 * normal/menu.c (DISP_LL): Renamed to ...
44144 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44145 * normal/menu.c (DISP_LR): Renamed to ...
44146 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44147 * normal/menu.c (TERM_WIDTH): Renamed to ...
44148 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44149 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44150 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44151 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44152 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44153 * normal/menu.c (TERM_MARGIN): Renamed to ...
44154 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44155 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44156 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44157 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44158 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44159 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44160 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44161 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44162 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44163 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44164 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44165 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44166 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44167 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44168 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44169 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44170 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44171 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44172 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44173 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44174 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44175 All callers changed.
44177 * include/grub/normal.h: New prototype.
44179 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44180 normal/menu_entry.c.
44181 (normal_mod_SOURCES): Likewise.
44182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44183 (normal_mod_SOURCES): Likewise.
44185 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44187 * include/grub/normal.h (grub_halt_init): New prototype.
44188 (grub_halt_fini): Likewise.
44189 (grub_reboot_init): Likewise.
44190 (grub_reboot_fini): Likewise.
44192 * util/grub-emu.c: Include signal.h.
44193 (main_env): New global variable.
44194 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44196 (grub_machine_fini): New function.
44197 (main): Call grub_halt_init and grub_reboot_init before
44198 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44199 Call setjmp with MAIN_ENV to go back afterwards.
44200 Call grub_machine_fini right before return.
44202 * include/grub/util/misc.h: Include setjmp.h.
44203 (main_env): New prototype.
44205 * include/grub/kernel.h (grub_machine_fini): New prototype.
44206 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44207 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44209 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44210 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44211 * term/i386/pc/console.c (grub_console_fini): Likewise.
44213 * util/i386/pc/misc.c: New file.
44215 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44216 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44217 commands/i386/pc/reboot.c.
44219 2005-02-14 Guillem Jover <guillem@hadrons.org>
44221 * include/grub/dl.h (grub_dl_check_header): New prototype.
44222 (grub_arch_dl_check_header): Change return type to grub_err_t,
44223 remove size parameter and export function. Update all callers.
44224 * kern/dl.c (grub_dl_check_header): New function.
44225 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44226 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44227 are inside the core.
44228 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44229 independent ELF header checks.
44230 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44231 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44232 `grub_dl_check_header' instead of explicit checks. Check for the
44234 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44235 `grub_dl_check_header' instead of explicit checks. Remove arch
44236 specific ELF header checks.
44238 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44241 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44243 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44244 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44246 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44248 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
44249 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
44250 (part_map_iterate): Clear `grub_errno' and return 0 if
44251 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
44252 * partmap/amiga.c (amiga_partition_map_iterate): Return
44253 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44254 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44256 2005-02-01 Guillem Jover <guillem@hadrons.org>
44258 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44261 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44263 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44265 (grub_rescue_cmd_linux): New prototype.
44266 (grub_rescue_cmd_initrd): Likewise.
44267 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44269 (grub_linux_release_mem): Release the memory for the initrd.
44270 (grub_load_linux): Renamed from this...
44271 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44272 Changed `entry' not to be static. Loop over memory regions to
44273 find another one when the default fails.
44274 (grub_rescue_cmd_initrd): New function.
44275 (grub_linux_init): Remove function.
44276 (grub_linux_fini): Likewise.
44277 (GRUB_MOD_INIT): Register `initrd'.
44278 (GRUB_MOD_FINI): Unregister `initrd'.
44279 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44281 (grub_linux_normal_fini): Likewise.
44282 (GRUB_MOD_INIT): Register `initrd'.
44283 (GRUB_MOD_FINI): Unregister `initrd'.
44285 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44287 * commands/help.c: New file.
44288 * normal/arg.c (show_help): Renamed to...
44289 (grub_arg_show_help): ... this.
44290 * commands/i386/pc/halt.c: New file.
44291 * commands/i386/pc/reboot.c: Likewise.
44292 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44293 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44294 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44295 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44299 (pkgdata_MODULES): Add `help.mod'.
44300 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44301 * grub/i386/pc/init.h (grub_reboot): New prototype.
44302 (grub_halt): Likewise.
44303 * include/grub/normal.h (grub_arg_show_help): New prototype.
44304 (grub_help_init): Likewise.
44305 (grub_help_fini): Likewise.
44306 * util/grub-emu.c (main): Initialize and deinitialize the help
44309 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44311 * normal/command.c (grub_command_init): Fixed the description of
44312 the `set' and `unset' commands.
44314 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44316 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44318 * commands/ieee1275/halt.c: New file.
44319 * commands/ieee1275/reboot.c: Likewise.
44320 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44321 `__attribute__ ((unused))'. Some GCS related fixed.
44322 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44323 (grub_suspend_fini): Likewise.
44324 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44326 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44327 (halt_mod_CFLAGS): New variables.
44328 * include/grub/powerpc/ieee1275/ieee1275.h
44329 (grub_ieee1275_interpret): New prototype.
44331 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44333 * include/grub/misc.h (memmove): New prototype.
44334 (memcpy): Likewise.
44336 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44338 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44339 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44341 2005-01-22 Marco Gerards <metgerards@student.han.nl>
44343 * kern/misc.c (grub_strndup): Function rewritten.
44345 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44347 * normal/menu.c (TERM_WIDTH): Macro redefined.
44348 (TERM_TOP_BORDER_Y): Likewise.
44349 (draw_border): Replaced while-loop by a for-loop. Make the number
44350 of lines consistent with the number of lines displayed in
44351 print_entries. Added a margin below the rectangle.
44352 (print_entry): Make the entry fit in the rectangle.
44353 (print_entries): Display the scroll arrows next to the right
44356 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44358 * fs/minix.c (grub_minix_find_file): Reserve more space for
44359 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
44360 `grub_strncpy' to copy `path' into it.
44362 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44364 Add the loopback device, a device via which files can be accessed
44367 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
44368 (pkgdata_MODULES): Add loopback.mod.
44369 (loopback_mod_SOURCES): New variable.
44370 (loopback_mod_CFLAGS): Likewise.
44371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44373 (pkgdata_MODULES): Add loopback.mod.
44374 (loopback_mod_SOURCES): New variable.
44375 (loopback_mod_CFLAGS): Likewise.
44376 * disk/loopback.c: new file.
44377 * include/grub/normal.h (grub_loop_init): New prototype.
44378 (grub_loop_fini): New prototype.
44379 * util/grub-emu.c (main): Initialize and de-initialize loopback
44381 * include/grub/disk.h (grub_disk_dev_id): Add
44382 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
44384 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
44386 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
44388 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
44389 (suspend_mod_SOURCES): New variable.
44390 (suspend_mod_CFLAGS): Likewise.
44391 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
44393 * commands/ieee1275/suspend.c: New file.
44395 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44397 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
44398 ((unused))' to `__attribute__ ((used))'.
44399 (GRUB_MOD_FINI): Likewise.
44400 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
44401 * genmk.rb (PModule): Assign space to common symbols when linking
44404 2005-01-20 Marco Gerards <metgerards@student.han.nl>
44406 * include/grub/mm.h (grub_mm_init_region): Change the type of the
44407 `unsigned' arguments to `grub_size_t'.
44408 (grub_malloc): Likewise.
44409 (grub_realloc): Likewise.
44410 (grub_memalign): Likewise.
44411 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
44412 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44413 * util/misc.c (grub_malloc): Likewise.
44414 (grub_realloc): Likewise.
44415 * kern/mm.c (get_header_from_pointer): Change the casts to
44416 `unsigned' into a cast to `grub_size_t'.
44418 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
44419 point to `currnode' when `currnode' is changed.
44421 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
44422 Schottelius <nico-linux@schottelius.org>.
44424 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
44426 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
44427 (note_path): Remove variable.
44428 (GRUB_IEEE1275_NOTE_NAME): New macro.
44429 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
44430 (grub_ieee1275_note_hdr): New structure.
44431 (grub_ieee1275_note_desc): Likewise.
44432 (grub_ieee1275_note): Likewise.
44433 (load_note): Remove `dir' argument. All callers updated. Remove
44434 `note_img' and `path'. Do not load a file from `note_path'.
44435 Initialize a struct grub_ieee1275_note and write that to `out'.
44436 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
44438 2005-01-05 Marco Gerards <metgerards@student.han.nl>
44440 * util/misc.c (grub_util_read_image): Revert last change. It
44441 called `grub_util_read_at', which seeks from the beginning of the
44444 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
44446 * TODO: Add note about endianness in grub-mkimage.
44447 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
44449 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
44450 (grub_mkimage_SOURCES): New target.
44451 * include/grub/kernel.h (grub_start_addr): Remove variable.
44452 (grub_end_addr): Likewise.
44453 (grub_total_module_size): Likewise.
44454 (grub_kernel_image_size): Likewise.
44455 (GRUB_MODULE_MAGIC): New constant.
44456 (grub_module_info): New structure.
44457 (grub_arch_modules_addr): New prototype.
44458 (grub_get_end_addr): Remove prototype.
44459 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
44460 * include/grub/powerpc/ieee1275/kernel.h: New file.
44461 * include/grub/util/misc.h (grub_util_get_fp_size): New
44463 (grub_util_read_at): Likewise.
44464 (grub_util_write_image_at): Likewise.
44465 * kern/main.c (grub_get_end_addr): Remove function.
44466 (grub_load_modules): Call grub_arch_modules_addr instead of using
44467 grub_end_addr. Look for a grub_module_info struct in memory. Use
44468 the grub_module_info fields instead of calling grub_get_end_addr
44469 as loop conditions. Move grub_add_unused_region code here.
44470 (grub_add_unused_region): Remove function.
44471 * kern/i386/pc/init.c: Include grub/cache.h.
44472 (grub_machine_init): Remove call to grub_get_end_addr. Remove
44473 one call to add_mem_region.
44474 (grub_arch_modules_addr): New function.
44475 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
44476 (grub_total_module_size): Likewise.
44477 Include grub/machine/kernel.h.
44478 (grub_arch_modules_addr): New function.
44479 * util/grub-emu.c (grub_end_addr): Remove variable.
44480 (grub_total_module_size): Likewise.
44481 (grub_arch_modules_addr): New function.
44482 * util/misc.c: Include unistd.h.
44483 (grub_util_get_fp_size): New function.
44484 (grub_util_read_at): Likewise.
44485 (grub_util_write_image_at): Likewise.
44486 (grub_util_read_image): Call grub_util_read_at.
44487 (grub_util_write_image): Call grub_util_write_image_at.
44488 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
44489 additional memory in kernel_img for a struct grub_module_info.
44490 Fill in that grub_module_info.
44491 * util/powerpc/ieee1275/grub-mkimage.c: New file.
44493 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44495 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
44497 * include/grub/powerpc/ieee1275/ieee1275.h
44498 (grub_ieee1275_milliseconds): New prototype.
44499 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
44501 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
44502 grub_ieee1275_milliseconds.
44504 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44506 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
44508 (find_options): New function.
44509 (cmain): Call find_options.
44510 * include/grub/powerpc/ieee1275/ieee1275.h
44511 (grub_ieee1275_realmode): New extern variable.
44512 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
44513 grub_map if grub_ieee1275_realmode is false.
44515 2004-12-29 Marco Gerards <metgerards@student.han.nl>
44517 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
44518 lines are inserted and make it work like readline. Reported by
44519 Vincent Pelletier <subdino2004@yahoo.fr>.
44521 2004-12-28 Marco Gerards <metgerards@student.han.nl>
44523 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
44525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
44526 `kern/powerpc/cache.S'.
44528 2004-12-27 Marco Gerards <metgerards@student.han.nl>
44530 * genmk.rb: Handle the `Program' class in the main loop. Written
44531 by Johan Rydberg <jrydberg@gnu.org>.
44532 (Program): New class.
44533 (programs): New variable.
44534 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
44535 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
44536 instead of "grub/kernel.h". Include <grub/machine/init.h>.
44537 (help_arch): Function removed.
44538 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
44539 `powerpc/libgcc.h' and `loader.h'.
44540 (pkgdata_PROGRAMS): New variable.
44541 (sbin_UTILITIES): Variable removed.
44542 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
44543 (grubof_SOURCES): Variable re-defined so it only includes the
44544 core functionality.
44545 (grubof_CFLAGS): Remove `-DGRUBOF'.
44546 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
44547 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
44548 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
44549 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
44550 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
44551 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
44552 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
44553 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
44554 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
44555 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
44556 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44557 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
44558 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
44559 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
44560 (pc_mod_CFLAGS): New variables.
44561 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
44562 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
44563 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
44564 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
44566 * include/grub/i386/pc/init.h (grub_os_area_addr)
44567 (rub_os_area_size): ... to here.
44568 * include/grub/powerpc/ieee1275/ieee1275.h
44569 (grub_ieee1275_entry_fn): Export symbol.
44570 * include/grub/powerpc/ieee1275/init.h: New file.
44571 * include/grub/powerpc/libgcc.h: Likewise.
44572 * include/grub/cache.h: Likewise.
44573 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
44574 <hollis@penguinppc.org>.
44575 * kern/dl.c: Include <grub/cache.h>.
44576 (grub_dl_flush_cache): New function.
44577 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
44579 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
44580 (grub_console_init): Removed prototypes.
44581 (grub_machine_init): Don't initialize the modules anymore.
44582 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
44584 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
44585 Macro undef removed.
44586 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
44587 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
44588 relocation `R_PPC_REL32'. Return an error when the relocation is
44590 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
44591 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
44592 * util/misc.c (grub_arch_sync_caches): Likewise.
44594 2004-12-19 Marco Gerards <metgerards@student.han.nl>
44596 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
44597 `symlist.c', add `grubof_symlist.c'.
44598 (symlist.c): Variable removed.
44599 (grubof_HEADERS): Variable added.
44600 (grubof_symlist.c): New target.
44601 (kernel_syms.lst): Use `grubof_HEADERS' instead of
44602 `kernel_img_HEADERS'.
44603 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
44604 * kern/powerpc/dl.c: New file.
44605 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
44607 (grub_arch_dl_relocate_symbols): Likewise.
44608 (grub_register_exported_symbols): Likewise.
44610 2004-12-13 Marco Gerards <metgerards@student.han.nl>
44612 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
44613 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
44614 to fail instead. Reported by Vincent Pelletier
44615 <subdino2004@yahoo.fr>.
44617 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
44618 it is not allocated. Reported by Vincent Pelletier
44619 <subdino2004@yahoo.fr>.
44621 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
44622 output so the output looks better.
44624 2004-12-04 Marco Gerards <metgerards@student.han.nl>
44626 Modulize the partition map support and add support for the amiga
44629 * commands/ls.c: Include <grub/partition.h> instead of
44630 <grub/machine/partition.h>.
44631 * kern/disk.c: Likewise.
44632 * kern/rescue.c: Likewise.
44633 * loader/i386/pc/chainloader.c: Likewise.
44634 * normal/cmdline.c: Likewise.
44635 * kern/powerpc/ieee1275/init.c: Likewise.
44636 (grub_machine_init): Call `grub_pc_partition_map_init',
44637 `grub_amiga_partition_map_init' and
44638 `grub_apple_partition_map_init'.
44639 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
44640 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
44641 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
44642 `partition.h' and `pc_partition.h'.
44643 (grub_setup_SOURCES): Remove
44644 `disk/i386/pc/partition.c'. Add `kern/partition.c',
44645 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44646 (grub_emu_SOURCES): Likewise.
44647 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
44648 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
44649 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
44650 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44651 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
44652 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44653 (grubof_SOURCES): Likewise.
44654 * disk/i386/pc/partition.c: File removed.
44655 * disk/powerpc/ieee1275/partition.c: Likewise.
44656 * include/grub/powerpc/ieee1275/partition.h: Likewise.
44657 * include/grub/i386/pc/partition.h: Likewise.
44658 * kern/partition.c: New file.
44659 * partmap/amiga.c: Likewise.
44660 * partmap/apple.c: Likewise.
44661 * partmap/pc.c: Likewise.
44662 * include/grub/partition.h: Likewise..
44663 * include/grub/pc_partition.h: Likewise.
44664 * util/grub-emu.c: Include <grub/partition.h> instead of
44665 <grub/machine/partition.h>.
44666 (main): Call `grub_pc_partition_map_init',
44667 `grub_amiga_partition_map_init' and
44668 `grub_apple_partition_map_init' and deinitialize afterwards.
44669 * util/i386/pc/biosdisk.c: Include `#include
44670 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44671 `<grub/machine/partition.h>'.
44672 * util/i386/pc/grub-setup.c: Likewise.
44673 * util/i386/pc/biosdisk.c: Likewise.
44674 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
44675 partition information in case of a PC partition.
44676 * util/i386/pc/grub-setup.c: Include `#include
44677 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44678 `<grub/machine/partition.h>'.
44679 (setup): Only access the PC specific partition information in case
44682 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
44684 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
44685 (grub_longjmp): Likewise.
44686 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
44688 * normal/powerpc/setjmp.S: New file.
44689 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44690 `normal/powerpc/setjmp.S'.
44691 (grubof_CFLAGS): Add `-DGRUBOF'.
44692 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
44693 [GRUB_UTIL && !GRUBOF].
44695 2004-11-16 Marco Gerards <metgerards@student.han.nl>
44697 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
44698 property named `name'. Correctly handle the error returned by
44699 `grub_ieee1275_finddevice' if a device can not be opened.
44701 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
44703 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
44704 `actual' for negativity.
44705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44708 2004-11-01 Marco Gerards <metgerards@student.han.nl>
44710 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
44711 (PAGE_OFFSET): New macro.
44712 (CRTC_ADDR_PORT): Likewise.
44713 (CRTC_DATA_PORT): Likewise.
44714 (START_ADDR_HIGH_REGISTER): Likewise.
44715 (START_ADDR_LOW_REGISTER): Likewise.
44716 (GRAPHICS_ADDR_PORT): Likewise.
44717 (GRAPHICS_DATA_PORT): Likewise.
44718 (READ_MAP_REGISTER): Likewise.
44719 (INPUT_STATUS1_REGISTER): Likewise.
44720 (INPUT_STATUS1_VERTR_BIT): Likewise.
44721 (page): New variable.
44722 (wait_vretrace): New function.
44723 (set_read_map): Likewise.
44724 (set_start_address): Likewise.
44725 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
44727 (check_vga_mem): Take the page into account.
44728 (write_char): Likewise.
44729 (write_cursor): Likewise.
44730 (scroll_up): Likewise. Copy the page to the page that is not
44731 shown and switch between both pages.
44732 (grub_vga_putchar): Fix off by one error.
44733 (grub_vga_cls): Wait for the vertical retrace. Take the page into
44736 2004-11-01 Marco Gerards <metgerards@student.han.nl>
44738 Add support for iso9660 (including rockridge).
44740 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44741 (iso9660_mod_SOURCES): New variable.
44742 (iso9660_mod_CFLAGS): Likewise.
44743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44744 * include/grub/fs.h (grub_iso9660_init): New prototype.
44745 * util/grub-emu.c (main): Call `grub_iso9660_init'.
44746 * fs/iso9660.c: New file.
44748 * include/grub/misc.h (grub_strncat): New prototype.
44749 * kern/misc.c (grub_strncat): New function.
44751 * fs/hfs.c (grub_hfs_mount): Translate the error
44752 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
44753 * fs/jfs.c (grub_jfs_mount): Likewise.
44754 * fs/ufs.c (grub_ufs_mount): Likewise.
44756 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
44758 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
44759 which initialized BAT registers.
44760 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
44761 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44763 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
44764 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44766 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
44767 (grub_mapclaim): Likewise.
44768 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
44769 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
44772 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
44774 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
44775 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
44776 -ffreestanding and -msoft-float.
44778 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
44780 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
44781 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
44782 set in grub_ieee1275_flags.
44784 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
44786 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
44788 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
44789 grub_console_init first.
44790 Change the memory range used for grub_ieee1275_claim and
44791 grub_mm_init_region.
44792 Print an error message if the claim fails.
44793 Include <grub/misc.h>.
44795 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
44797 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
44798 Call grub_children_iterate for device nodes of type `scsi',
44800 (grub_ofdisk_open): Remove manual device alias resolution.
44801 Fix memory leak when device cannot be opened.
44802 * include/grub/powerpc/ieee1275/ieee1275.h
44803 (grub_children_iterate): New prototype.
44804 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
44806 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44807 Return -1 if args.size was -1.
44809 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44811 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
44812 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
44813 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
44814 Open Firmware's memory for it; claim memory from _start to _end.
44815 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
44816 (_end): New extern.
44817 (_start): Zero BSS from __bss_start to _end.
44818 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44820 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
44822 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44824 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
44825 -1 if args.base was -1.
44827 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
44829 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
44830 escape sequence instead of a literal ^L. Also call
44831 grub_ofconsole_gotoxy.
44833 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
44835 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
44836 void * arguments to grub_addr_t. All callers updated. Also make
44837 the `result' argument optional.
44838 (grub_ieee1275_release): change void * arguments to grub_addr_t.
44839 All callers updated.
44841 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
44843 * commands/ls.c (grub_ls_list_files): Use the string following the
44844 initial ')', if present, as the filesystem path.
44845 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
44847 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
44849 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
44851 Make the source code of the menu interface more readable.
44853 * normal/menu.c: Include grub/mm.h.
44854 (TERM_WIDTH): New macro.
44855 (TERM_HEIGHT): Likewise.
44856 (TERM_INFO_HEIGHT): Likewise.
44857 (TERM_MARGIN): Likewise.
44858 (TERM_SCROLL_WIDTH): Likewise.
44859 (TERM_TOP_BORDER_Y): Likewise.
44860 (TERM_LEFT_BORDER_X): Likewise.
44861 (TERM_BORDER_WIDTH): Likewise.
44862 (TERM_MESSAGE_HEIGHT): Likewise.
44863 (TERM_BORDER_HEIGHT): Likewise.
44864 (TERM_NUM_ENTRIES): Likewise.
44865 (TERM_FIRST_ENTRY_Y): Likewise.
44866 (TERM_ENTRY_WIDTH): Likewise.
44867 (TERM_CURSOR_X): Likewise.
44868 (draw_border): Use macros instead of magic numbers.
44869 (print_entry): Likewise.
44870 (print_entries): Likewise.
44871 (run_menu): Likewise. Also, handle the key 'e'.
44872 (run_menu_entry): Ignore empty command lines.
44873 (print_message): Added a new argument EDIT. If EDIT is true,
44874 print a different message.
44875 (init_page): Likewise.
44876 (edit_menu_entry): New function. Not implemented yet.
44878 2004-09-17 Marco Gerards <metgerards@student.han.nl>
44880 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
44881 can be loaded from normal mode.
44883 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
44885 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
44886 (multiboot_mod_CFLAGS): New variables.
44887 * loader/i386/pc/linux_normal.c: New file.
44888 * loader/i386/pc/multiboot_normal.c: Likewise.
44890 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
44891 attribute `unused'.
44893 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
44894 `fdiro' to read the mode information from instead of `diro'.
44896 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
44897 looking up a symlink.
44899 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
44901 * normal/command.c (grub_command_execute): Don't parse the
44902 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
44903 flags of the command.
44905 * normal/menu.c (grub_menu_run): Fix typo.
44907 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
44909 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
44911 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
44912 `y + 1' instead of `y - 1'.
44914 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
44916 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
44918 From Hollis Blanchard <hollis@penguinppc.org>:
44919 * kern/misc.c (memmove): New alias for grub_memmove.
44920 (memcmp): New alias for grub_memcmp.
44921 (memset): New alias for grub_memset.
44922 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44923 Change "int handle" to "grub_ieee1275_phandle_t handle".
44924 * include/grub/powerpc/ieee1275/ieee1275.h
44925 (grub_ieee1275_get_property): Likewise.
44927 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
44929 Added normal mode command `chainloader' as module chain.mod, which
44930 depends on normal.mod and _chain.mod.
44932 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
44933 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
44934 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
44936 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
44937 but arguments parsing moved to ...
44938 (grub_chainloader_cmd): ... here. New function.
44939 * include/grub/i386/pc/chainloader.h: New file.
44940 * loader/i386/pc/chainloader_normal.c: Likewise.
44942 2004-09-11 Marco Gerards <metgerards@student.han.nl>
44944 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
44945 (grub_mkimage_LDFLAGS): Likewise.
44946 (grub_emu_SOURCES): Likewise.
44947 (kernel_img_HEADERS): Added fshelp.h.
44948 * fs/ext2.c: Include <grub/fshelp.h>.
44949 (FILETYPE_REG): New macro.
44950 (FILETYPE_INO_REG): Likewise.
44951 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
44953 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
44955 (grub_fshelp_node): New struct.
44956 (grub_ext2_data): Added member `diropen'. Changed member `inode'
44958 (grub_ext2_get_file_block): Removed function.
44959 (grub_ext2_read_block): New function.
44960 (grub_ext2_read_file): Replaced parameter `data' by `node'.
44961 This function was written.
44962 (grub_ext2_mount): Read the root inode. Create a diropen struct.
44963 (grub_ext2_find_file): Removed function.
44964 (grub_ext2_read_symlink): New function.
44965 (grub_ext2_iterate_dir): Likewise.
44966 (grub_ext2_open): Rewritten.
44967 (grub_ext2_dir): Rewritten.
44968 * include/grub/fshelp.h: New file.
44969 * fs/fshelp.c: Likewise.
44971 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
44973 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
44974 (print_message): Add a missing newline.
44975 (run_menu): Added timeout support.
44976 (run_menu_entry): New local function.
44977 (grub_menu_run): Added support for booting.
44979 * kern/loader.c (grub_loader_is_loaded): New function.
44981 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
44982 (grub_get_rtc): Exported.
44984 * include/grub/i386/pc/time.h: Include grub/symbol.h.
44985 (grub_get_rtc): Exported.
44987 * include/grub/normal.h (struct grub_command_list): Remove
44988 constant from the member `command'.
44990 * include/grub/loader.h (grub_loader_is_loaded): Declared.
44992 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
44994 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
44996 2004-08-28 Marco Gerards <metgerards@student.han.nl>
44998 Add support for the JFS filesystem.
45000 * fs/jfs.c: New file.
45001 * include/grub/fs.h (grub_jfs_init): New prototype.
45002 (grub_jfs_fini): New prototype.
45003 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45004 (grub_emu_SOURCES): Likewise.
45005 (pkgdata_MODULES): Add jfs.mod.
45006 (jfs_mod_SOURCES): New variable.
45007 (jfs_mod_CFLAGS): Likewise.
45008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45009 (grubof_SOURCES): Likewise.
45010 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45012 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45013 endian to the host endian.
45014 (grub_fat_utf16_to_utf8): Move function from there...
45015 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
45016 the endianness of the source string anymore.
45017 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45019 2004-08-24 Marco Gerards <metgerards@student.han.nl>
45021 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45022 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45023 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45024 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
45026 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45027 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45028 for `node_found' and `it_dir'.
45029 (grub_hfs_dir): Add prototype for `dir_hook'.
45031 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45032 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45033 and `indir32' to silence a gcc warning.
45035 * include/grub/fs.h (grub_hfs_init): New prototype.
45036 (grub_hfs_fini): Likewise.
45039 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45041 Each disk device has its own id now. This is useful to make use
45042 of multiple disk devices.
45044 * include/grub/disk.h (grub_disk_dev_id): New enum.
45045 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45046 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45048 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45049 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45051 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45052 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45054 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45055 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45057 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45058 "id" which is used by the cache manager.
45060 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45063 2004-08-18 Marco Gerards <metgerards@student.han.nl>
45065 * fs/hfs.c: New file.
45066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45067 (grub_emu_SOURCES): Likewise.
45068 (pkgdata_MODULES): Add hfs.mod.
45069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45070 (grubof_SOURCES): Likewise.
45071 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45073 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45074 * kern/misc.c (grub_strncasecmp): Add function.
45076 2004-08-14 Marco Gerards <metgerards@student.han.nl>
45078 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45081 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45082 (grub_ext2_dir): In case the directory entry type is unknown, read
45085 2004-08-02 Peter Bruin <pjbruin@dds.nl>
45087 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45088 grub_load_linux instead of grub_rescue_cmd_linux as second
45089 argument of grub_rescue_register_command.
45091 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45093 2004-07-27 Marco Gerards <metgerards@student.han.nl>
45095 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45097 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45098 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45099 `loader/powerpc/ieee1275/linux.c',
45100 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45101 * include/grub/powerpc/ieee1275/ieee1275.h
45102 (grub_ieee1275_release): New prototype.
45103 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45104 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45105 normal, boot, linux and linux_normal.
45106 * loader/powerpc/ieee1275/linux.c: New file.
45107 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45109 2004-07-12 Marco Gerards <metgerards@student.han.nl>
45111 * normal/arg.c (grub_arg_parse): Correct error handling after
45112 reallocating the argumentlist (check if `argl' is not null instead
45113 of checking if `args' is not null).
45114 * kern/mm.c (grub_realloc): Return the same pointer when using the
45115 same region, instead of returning the header address.
45117 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45119 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45120 one block instead of two when looking for the initial partition.
45121 (grub_partition_probe): Initialize the local variable `p' with 0.
45122 Use base 10 for the grub_strtoul call.
45123 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45124 need for one local variable.
45125 (grub_strtoul): Don't add the new value to `num', instead of that
45128 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45130 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45131 (pxeboot_img_SOURCES): New variable.
45132 (pxeboot_img_ASFLAGS): Likewise.
45133 (pxeboot_img_LDFLAGS): Likewise.
45134 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45135 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45136 <lode_leroy@hotmail.com>.
45138 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45140 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45141 there was no input.
45143 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45145 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45146 the history buffer logic.
45148 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45150 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45151 (FILETYPE_INO_SYMLINK): New macros.
45152 (grub_ext2_find_file): Check if the node is a directory using the
45153 inode stat information instead of using the filetype in the
45154 dirent. Exclude the first character of an absolute symlink.
45155 (grub_ext2_dir): Mask out the filetype part of the mode member of
45158 2004-05-24 Marco Gerards <metgerards@student.han.nl>
45160 Add support for UFS version 1 and 2. Add support for the minix
45161 filesystem version 1 and 2, both the variants with 14 and 30 long
45164 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45166 (grub_emu_SOURCES): Likewise.
45167 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45168 (ufs_mod_SOURCES): New variable.
45169 (ufs_mod_CFLAGS): Likewise.
45170 (minix_mod_SOURCES): Likewise.
45171 (minix_mod_CFLAGS): Likewise.
45172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45174 (grubof_SOURCES): Likewise.
45175 * fs/ufs.c: New file.
45176 * fs/minix.c: New file.
45177 * include/grub/fs.h (grub_ufs_init): New prototype.
45178 (grub_ufs_fini): Likewise.
45179 (grub_minix_init): Likewise.
45180 (grub_minix_fini): Likewise.
45181 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45184 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45187 commands/ls.c, commands/terminal.c, commands/boot.c,
45188 commands/cmp.c and commands/cat.c.
45189 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45191 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45194 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45196 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45197 and grub_, respectively. Because the conversion is trivial and
45198 mechanical, I omit the details here. Please refer to the CVS
45199 if you need more information.
45201 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45203 * include/pupa: Renamed to ...
45204 * include/grub: ... this.
45205 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45206 * util/i386/pc/grub-mkimage.c: ... this.
45207 * util/i386/pc/pupa-setup.c: Renamed to ...
45208 * util/i386/pc/grub-setup.c: ... this.
45209 * util/pupa-emu.c: Renamed to ...
45210 * util/grub-emu.c: ... this.
45212 2004-03-29 Marco Gerards <metgerards@student.han.nl>
45214 Add support for the newworld apple macintosh (PPC). This has been
45215 tested on the powerbook 2000 only. It only adds support for
45216 generic ieee1275 functions, console and disk support. This should
45217 be easy to port to other architectures with support for Open
45220 * configure.ac: Accept the powerpc as host_cpu. In the case of
45221 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45222 specific tests are only executed while building for the i386.
45223 Inverse test for crosscompile.
45224 * genmk.rb (Utility): Allow assembler files.
45225 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45226 * conf/powerpc-ieee1275.rmk: New file.
45227 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45228 * disk/powerpc/ieee1275/partition.c: Likewise.
45229 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45230 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45231 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45232 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45233 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45234 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45235 * include/pupa/powerpc/ieee1275/loader.h
45236 * include/pupa/powerpc/setjmp.h: Likewise.
45237 * include/pupa/powerpc/types.h: Likewise.
45238 * kern/powerpc/ieee1275/init.c: Likewise.
45239 * kern/powerpc/ieee1275/openfw.c: Likewise.
45240 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45242 These files were written by Johan Rydberg
45243 (jrydberg@night.trouble.net) and I only modified them slightly.
45245 * boot/powerpc/ieee1275/cmain.c: New file.
45246 * boot/powerpc/ieee1275/crt0.S: Likewise.
45247 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45248 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45250 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45252 * Makefile.in: Update copyright.
45253 * genmodsrc.sh: Likewise.
45254 * gensymlist.sh: Likewise.
45255 * term/i386/pc/vga.c: Indent correctly.
45257 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45258 bugreporting address.
45259 * util/i386/pc/pupa-setup.c (usage): Likewise,
45260 (main): Call pupa_ext2_init and pupa_ext2_fini.
45262 * fs/fat.c (log2): Renamed to ...
45263 (fat_log2): ... this.
45264 All callers changed.
45265 * kern/misc.c (memcpy): Alias to pupa_memmove.
45266 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45268 * util/console.c (pupa_ncurses_fini): Return 0.
45270 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45271 Move fail label here.
45272 [__GNU__]: Don't warn when using stat.
45273 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45274 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45275 long int. Use strtol instead of strtoul.
45277 2004-03-14 Marco Gerards <metgerards@student.han.nl>
45279 * commands/boot.c: New file.
45280 * commands/cat.c: Likewise.
45281 * commands/cmp.c: Likewise.
45282 * commands/ls.c: Likewise.
45283 * commands/terminal.c: Likewise.
45284 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45285 (pupa_register_command): Changed interface to match the new
45287 (pupa_command_execute): Changed (almost rewritten) so it uses
45288 pupa_split_command. Added support for setting variables using the
45290 (rescue_command): Changed to work with the new argument parser.
45291 (terminal_command): Moved from here to commands/terminal.c.
45292 (set_command): New function.
45293 (unset_command): New function.
45294 (insmod_command): New function.
45295 (rmmod_command): New function.
45296 (lsmod_command): New function.
45297 (pupa_command_init): Don't initialize the command terminal
45298 anymore. Initialize the commands set, unset, insmod, rmmod and
45300 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45301 (kernel_img_HEADERS): Add arg.h and env.h.
45302 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45303 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45304 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45306 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45308 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45309 (boot_mod_SOURCES): New variable.
45310 (terminal_mod_SOURCES): Likewise.
45311 (ls_mod_SOURCES): Likewise.
45312 (cmp_mod_SOURCES): Likewise.
45313 (cat_mod_SOURCES): Likewise.
45315 * normal/arg.c: New file.
45316 * kern/env.c: Likewise.
45317 * include/pupa/arg.h: Likewise.
45318 * include/pupa/env.h: Likewise.
45319 * font/manager.c (font_command): Changed to match argument parsing
45321 (PUPA_MOD_INIT): Likewise.
45322 * hello/hello.c (pupa_cmd_hello): Likewise.
45323 (PUPA_MOD_INIT): Likewise.
45324 * include/pupa/disk.h: Include <pupa/device.h>.
45325 (pupa_print_partinfo): New prototype.
45326 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45327 (pupa_dl_get_prefix): Likewise.
45328 * include/pupa/misc.h: Include <pupa/err.h>.
45329 (pupa_isgraph): New prototype.
45330 (pupa_isdigit): Likewise.
45331 (pupa_split_cmdline): Likewise.
45332 * include/pupa/normal.h: Include <pupa/arg.h>.
45333 (pupa_command): Changed the prototype of the member `func' to
45334 match the argument parsing interface. Added member `options'.
45335 (pupa_register_command): Updated to match function.
45336 (pupa_arg_parse): New prototype.
45337 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45338 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45339 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45340 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45341 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45342 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45343 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45344 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45345 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45346 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45347 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45348 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45349 * kern/disk.c: Include <pupa/file.h>.
45350 (pupa_print_partinfo): New function.
45351 * kern/dl.c: Include <pupa/env.h>.
45352 (pupa_dl_dir): Variable removed.
45353 (pupa_dl_load): Use the environment variable `prefix' instead of
45354 the variable pupa_dl_dir.
45355 (pupa_dl_set_prefix): Function removed.
45356 (pupa_dl_get_prefix): Likewise.
45357 * kern/i386/pc/init.c: Include <pupa/env.h>.
45358 (pupa_machine_init): Use the environment variable `prefix' instead of
45359 using pupa_dl_set_prefix to set the prefix.
45360 * kern/main.c: Include <pupa/env.h>.
45361 (pupa_set_root_dev): Use the environment variable `prefix' instead of
45362 using pupa_dl_get_prefix to get the prefix.
45363 * kern/misc.c: Include <pupa/env.h>.
45364 (pupa_isdigit): New function.
45365 (pupa_isgraph): Likewise.
45366 (pupa_ftoa): Likewise.
45367 (pupa_vsprintf): Added support for printing values of the type
45368 `double'. Make it possible to format variable output when using
45369 formatting like `%1.2%f'.
45370 (pupa_split_cmdline): New function.
45371 * kern/rescue.c: Include <pupa/env.h>.
45372 (next_word): Removed function.
45373 (pupa_rescue_cmd_prefix): Likewise.
45374 (pupa_rescue_cmd_set): New function.
45375 (pupa_rescue_cmd_unset): New function.
45376 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
45377 split the command line instead of splitting it here. Added
45378 support for setting variables using the syntax `foo=bar'. Don't
45379 initialize the prefix command anymore. Initialized the set and
45381 * normal/cmdline.c: Include <pupa/env.h>.
45382 (pupa_tab_complete): Added prototypes for print_simple_completion,
45383 print_partition_completion, add_completion, iterate_commands,
45384 iterate_dev, iterate_part and iterate_dir. Moved code to print
45385 partition information from here to kern/disk.c.
45386 (pupa_cmdline_run): Don't check if the function exists anymore.
45387 * normal/main.c: Include <pupa/env.h>.
45388 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
45389 instead of using pupa_dl_get_prefix to get the prefix.
45390 * term/i386/pc/vga.c: Include <pupa/arg.h>.
45391 (check_vga_mem): Cast pointers to `void *' to silence a gcc
45393 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
45394 (pupa_vga_setcolor): Declare unused variables with `__attribute__
45395 ((unused))' to silence a gcc warning.
45396 (pupa_vga_setcolor): Likewise.
45397 (debug_command): Changed to match argument parsing
45399 * util/pupa-emu.c: Include <pupa/env.h>.
45400 (options): Added 0's for unused fields to silence a gcc warning.
45402 (main): Use the environment variable `prefix' instead of using
45403 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
45404 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
45407 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
45408 * util/misc.c: Include <malloc.h>.
45409 (pupa_malloc): Rewritten so errors are correctly reported.
45410 (pupa_realloc): Likewise.
45411 (pupa_memalign): Likewise.
45412 (pupa_mm_init_region): Declare unused variables with
45413 `__attribute__ ((unused))' to silence a gcc warning.
45414 * normal/i386/setjmp.S: Remove tab at the end of the file to
45415 silence a gcc warning.
45416 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
45417 variables with `__attribute__ ((unused))' to silence a gcc
45419 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
45420 local variable i unsigned to silence a gcc warning.
45422 * kern/term.c: Include <pupa/misc.h>.
45423 (pupa_more_lines): New variable.
45424 (pupa_more): Likewise.
45425 (pupa_putcode): When the pager is active pause at the end of every
45427 (pupa_set_more): New function.
45428 * include/pupa/term.h (pupa_set_more): New prototype.
45431 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
45433 Now this project is GRUB 2 rather than PUPA. The location of
45434 the CVS repository was moved to GRUB's.
45436 * configure.ac: Use bug-grub as the reporting address.
45437 Use GRUB instead of PUPA.
45438 Change the version number to 1.90.
45440 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
45442 * genkernsyms.sh: Updated copyright information.
45443 * genmk.rb: Likewise.
45444 * genmodsrc.sh: Likewise.
45445 * gensymlist.sh: Likewise.
45446 * boot/i386/pc/boot.S: Likewise.
45447 * boot/i386/pc/diskboot.S: Likewise.
45448 * disk/i386/pc/biosdisk.c: Likewise.
45449 * disk/i386/pc/partition.c: Likewise.
45450 * font/manager.c: Likewise.
45451 * fs/ext2.c: Likewise.
45452 * fs/fat.c: Likewise.
45453 * include/pupa/boot.h: Likewise.
45454 * include/pupa/device.h: Likewise.
45455 * include/pupa/disk.h: Likewise.
45456 * include/pupa/dl.h: Likewise.
45457 * include/pupa/elf.h: Likewise.
45458 * include/pupa/err.h: Likewise.
45459 * include/pupa/file.h: Likewise.
45460 * include/pupa/font.h: Likewise.
45461 * include/pupa/fs.h: Likewise.
45462 * include/pupa/kernel.h: Likewise.
45463 * include/pupa/loader.h: Likewise.
45464 * include/pupa/misc.h: Likewise.
45465 * include/pupa/mm.h: Likewise.
45466 * include/pupa/net.h: Likewise.
45467 * include/pupa/normal.h: Likewise.
45468 * include/pupa/rescue.h: Likewise.
45469 * include/pupa/setjmp.h: Likewise.
45470 * include/pupa/symbol.h: Likewise.
45471 * include/pupa/term.h: Likewise.
45472 * include/pupa/types.h: Likewise.
45473 * include/pupa/i386/setjmp.h: Likewise.
45474 * include/pupa/i386/types.h: Likewise.
45475 * include/pupa/i386/pc/biosdisk.h: Likewise.
45476 * include/pupa/i386/pc/boot.h: Likewise.
45477 * include/pupa/i386/pc/console.h: Likewise.
45478 * include/pupa/i386/pc/init.h: Likewise.
45479 * include/pupa/i386/pc/kernel.h: Likewise.
45480 * include/pupa/i386/pc/linux.h: Likewise.
45481 * include/pupa/i386/pc/loader.h: Likewise.
45482 * include/pupa/i386/pc/memory.h: Likewise.
45483 * include/pupa/i386/pc/multiboot.h: Likewise.
45484 * include/pupa/i386/pc/partition.h: Likewise.
45485 * include/pupa/i386/pc/time.h: Likewise.
45486 * include/pupa/i386/pc/vga.h: Likewise.
45487 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
45488 * include/pupa/util/getroot.h: Likewise.
45489 * include/pupa/util/misc.h: Likewise.
45490 * include/pupa/util/resolve.h: Likewise.
45491 * kern/device.c: Likewise.
45492 * kern/disk.c: Likewise.
45493 * kern/dl.c: Likewise.
45494 * kern/err.c: Likewise.
45495 * kern/file.c: Likewise.
45496 * kern/fs.c: Likewise.
45497 * kern/loader.c: Likewise.
45498 * kern/main.c: Likewise.
45499 * kern/misc.c: Likewise.
45500 * kern/mm.c: Likewise.
45501 * kern/rescue.c: Likewise.
45502 * kern/term.c: Likewise.
45503 * kern/i386/dl.c: Likewise.
45504 * kern/i386/pc/init.c: Likewise.
45505 * kern/i386/pc/lzo1x.S: Likewise.
45506 * kern/i386/pc/startup.S: Likewise.
45507 * loader/i386/pc/chainloader.c: Likewise.
45508 * loader/i386/pc/linux.c: Likewise.
45509 * loader/i386/pc/multiboot.c: Likewise.
45510 * normal/cmdline.c: Likewise.
45511 * normal/command.c: Likewise.
45512 * normal/main.c: Likewise.
45513 * normal/menu.c: Likewise.
45514 * normal/i386/setjmp.S: Likewise.
45515 * term/i386/pc/console.c: Likewise.
45516 * term/i386/pc/vga.c: Likewise.
45517 * util/console.c: Likewise.
45518 * util/genmoddep.c: Likewise.
45519 * util/misc.c: Likewise.
45520 * util/pupa-emu.c: Likewise.
45521 * util/resolve.c: Likewise.
45522 * util/unifont2pff.rb: Likewise.
45523 * util/i386/pc/biosdisk.c: Likewise.
45524 * util/i386/pc/getroot.c: Likewise.
45525 * util/i386/pc/pupa-mkimage.c: Likewise.
45526 * util/i386/pc/pupa-setup.c: Likewise.
45528 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
45530 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
45531 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
45532 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
45533 reading and reset it after reading.
45534 (pupa_ext2_close): Return PUPA_ERR_NONE.
45536 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
45538 (struct linux_kernel_header): Add kernel_version and
45540 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
45541 pupa_file_read succeeds.
45542 (pupa_rescue_cmd_initrd): Implement.
45544 2003-12-03 Marco Gerards <metgerards@student.han.nl>
45546 * fs/ext2.c (pupa_ext2_label): New function.
45547 (pupa_ext2_fs): Added label.
45548 * fs/fat.c (pupa_fat_label): New function.
45549 (pupa_fat_fs): Added label.
45550 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
45552 * kern/misc.c (pupa_strndup): New function.
45553 * include/pupa/misc.h (pupa_strndup): New prototype.
45555 * include/pupa/normal.h: Include <pupa/err.h>.
45556 (pupa_set_history): New prototype.
45557 (pupa_iterate_commands): New prototype.
45558 * normal/cmdline.c: Include <pupa/machine/partition.h>,
45559 <pupa/disk.h>, <pupa/file.h>.
45560 (hist_size): New variable.
45561 (hist_lines): Likewise.
45562 (hist_end): Likewise.
45563 (hist_used): Likewise.
45564 (pupa_set_history): New function.
45565 (pupa_history_get): Likewise.
45566 (pupa_history_add): Likewise.
45567 (pupa_history_replace): Likewise.
45568 (pupa_tab_complete): Likewise.
45569 (pupa_cmdline_run): Added tab completion and history buffer. Tab
45570 completion shows partitionnames while completing partitions, this
45571 feature was suggested by Jeff Bailey.
45572 * normal/command.c (pupa_iterate_commands): New function.
45573 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
45574 (pupa_normal_init): Initialize history buffer.
45575 (PUPA_MOD_INIT): Likewise.
45576 (pupa_normal_fini): Free the history buffer.
45577 (PUPA_MOD_FINI): Likewise.
45579 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
45582 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
45583 * configure.ac [i386]: Check for regparam bug.
45584 (NESTED_FUNC_ATTR) [! i386]: Defined.
45586 2003-11-17 Marco Gerards <metgerards@student.han.nl>
45588 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
45589 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
45590 (pupa_emu_SOURCES): New variable.
45591 (pupa_emu_LDFLAGS): Likewise.
45592 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
45593 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
45594 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
45595 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45596 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
45597 (pupa_jmp_buf): New typedef.
45598 (pupa_setjmp) [PUPA_UTIL]: New macro.
45599 (pupa_longjmp) [PUPA_UTIL]: Likewise.
45600 * include/pupa/term.h (struct pupa_term): New member `refresh'.
45601 (pupa_refresh): New prototype.
45602 * include/pupa/util/getroot.h: New file.
45603 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
45605 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
45606 (pupa_rescue_cmd_cat): Likewise.
45607 (pupa_rescue_cmd_ls): Likewise.
45608 (pupa_rescue_cmd_testload): Likewise.
45609 (pupa_rescue_cmd_lsmod): Likewise.
45610 * normal/cmdline.c (pupa_cmdline_get): Likewise.
45611 * normal/menu.c (run_menu): Likewise.
45612 * kern/term.c (pupa_cls): Likewise.
45613 (pupa_refresh): New function.
45614 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
45615 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45616 * util/console.c: New file.
45618 * util/i386/pc/getroot.c: New file.
45619 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
45620 (pupa_putchar): New function.
45621 (pupa_refresh): Likewise.
45622 (xgetcwd): Function moved to ...
45623 (strip_extra_slashes): Likewise.
45624 (get_prefix): Likewise.
45625 * util/i386/pc/getroot.c: ... here.
45626 (find_root_device): Function moved and renamed to...
45627 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
45628 Changed all callers.
45629 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
45631 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
45632 Changed all callers.
45633 * util/misc.c (pupa_memalign): New function.
45634 (pupa_mm_init_region): Likewise.
45635 (pupa_register_exported_symbols): Likewise.
45636 (pupa_putchar): Function removed.
45637 * util/pupa-emu.c: New file.
45639 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
45641 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
45642 (_multiboot_mod_SOURCES): New variable.
45643 (_multiboot_mod_CFLAGS): Likewise.
45644 * loader/i386/pc/multiboot.c: New file.
45645 * include/pupa/i386/pc/multiboot.h: Likewise.
45646 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
45647 (pupa_multiboot_real_boot): New function.
45648 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
45649 (pupa_multiboot_real_boot): New prototype.
45650 (pupa_rescue_cmd_multiboot): Likewise
45651 (pupa_rescue_cmd_module): Likewise.
45653 * kern/loader.c (pupa_loader_set): Continue when
45654 pupa_loader_unload_func() fails.
45655 (pupa_loader_unset): New function.
45656 * include/pupa/loader.h (pupa_loader_unset): New prototype.
45658 * kern/misc.c (pupa_stpcpy): New function.
45659 * include/pupa/misc.h (pupa_stpcpy): New prototype.
45661 2003-11-12 Marco Gerards <metgerards@student.han.nl>
45663 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
45664 for available extensions.
45666 * include/pupa/i386/pc/time.h: New file.
45667 * kern/disk.c: Include <pupa/machine/time.h>.
45668 (PUPA_CACHE_TIMEOUT): New macro.
45669 (pupa_last_time): New variable.
45670 (pupa_disk_open): Flush the cache when there was a timeout.
45671 (pupa_disk_close): Reset the timer.
45672 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
45674 * util/misc.c: Include <sys/times.h>
45675 (pupa_get_rtc): New function.
45677 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45679 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
45681 (pupa_ext2_get_file_block): Use blocks member.
45683 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
45684 first block. Return -1 instead of pupa_errno on error.
45686 2003-10-27 Marco Gerards <metgerards@student.han.nl>
45688 * README: In the pupa-mkimage example use _chain instead of chain
45689 and ext2 instead of fat.
45690 * TODO: Replace ext2fs with jfs as an example. Add an item for
45691 adding journal playback for ext2fs.
45692 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
45693 (pkgdata_MODULES): Added ext2.mod.
45694 (ext2_mod_SOURCES): New variable.
45695 (ext2_mod_CFLAGS): Likewise.
45696 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
45697 * include/pupa/misc.h (pupa_strncpy): New prototype.
45698 (pupa_strcat): Likewise.
45699 (pupa_strncmp): Likewise.
45700 * kern/misc.c (pupa_strcat): Enable function.
45701 (pupa_strncpy): New function.
45702 (pupa_strncmp): Likewise.
45703 * fs/ext2.c: New file.
45705 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
45706 when the read failed before retrying.
45707 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
45708 (_FILE_OFFSET_BITS): Likewise.
45709 * configure.ac: Added AC_SYS_LARGEFILE.
45711 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45713 * genmk.rb (PModule#rule): Make sure to get only symbol names
45714 from the output of nm.
45715 Reported by Robert Millan <rmh.grub@aybabtu.com>.
45717 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45719 I forgot to check in these changes for a long time. This adds
45720 incomplete support for VGA console, and this is still very
45721 buggy. Also, a lot of consideration is required for I18N,
45722 UNICODE, and VGA font issues. Therefore, assume that this is
45723 such that "better than nothing".
45725 * font/manager.c: New file.
45726 * include/pupa/font.h: Likewise.
45727 * include/pupa/i386/pc/vga.h: Likewise.
45728 * term/i386/pc/vga.c: Likewise.
45729 * util/unifont2pff.rb: Likewise.
45731 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
45732 (pkgdata_MODULES): Added vga.mod and font.mod.
45733 (vga_mod_SOURCES): New variables.
45734 (vga_mod_CFLAGS): Likewise.
45735 (font_mod_SOURCES): Likewise.
45736 (font_mod_CFLAGS): Likewise.
45738 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
45740 * include/pupa/term.h: Include pupa/err.h.
45741 (struct pupa_term): Added init and fini.
45742 Changed the argument of putchar to pupa_uint32_t.
45744 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
45745 (pupa_console_real_putchar): New prototype.
45746 (pupa_console_putchar): Removed.
45747 (pupa_console_checkkey): Exported.
45748 (pupa_console_getkey): Likewise.
45750 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
45753 * kern/term.c (pupa_term_set_current): Rewritten.
45754 (pupa_putchar): Likewise.
45755 (pupa_putcode): New function.
45757 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
45758 (pupa_console_real_putchar): ... this.
45759 (pupa_vga_set_mode): New function.
45760 (pupa_vga_get_font): Likewise.
45762 * normal/command.c: Include pupa/term.h.
45763 (terminal_command): New function.
45764 (pupa_command_init): Register the command "terminal".
45766 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
45767 (DISP_UP): Likewise.
45768 (DISP_RIGHT): Likewise.
45769 (DISP_DOWN): Likewise.
45770 (DISP_HLINE): Likewise.
45771 (DISP_VLINE): Likewise.
45772 (DISP_UL): Likewise.
45773 (DISP_UR): Likewise.
45774 (DISP_LL): Likewise.
45775 (DISP_LR): Likewise.
45777 * term/i386/pc/console.c (pupa_console_putchar): New function.
45779 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
45781 * util/resolve.c (pupa_util_resolve_dependencies): BUG
45782 FIX. Reverse the path_list.
45784 * include/pupa/normal.h: Export pupa_register_command and
45785 pupa_unregister_command.
45787 * hello/hello.c (pupa_cmd_hello): New module.
45788 * conf/i386-pc.rmk: Added hello.mod.
45790 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
45792 * kern/i386/pc/lzo1x.S: New file.
45794 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
45795 (compress_kernel): New variable.
45796 (generate_image): Heavily modified to support compressing a
45797 large part of the core image.
45799 * util/misc.c (pupa_util_read_image): Fix a file descriptor
45801 (pupa_util_load_image): New function.
45803 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
45804 (pupa_compressed_size): New variable.
45805 (codestart): Enable Gate A20 here.
45806 Decompress the compressed part of the core image.
45807 Rearrange the code to put functions and variables which are
45808 required for initialization in the non-compressed part.
45811 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
45814 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
45816 * include/pupa/i386/pc/kernel.h
45817 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
45818 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
45819 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45820 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45821 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
45823 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
45825 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
45826 (Utility#rule): Likewise.
45828 * configure.ac: Check if LZO is available.
45830 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
45832 * include/pupa/normal.h: New file.
45833 * include/pupa/setjmp.h: Likewise.
45834 * include/pupa/i386/setjmp.h: Likewise.
45835 * normal/cmdline.c: Likewise.
45836 * normal/command.c: Likewise.
45837 * normal/main.c: Likewise.
45838 * normal/menu.c: Likewise.
45839 * normal/i386/setjmp.S: Likewise.
45841 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
45842 (pupa_rescue_cmd_initrd): Likewise.
45844 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
45847 * kern/i386/pc/startup.S (translation_table): New variable.
45848 (translate_keycode): New function.
45849 (pupa_console_getkey): Call translate_keycode.
45851 * kern/rescue.c (attempt_normal_mode): New function.
45852 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
45853 it failed, print a message.
45855 * kern/mm.c (pupa_real_malloc): Print more information when a
45856 free magic is broken.
45857 (pupa_free): If the first free header is not free actually, set
45860 * kern/main.c (pupa_load_normal_mode): Just load the module
45862 (pupa_main): Don't print the message
45863 "Entering into rescue mode..." here.
45865 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
45867 (pupa_rescue_cmd_initrd): Likewise.
45868 (pupa_rescue_cmd_initrd): Likewise.
45870 * include/pupa/symbol.h (FUNCTION): Specify the type.
45871 (VARIABLE): Likewise.
45873 * include/pupa/err.h (pupa_err_t): Added
45874 PUPA_ERR_UNKNOWN_COMMAND.
45876 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
45877 (pupa_dl_get_prefix): Likewise.
45879 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
45880 Added _chain.mod and _linux.mod instead of chain.mod and
45882 (chain_mod_SOURCES): Renamed to ...
45883 (_chain_mod_SOURCES): ... this.
45884 (chain_mod_CFLAGS): Renamed to ...
45885 (_chain_mod_CFLAGS): ... this.
45886 (linux_mod_SOURCES): Renamed to ...
45887 (_linux_mod_SOURCES): ... this.
45888 (linux_mod_CFLAGS): Renamed to ...
45889 (_linux_mod_CFLAGS): ... this.
45890 (normal_mod_SOURCES): New variable.
45891 (normal_mod_CFLAGS): Likewise.
45892 (normal_mod_ASFLAGS): Likewise.
45894 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
45896 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
45899 * kern/dl.c (pupa_dl_ref): Refer depending modules
45901 (pupa_dl_unref): Unrefer depending modules recursively.
45902 Don't call pupa_dl_unload implicitly, because PUPA can crash if
45903 a module is unloaded before one depending on that module is
45905 (pupa_dl_unload): Unload depending modules explicitly,
45908 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
45910 * include/pupa/i386/pc/linux.h: New file.
45911 * loader/i386/pc/linux.c: Likewise.
45913 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
45915 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
45916 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
45917 of PUPA_CHAINLOADER_BOOT_SECTOR.
45919 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
45920 (pupa_linux_prot_size): New variable.
45921 (pupa_linux_tmp_addr): Likewise.
45922 (pupa_linux_real_addr): Likewise.
45923 (pupa_linux_boot_zimage): New function.
45924 (pupa_linux_boot_bzimage): Likewise.
45926 * kern/i386/pc/init.c (struct mem_region): New structure.
45927 (MAX_REGIONS): New macro.
45928 (mem_regions): New variable.
45929 (num_regions): Likewise.
45930 (pupa_os_area_addr): Likewise.
45931 (pupa_os_area_size): Likewise.
45932 (pupa_lower_mem): Likewise.
45933 (pupa_upper_mem): Likewise.
45934 (add_mem_region): New function.
45935 (compact_mem_regions): Likewise.
45936 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
45937 the size of the conventional memory and that of so-called upper
45938 memory (before the first memory hole).
45939 Instead of adding each found region to free memory, use
45940 add_mem_region and add them after removing overlaps.
45941 Also, add only 1/4 of the upper memory to free memory. The rest
45942 is used for loading OS images. Maybe this is ad hoc, but this
45943 makes it much easier to relocate OS images when booting.
45945 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
45946 (pupa_enter_rescue_mode): Don't register initrd and module.
45948 * kern/mm.c: Include pupa/dl.h.
45950 * kern/main.c: Include pupa/file.h and pupa/device.h.
45952 * kern/loader.c (pupa_loader_load_module_func): Removed.
45953 (pupa_loader_load_module): Likewise.
45955 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
45958 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
45959 (pupa_linux_tmp_addr): Likewise.
45960 (pupa_linux_real_addr): Likewise.
45961 (pupa_linux_boot_zimage): Likewise.
45962 (pupa_linux_boot_bzimage): Likewise.
45964 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
45965 (pupa_upper_mem): Likewise.
45966 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
45967 module is too dangerous.
45969 * include/pupa/loader.h (pupa_os_area_addr): Declared.
45970 (pupa_os_area_size): Likewise.
45971 (pupa_loader_set): Remove the first argument. Loader doesn't
45972 manage modules or initrd any longer.
45973 (pupa_loader_load_module): Removed.
45975 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
45976 (linux_mod_SOURCES): New variable.
45977 (linux_mod_CFLAGS): Likewise.
45979 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
45981 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
45982 the length of a blocklist correctly.
45984 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
45985 Use ioctl only if the OS file is a block device.
45986 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
45987 not very useful for normal files.
45989 * kern/main.c (pupa_set_root_dev): New function.
45990 (pupa_load_normal_mode): Likewise.
45991 (pupa_main): Call those above.
45993 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
45996 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
45998 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46000 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46001 (setup): Configure the installed partition information and the
46004 * loader/i386/pc/chainloader.c (my_mod): New variable.
46005 (pupa_chainloader_unload): New function.
46006 (pupa_rescue_cmd_chainloader): Refer itself.
46007 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46009 * kern/i386/pc/startup.S (install_partition): Removed.
46010 (version_string): Likewise.
46011 (config_file): Likewise.
46012 (pupa_install_dos_part): New variable.
46013 (pupa_install_bsd_part): Likewise.
46014 (pupa_prefix): Likewise.
46015 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46017 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46019 (make_install_device): New function.
46020 (pupa_machine_init): Set the dl prefix.
46022 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46023 (buf): Renamed to ...
46024 (linebuf): ... this.
46025 (pupa_rescue_cmd_prefix): New function.
46026 (pupa_rescue_cmd_insmod): Likewise.
46027 (pupa_rescue_cmd_rmmod): Likewise.
46028 (pupa_rescue_cmd_lsmod): Likewise.
46029 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46032 * kern/mm.c (pupa_memalign): If failed even after invalidating
46033 disk caches, unload unneeded modules and retry.
46035 * kern/misc.c (pupa_memmove): New function.
46036 (pupa_memcpy): Removed.
46037 (pupa_strcpy): New function.
46038 (pupa_itoa): Made static.
46040 * kern/dl.c (pupa_dl_iterate): New function.
46041 (pupa_dl_ref): Likewise.
46042 (pupa_dl_unref): Likewise.
46043 (pupa_dl_unload): Return if succeeded or not.
46044 (pupa_dl_unload_unneeded): New function.
46045 (pupa_dl_unload_all): Likewise.
46046 (pupa_dl_init): Renamed to ...
46047 (pupa_dl_set_prefix): ... this.
46048 (pupa_dl_get_prefix): New function.
46050 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46051 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46052 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46053 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46054 (pupa_install_dos_part): Declared.
46055 (pupa_install_bsd_part): Likewise.
46056 (pupa_prefix): Likewise.
46057 (pupa_boot_drive): Likewise.
46059 * include/pupa/types.h: Fix a typo.
46061 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46063 (pupa_memmove): Declared.
46064 (pupa_strcpy): Likewise.
46066 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46067 pupa_mod_init takes one argument, its own module.
46068 (pupa_dl_unload_unneeded): Declared.
46069 (pupa_dl_unload_all): Likewise.
46070 (pupa_dl_ref): Likewise.
46071 (pupa_dl_unref): Likewise.
46072 (pupa_dl_iterate): Likewise.
46073 (pupa_dl_init): Renamed to ...
46074 (pupa_dl_set_prefix): ... this.
46075 (pupa_dl_get_prefix): Declared.
46077 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
46078 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
46080 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46081 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46083 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46084 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46086 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46088 * util/i386/pc/pupa-setup.c (setup): Define the internal
46089 function find_first_partition_start at the top level, because GCC
46090 3.0.x cannot compile internal functions in deeper scopes
46092 (find_root_device): Use lstat instead of stat.
46093 Don't follow symbolic links.
46094 Fix the path-constructing code.
46096 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46097 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46098 by a BLKGETSIZE ioctl first, because block devices don't fill
46099 the member st_mode of the structure stat on Linux.
46100 [__linux__] (linux_find_partition): Use a temporary buffer
46101 REAL_DEV for the working space. Copy it to DEV before returning.
46102 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46103 buffer cache consistent.
46104 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46105 strncmp. The previous value was merely wrong.
46106 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46108 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46109 FAT size is 12. The previous value was merely wrong.
46111 * kern/main.c (pupa_main): Don't split the starting message from
46114 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46115 LF, because BIOS goes crazy about character attributes in this
46118 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46120 * include/i386/pc/util/biosdisk.h: New file.
46121 * util/i386/pc/biosdisk.c: Likewise.
46122 * util/i386/pc/pupa-setup.c: Likewise.
46124 * Makefile.in (INCLUDE_DISTFILES): Added
46125 include/pupa/i386/pc/util/biosdisk.h.
46126 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46127 directory util/i386/pc.
46128 (install-local): Added a rule for sbin_UTILITIES.
46129 (uninstall): Likewise.
46131 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46133 * util/misc.c (xrealloc): New function.
46134 (pupa_malloc): Likewise.
46135 (pupa_free): Likewise.
46136 (pupa_realloc): Likewise.
46137 (pupa_stop): Likewise.
46138 (pupa_putchar): Likewise.
46140 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46142 * include/pupa/util/misc.h (xrealloc): Declared.
46144 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46146 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46147 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46149 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46150 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46152 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46153 way should be implemented.
46154 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46156 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46157 the size of NAME for safety.
46158 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46161 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46162 (pupa_setup_SOURCES): Likewise.
46164 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46166 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46168 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46169 bunch of pushl's from pusha, because this destroys the return
46172 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46174 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46175 This means that any missing prototypes could be fatal. Also, you
46176 must take care when writing assembly code. See the comments at
46177 the beginning of startup.S, for more details.
46179 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46180 compilation mechanism.
46181 (pupa_chainloader_real_boot): Likewise.
46182 (pupa_biosdisk_rw_int13_extensions): Likewise.
46183 (pupa_biosdisk_rw_standard): Likewise.
46184 (pupa_biosdisk_check_int13_extensions): Likewise.
46185 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46186 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46187 (pupa_get_memsize): Likewise.
46188 (pupa_get_mmap_entry): Likewise.
46189 (pupa_console_putchar): Likewise.
46190 (pupa_console_setcursor): Likewise.
46191 (pupa_getrtsecs): Use pushl instead of push.
46193 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46194 memory instead of the stack for a mmap entry, because some
46195 BIOSes may ignore the maximum size and overflow.
46197 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46199 * genmk.rb (PModule#rule): Compile automatically generated
46200 sources with module-specific CFLAGS as well as other sources.
46202 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46204 * configure.ac: Check ld.
46205 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46206 respectively, before checking endianness and sizes.
46208 * Makefile.in (LD): New variable.
46210 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46212 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46214 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46216 * Changelog: New file.