1 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4 (grub_add_tab): New function.
5 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6 * util/grub.d/10_illumos.in: Likewise.
7 * util/grub.d/10_kfreebsd.in: Likewise.
8 * util/grub.d/10_linux.in: Likewise.
9 * util/grub.d/10_netbsd.in: Likewise.
10 * util/grub.d/10_windows.in: Likewise.
11 * util/grub.d/10_xnu.in: Likewise.
12 * util/grub.d/20_linux_xen.in: Likewise.
13 * util/grub.d/30_os-prober.in: Likewise.
15 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
19 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
20 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
21 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
23 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
26 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
28 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
30 Reported by: BURETTE, Bernard.
32 2012-09-17 Colin Watson <cjwatson@debian.org>
34 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
37 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
39 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
40 IEEE1275 machines. Fixes powerpc-emu compilation.
41 * include/grub/terminfo.h: Likewise.
43 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
45 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
47 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
49 (efiemu_set_variable): Make vendor_guid a const pointer.
51 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
53 Don't require grub-mkconfig_lib to generate manpages for programs.
55 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
56 dependencies, don't add grub-mkconfig_lib.
57 (program): Pass empty adddeps.
58 (script): Pass grub-mkconfig_lib as adddeps.
60 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
62 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
63 * util/getroot.c (grub_find_device): Likewise.
64 (get_mdadm_uuid): Likewise.
65 (grub_util_is_imsm): Likewise.
66 (grub_util_pull_device): Likewise.
67 * util/grub-probe.c (probe): Likewise.
69 2012-09-10 Benoit Gschwind <gschwind>
71 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
72 (devs): Add devpath_8.
74 2012-09-08 Peter Jones <pjones@redhat.com>
76 * grub-core/Makefile.core.def (efifwsetup): New module.
77 * grub-core/commands/efi/efifwsetup.c: New file.
78 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
79 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
81 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
83 2012-09-05 Jiri Slaby <jslaby@suse.cz>
85 * configure.ac: Add SuSe path.
87 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
91 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
93 * util/import_gcry.py: Sort cipher_files, to make build system
94 generation more deterministic.
96 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
98 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
99 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
100 (grub_set_datetime): Likewise.
102 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
104 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
107 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
109 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
111 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
113 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
115 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
117 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
118 required for checkouts from bzr, but it may be useful for users or
119 distributors wishing to update translations against a tarball
120 distribution, and it can be helpful for the tarball to be a superset
123 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
125 * Makefile.am (EXTRA_DIST): Add
126 grub-core/tests/boot/linux.init-mips.S,
127 grub-core/tests/boot/linux.init-ppc.S, and
128 grub-core/tests/boot/linux-ppc.cfg.
130 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
132 * grub-core/mmap/mips/loongson: Remove empty directory.
134 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
136 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
139 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
141 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
144 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
146 * configure.ac: Strengthen the test for working -nostdinc -isystem.
148 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
150 * po/POTFILES.in: Regenerated.
152 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
154 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
155 (NetBSD): New subsection.
157 2012-07-22 Ales Nesrsta <starous@volny.cz>
159 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
160 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
162 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
164 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
165 * util/grub.d/10_hurd.in: Add missing quoting.
166 * util/grub.d/10_illumos.in: Likewise.
167 * util/grub.d/10_kfreebsd.in: Likewise.
168 * util/grub.d/10_linux.in: Likewise.
169 * util/grub.d/20_linux_xen.in: Likewise.
171 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
175 * grub-core/Makefile.core.def (lsefi): New module.
176 * grub-core/commands/efi/lsefi.c: New file.
177 * include/grub/efi/api.h: Add more GUIDs.
179 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
181 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
182 (grub_bsd_elf32_hook): Likewise.
183 (grub_bsd_elf64_size_hook): Likewise.
184 (grub_bsd_elf64_hook): Likewise.
185 (grub_bsd_load_elf): Likewise.
187 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
189 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
190 if hash function is unavailable.
191 (dec_stream_header): Likewise.
193 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
195 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
198 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
200 Fix coreboot compilation.
202 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
203 (grub_vga_text_init_real): ... this.
204 (grub_vga_text_fini): Rename to ...
205 (grub_vga_text_fini_real): ... this.
207 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
209 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
211 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
213 * grub-core/lib/legacy_parse.c: Support clear and testload.
215 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
217 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
219 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
221 * grub-core/fs/ext2.c: Experimental support for 64-bit.
223 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
225 * grub-core/net/tftp.c (ack): Fix endianness problem.
226 (tftp_receive): Likewise.
227 Reported by: Michael Davidsaver.
229 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
231 * gentpl.py: Make mans depend on grub-mkconfig_lib.
233 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
235 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
236 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
237 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
239 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
241 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
243 Reported by: Stuart Hayes.
245 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
247 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
249 * grub-core/Makefile.core.def (mda_text): New module.
250 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
251 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
252 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
253 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
255 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
256 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
257 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
259 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
261 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
263 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
265 * grub-core/term/i386/vga_common.c: Removed.
266 * include/grub/i386/vga_common.h: Likewise.
267 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
268 (grub_vga_cr_bw_read): Likewise.
269 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
270 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
271 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
272 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
273 grub_vga_cr_read/grub_vga_cr_write.
274 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
276 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
278 * configure.ac: Bump version to 2.00.
279 * grub-core/normal/main.c (features): Add feature_200_final.
281 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
282 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
284 * NEWS: Fix unclarity and language mistakes.
286 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
288 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
289 additional size to 3 pages.
290 Reported by: Stuart Hayes.
292 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
294 * NEWS: Add 2.00 entry.
296 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
298 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
299 put explicit "/" for empty path.
300 (wildcard_expand): Improve dprintf.
302 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
304 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
305 it's equal to currnode. This can happen with "" symlink.
307 2012-06-27 Yves Blusseau <blusseau@zetam.org>
309 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
310 echo shell command by printf command.
312 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
314 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
315 the value returned by firmware is the maximal position, not diumension.
316 (grub_terminfo_output_state): Use a more sane fallback.
318 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
320 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
322 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
324 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
325 frequency to 150 MHz.
327 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
331 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
333 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
335 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
337 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
339 Handle slash in HFS label.
341 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
342 (grub_hfs_dir): Tanslate slash.
343 (grub_hfs_label): Don't translate slash.
345 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
347 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
348 network protocol listing since it introduces problematic dependency on
351 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
353 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
355 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
357 Init video early on yeeloong to avoid being rebooted by watchdog.
359 * grub-core/Makefile.am (gensm712): New target.
360 (sm712_start.S): Likewise.
361 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
362 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
363 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
365 * include/grub/vga.h: Move registry definitions to...
366 * include/grub/vgaregs.h: ... here.
368 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
370 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
373 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
375 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
376 platforms with firmware disk drivers in the core.
378 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
380 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
381 informative verbose message.
382 (read_lv): Handle 64-bit segment size.
384 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
386 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
388 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
390 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
391 character but still remove trainling spaces.
392 (grub_fat_label): Ignore archive flag.
394 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
396 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
397 cast between linux_kernel_header and linux_kernel_params.
399 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
401 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
403 (grub_raid6_recover_func_t): Likewise.
404 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
405 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
407 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
409 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
411 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
415 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
416 [__NetBSD__]: Add explicit cast before bitshift.
418 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
420 * configure.ac: Bump to 2.00~rc1.
422 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
424 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
427 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
428 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
430 * docs/grub.texi: Fix search syntax.
431 (Multi-boot manual config): Put msdos rather than GPT example.
434 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
436 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
438 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
440 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
442 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
444 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
445 message on double free. Put the value of magic in case of mismatch.
447 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
449 Speed-up video on yeeloong.
451 * grub-core/video/sm712.c (framebuffer): Remove render_target and
453 (grub_video_sm712_video_fini): Unmap cached_ptr.
454 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
455 (grub_video_sm712_set_active_render_target): Removed.
456 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
457 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
460 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
462 Avoid flushing the same line multiple times on loongson.
464 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
465 Step in 32 bytes and not 1 byte.
466 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
469 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
471 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
474 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
476 Implement flow control for http.
478 * grub-core/net/http.c (parse_line): Handle response 206.
479 (http_receive): Stall if too many packets are in the queue.
480 (http_establish): Fix range header.
481 (http_seek): Fix double free.
482 (http_close): Likewise.
483 (http_packets_pulled): New function.
484 (grub_http_protocol): Set http_seek
485 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
486 (ack_real): Set window depending on i_stall.
487 (grub_net_send_tcp_packet): Likewise.
488 (grub_net_tcp_stall): New function.
489 (grub_net_tcp_unstall): Likewise.
490 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
491 (grub_net_tcp_unstall): Likewise.
493 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
495 * grub-core/net/tftp.c: Decrease stall to 50 packets.
497 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
499 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
501 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
503 * tests/util/grub-shell.in: Fix a typo.
505 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
507 Implement flow control for tftp.
509 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
510 packets but stop only if stop condition is satisfied.
511 (grub_net_fs_read_real): Call packets_pulled after real read. Use
512 `stall' instead of `eof' as stop condition.
513 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
514 (http_err): Likewise.
515 * grub-core/net/tftp.c (ack): Replace the first argument with data
517 (tftp_receive): Stall if too many packets are in wait queue.
518 (tftp_packets_pulled): New function.
519 (grub_tftp_protocol): Set packets_pulled.
520 * include/grub/net.h (grub_net_packets): New field count.
521 (grub_net_put_packet): Increment count.
522 (grub_net_remove_packet): Likewise.
523 (grub_net_app_protocol): New field `packets_pulled'.
524 (grub_net): New field `stall'.
526 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
528 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
529 sync part to handle them.
531 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
533 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
534 * grub-core/net/drivers/ieee1275/ofnet.c
535 (grub_ieee1275_net_config_real): Likewise.
537 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
539 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
540 the direct route for server/gateway.
542 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
544 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
545 IP address to server name since we may not hame the DNS.
547 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
549 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
550 freeing random buffer on failure.
551 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
553 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
555 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
557 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
559 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
561 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
562 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
563 Handle malloc error correctly.
565 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
567 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
570 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
572 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
575 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
577 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
578 none is explicitly specified.
580 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
582 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
585 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
587 Respect netmask from bootp/dhcp.
589 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
590 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
591 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
593 (grub_net_add_ipv4_local): ... this.
594 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
595 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
596 (grub_net_add_ipv4_local): New proto.
598 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
600 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
601 determining EFI memory map size.
603 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
605 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
607 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
609 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
610 when looking for partition separator.
612 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
614 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
617 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
619 Restructure FAT driver to avoid hook in label reading as it hits a
622 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
623 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
624 (grub_fat_iterate_dir): Split into ...
625 (grub_fat_iterate_init): ... this, ...
626 (grub_fat_iterate_fini): ... this, ...
627 (grub_fat_iterate_dir_next): ... and this. All users updated.
629 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
631 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
632 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
633 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
634 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
635 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
636 New fields last_key and last_key_time.
637 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
638 extended key-esc into extended key-extended key.
640 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
642 Avoid unnecessary memcpy of whole video buffer.
644 * grub-core/video/fb/video_fb.c (dirty): New struct.
645 (framebuffer): Add members current_dirty and previous_dirty.
646 (dirty): New function.
647 (grub_video_fb_fill_rect): Update dirty.
648 (common_blitter): Likewise.
649 (grub_video_fb_scroll): Likewise.
650 (doublebuf_blit_update_screen): Copy only dirty part.
651 (doublebuf_pageflipping_update_screen): Likewise.
652 (grub_video_fb_doublebuf_blit_init): Init dirty.
653 (doublebuf_pageflipping_init): Likewise.
654 (grub_video_fb_setup): Likewise.
656 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
658 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
661 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
663 Fix wildcard regexp dot and other special characters handling.
664 Reported by: Robert Mabee.
666 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
667 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
668 (split_path): Trigger expansion on '?'.
669 (unescape): New function.
670 (wildcard_expand): Unescape parts copied without globbing.
671 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
672 (grub_script_arglist_to_argv): Don't unescape expansions.
674 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
676 * include/grub/net.h (grub_net_card): New member txbufsize.
677 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
678 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
679 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
680 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
682 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
683 compatible property to check for macs. Set
684 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
685 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
686 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
687 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
688 (send_card_buffer): Use txbuf.
689 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
690 nested function out of the parent while on it.
692 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
694 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
696 (grub_ieee1275_net_config_real): Fix config pointer.
698 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
700 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
701 filename parsing to non-block devices.
703 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
705 * grub-core/kern/device.c (grub_device_open): Remove dead code.
707 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
709 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
712 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
714 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
715 UUID search command even if hints probing failed.
717 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
719 * po/POTFILES.in: Regenerated.
721 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
723 Speed-up video on fuloong.
725 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
727 (grub_pci_device_unmap_range): Handle non-cached address.
728 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
730 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
731 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
732 (grub_video_sis315pro_set_active_render_target): Removed.
733 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
734 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
735 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
737 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
740 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
742 * docs/grub.texi (Multi-boot manual config): New section.
744 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
746 Avoid slow read-back from VRAM.
748 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
750 * grub-core/video/fb/video_fb.c
751 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
752 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
753 (front_target): Remove front_target. Add pages.
754 (grub_video_fb_init): Skip setting front_pages.
755 (grub_video_fb_fini): Likewise.
756 (doublebuf_blit_update_screen): Use pages.
757 (grub_video_fb_doublebuf_blit_init): Likewise.
758 (doublebuf_pageflipping_init): Allocate offscreen buffer.
759 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
760 (grub_video_fb_setup): Prefer doublebuffing.
762 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
764 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
767 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
771 * tests/util/grub-shell.in: Handle loongson.
772 * tests/partmap_test.in: Add loongson to the list of platform using ATA
774 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
775 Reboot instead of shutdown if REBOOT is defined.
777 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
779 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
780 sized ports since unlike on real hardware qemu supports only 32-bit
783 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
785 * Makefile.util.def (grub-mkrescue): Enable on loongson.
786 * util/grub-mkrescue.in: Handle loongson.
788 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
790 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
791 Set is_part appropriately.
792 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
793 names. Canonicalize partition without full disk.
795 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
797 Revert usb-quiesce since it's wrong.
799 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
800 (grub_ofdisk_init): Don't do quiesce.
802 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
804 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
805 PowerMac workaround to Xserves as well.
806 Information supplied by: Benjamin Herrenschmidt.
808 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
810 Don't assume that beginning address is also the entry point on ppc.
812 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
813 (grub_linux_boot): Use linux_entry.
814 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
815 (grub_linux_load64): Likewise.
817 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
819 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
821 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
823 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
824 needlessly lose the console.
826 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
828 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
831 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
833 Remove non-functional EFI grub_get_rtc. Put a better fatal message
834 than current grub_get_rtc() not implemented when booted with
835 coreboot without TSC.
837 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
838 Add machine/time.h to kernel headers on loongson.
839 * grub-core/Makefile.core.def (kernel): Remove
840 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
841 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
842 (grub_get_rtc): Likewise.
843 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
844 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
845 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
846 * grub-core/kern/i386/tsc.c (grub_tsc_init)
847 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
848 rather than installing known non-working time source.
849 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
850 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
851 * include/grub/time.h: Don't include machine/time.h.
852 * include/grub/efi/time.h: Removed.
853 * include/grub/i386/efi/time.h: Likewise.
854 * include/grub/i386/ieee1275/time.h: Likewise.
855 * include/grub/powerpc/ieee1275/time.h: Likewise.
856 * include/grub/sparc64/ieee1275/time.h: Likewise.
857 * include/grub/x86_64/efi/time.h: Likewise.
859 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
861 Remove dot on i and j when combining with above diacritics.
863 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
865 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
866 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
867 with dotless variants when any combining above is present.
869 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
871 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
874 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
876 Stop polling as soon as we have the packet we were waiting for.
878 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
880 * grub-core/net/arp.c (have_pending): New var.
881 (pending_req): Likewise.
882 (grub_net_arp_send_request): Fill pending_req and use have_pending as
884 (grub_net_arp_receive): Set have_pending.
885 * grub-core/net/dns.c (recv_data): New field stop.
886 (recv_hook): Set stop.
887 (grub_net_dns_lookup): Init stop and use as stop condition.
888 * grub-core/net/http.c (http_establish): Use headers_recv as stop
890 * grub-core/net/net.c (grub_net_poll_cards): New argument
891 stop_condition. Stop when it goes true.
892 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
894 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
896 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
898 Keep TX and RX buffers on EFI rather than always allocate new ones.
900 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
901 card. All users updated.
902 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
903 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
904 (get_card_packet): Likewise.
905 (grub_efinet_findcards): Init new fields.
907 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
909 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
910 compilation error on sparc64.
912 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
914 Use ITC on IA64 rather than broken routine based on daytime.
916 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
918 (grub_get_rtc) [__ia64__]: Likewise.
919 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
920 (get_itc): New function.
921 (grub_rtc_get_time_ms): Likewise.
922 (grub_machine_init): Calibrate ITC.
923 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
924 Keep only on non-ia64. Don't export since it's broken and used only
925 if TSC is unavailable.
927 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
929 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
931 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
932 Skip if parent is unused.
934 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
936 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
938 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
940 Fix wildcard escaping.
942 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
943 * grub-core/script/execute.c (wildcard_escape): .. to here.
945 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
946 * grub-core/script/execute.c (wildcard_unescape): .. to here.
948 * grub-core/script/execute.c (gettext_append): Always escape.
949 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
950 * grub-core/script/yylex.l: Don't cut away the escaping.
951 * tests/grub_script_echo1.in: Add tests with wildcard.
953 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
955 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
956 (ftdi_hw_configure): Likewise.
957 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
959 (real_config): Handle 1.5 stop bits.
960 (pl2303_hw_configure): Likewise.
962 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
964 * Makefile.am: Add ppc linux bootcheck.
965 * grub-core/tests/boot/linux-ppc.cfg: New file.
966 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
968 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
970 * tests/grub_script_expansion.in: Skip network protocols.
972 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
974 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
976 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
978 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
982 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
984 ESCC serial driver for conducting sautomated tests in qemu.
985 Not tested on real hardware.
987 * include/grub/serial.h (grub_serial_port): New field escc_desc.
988 * grub-core/term/ieee1275/escc.c: New file.
989 * grub-core/Makefile.core.def (escc): New module.
991 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
993 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
995 (serial_hw_fetch): Don't read invalid handle.
996 (serial_hw_put): Don't write into invalid handle.
998 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1000 Add a 1.5 stop bits value.
1002 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1003 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1004 GRUB_SERIAL_STOP_BITS_1_5.
1006 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1008 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1009 value rather than let it uninited.
1011 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1013 * grub-core/commands/wildcard.c (+check_file): New function.
1014 (wildcard_expand): Don't expand to non-existing files, expand with
1015 suffix and not attempt to expand if not needed.
1017 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1019 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1020 out of partitions containing other partitions.
1022 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1024 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1025 on some qemu versions with GRUB.
1027 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1029 (grub_openbsd_bootarg_pcibios): New struct.
1030 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1033 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1035 * tests/util/grub-shell.in: Trim firmware output on EFI.
1037 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1039 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1040 and coreboot since it's already in kernel.
1042 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1044 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1045 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1046 to here. New return value start. All users updated.
1047 Recursively scan linear mappings.
1048 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1050 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1051 Use grub_util_get_dm_node_linear_info.
1052 * util/getroot.c (convert_system_partition_to_system_disk): Use
1053 grub_util_info rather than grub_dprintf.
1054 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1056 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1058 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1060 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1061 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1063 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1065 * include/grub/types.h (grub_set_unaligned64): New function.
1066 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1069 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1071 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1072 (grub_ofdisk_fini): Quiesce USB devices.
1074 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1076 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1079 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1081 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1083 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1085 * grub-core/disk/pata.c (grub_pata_pio_read)
1086 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1087 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1089 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1091 Extend automated tests to qemu-mips.
1093 * Makefile.am: reorganise tests and enable qemu-mips.
1094 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1095 * grub-core/tests/boot/linux.init-mips.S: New file.
1096 * tests/partmap_test.in: Handle ata0 disks.
1097 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1100 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1102 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1104 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1107 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1109 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1110 (grub_halt): Likewise.
1111 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1113 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1115 * grub-core/term/serial.c (grub_serial_register)
1116 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1117 the behaviour in line with x86 platforms.
1119 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1121 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1122 (grub_ata_strncpy): Likewise.
1123 (grub_ata_identify): Add missing byteswaps.
1125 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1127 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1129 (screen_read_char): Likewise.
1130 (grub_vga_text_cls): Likewise.
1132 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1134 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1136 (make_file_path): Likewise.
1138 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1140 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1142 Tested by: Paulo Flabiano Smorigo.
1143 Crucial information about API supplied by: Coleen <Last name unknown>.
1144 Reviewed by: Coleen <Last name unknown>.
1146 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1148 * util/grub-mkimage.c: Disable -Wcast-align.
1150 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1152 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1155 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1157 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1159 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1161 * util/grub-probe.c (escape_of_path): Fix double free.
1163 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1165 * grub-core/commands/videoinfo.c (hook): Show pitch.
1167 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1169 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1171 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1173 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1174 (probe): Add ieee1275 to OFW devices.
1176 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1178 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1180 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1182 Handle IBM OFW path.
1184 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1186 (of_path_of_scsi): Handle vdevice.
1188 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1190 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1191 Allocate in multiples of 16 to avoid adding a few bytes free region the
1194 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1196 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1197 Allocate in multiples of 16 to avoid adding a few bytes free region the
1199 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1201 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1203 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1205 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1206 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1208 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1210 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1212 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1214 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1215 resulted in \\ at the end of the line.
1217 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1219 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1220 (grub_parser_cmdline_state): Likewise.
1221 (grub_parser_split_cmdline): Likewise.
1223 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1225 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1226 /dev/root and /dev/dm-*.
1228 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1230 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1231 fix partially stale display.
1233 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1235 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1238 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1240 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1241 Fix MBR remapping workaround.
1242 (grub_util_biosdisk_read) [__linux__]: Likewise.
1244 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1246 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1248 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1250 * configure.ac: Bump to beta6.
1252 2012-05-31 Christer Weinigel <christer@weinigel.se>
1254 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1256 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1258 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1259 (grub_cmd_linux): Likewise.
1261 2012-05-31 Christer Weinigel <christer@weinigel.se>
1265 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1266 (GRUB_EHCI_MULT_TWO): Likewise.
1267 (GRUB_EHCI_MULT_THREE): Likewise.
1268 (GRUB_EHCI_CMASK_MASK): New enum value.
1269 (GRUB_EHCI_SMASK_MASK): Likewise.
1270 (GRUB_EHCI_CMASK_OFF): Likewise.
1271 (GRUB_EHCI_SMASK_OFF): Likewise.
1272 (grub_ehci_pci_iter): Enable periodic schedule.
1273 (grub_ehci_parse_notrun): Likewise.
1274 (grub_ehci_restore_hw): Likewise.
1275 (grub_ehci_setup_qh): Set flags for low speed transfers.
1276 (grub_ehci_find_qh): Use periodic list for low speed.
1277 (grub_ehci_setup_transfer): Check periodic queue as well.
1278 (grub_ehci_check_transfer): Likewise.
1279 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1281 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1283 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1286 2012-05-31 Peter Jones <pjones@redhat.com>
1288 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1289 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1290 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1292 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1294 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1295 uninited variable. Allocate at least setup_sects.
1297 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1299 Fix handling of EFI with big memory maps.
1301 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1302 (real_mode_mem): Likewise.
1303 (real_mode_target): Likewise.
1304 (real_mode_pages): Likewise.
1305 (prot_mode_pages): Likewise.
1306 (linux_params): New var.
1307 (linux_cmdline): Likewise.
1308 (free_pages): Don't set real mode variables.
1309 (allocate_pages): Don't allocate real mode memory.
1310 (grub_e820_add_region): Remove the limit.
1311 (grub_linux_boot): Allocate and copy real mode memory.
1312 (grub_linux_unload): Free linux_cmdline.
1313 (grub_cmd_linux): Use temporary storage for parameters.
1314 (grub_cmd_initrd): Likewise.
1315 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1316 (linux_kernel_params): Make it 1K big.
1318 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1320 * Makefile.util.def: Remove -Wno-format.
1321 * grub-core/Makefile.core.def: Likewise.
1323 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1325 * tests/cmp_unit_test.c: Add missing failure message.
1326 * tests/example_unit_test.c: Likewise.
1327 * tests/printf_unit_test.c: Likewise.
1329 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1331 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1332 relaxation of protective MBR requirements.
1334 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1336 * configure.ac: Add condition for COND_HOST_XNU.
1337 * Makefile.util.def (10_xnu): New script.
1338 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1340 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1342 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1345 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1347 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1348 Binary on other platforms stays identical.
1350 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1352 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1355 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1357 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1359 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1361 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1362 rather than defining size_t ourselves to avoid conflict.
1364 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1366 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1367 initialisation to avoid __bzero reference.
1369 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1371 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1373 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1374 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1375 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1376 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1377 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1379 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1381 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1382 * grub-core/kern/misc.c: Likewise.
1383 * grub-core/loader/i386/xnu.c: Likewise.
1384 * include/grub/i386/tsc.h: Likewise.
1385 * include/grub/symbol.h: Likewise.
1387 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1389 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1390 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1393 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1395 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1396 Implement Apple flavour.
1397 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1399 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1401 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1402 (memmove) [__APPLE__]: Likewise.
1403 (memcpy) [__APPLE__]: Likewise.
1404 (memset) [__APPLE__]: Likewise.
1405 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1406 (memmove) [__APPLE__]: Likewise.
1407 (memcpy) [__APPLE__]: Likewise.
1408 (memset) [__APPLE__]: Likewise.
1410 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1412 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1415 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1417 * grub-core/normal/main.c (read_config_file): Provide config_file and
1419 * util/grub.d/41_custom.in: Use config_directoy when available.
1421 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1423 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1424 (grub_bfs_dir): Likewise.
1426 2012-05-27 Peter Jones <pjones@redhat.com>
1428 The old code gives arguments to a printf function which can't work
1429 correctly, and the compiler complains.
1431 * grub-core/tests/example_functional_test.c (example_test): Add
1433 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1434 * include/grub/test.h (grub_test_assert_helper): New declaration.
1435 (grub_test_assert): Use grub_test_assert_helper.
1437 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1439 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1440 (exfctest): ... this to avoid overlong filenames.
1443 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1445 Handle "." and ".." on squashfs.
1447 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1448 Make inode numbers into stack.
1449 (grub_squash_read_symlink): Use stack.
1450 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1451 (make_root_node): Fill stack.
1452 (grub_squash_open): Use stack.
1454 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1456 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1459 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1461 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1462 stderr on test calls.
1464 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1466 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1468 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1470 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1472 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1474 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1477 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1479 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1480 (grub_hfsplus_iterate_dir): Add "." and "..".
1482 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1484 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1485 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1487 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1489 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1490 (find_path): Handle "." and "..".
1492 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1494 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1495 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1496 (grub_affs_iterate_dir): Handle hardlinks.
1498 2012-05-26 Matthew Garrett <mjg@redhat.com>
1500 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1501 (grub_efi_console_fini): Likewise.
1502 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1503 (grub_video_gop_fill_mode_info): Rename to ...
1504 (grub_video_gop_fill_real_mode_info): ... this.
1505 (grub_video_gop_fill_mode_info): New function.
1506 (grub_video_gop_setup): Setup double framebuffer.
1507 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1509 (grub_video_gop_swap_buffers): Copy framebuffer.
1510 (grub_video_gop_fini): Free offscreen buffer.
1511 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1513 (grub_efi_gop_blt_pixel): New struct.
1515 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1517 * gentpl.py: Remove error disabling for objconv.
1519 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1521 * configure.ac: Remove -Wunitialized as it's not available on older
1524 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1526 Fix extent overflow comparator.
1528 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1529 (grub_hfsplus_read_block): Set type.
1530 (grub_hfsplus_cmp_extkey): Compare type.
1532 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1534 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1536 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1538 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1541 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1543 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1544 (dejavu_bold_14.pf2): New target.
1546 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1548 * configure.ac: Fix djvu font detection.
1550 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1552 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1553 ext* instead of ext2.
1555 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1557 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1560 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1562 * docs/grub-dev.texi: Remove dot from .png.
1564 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1566 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1567 protective entry in any slot.
1568 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1569 if protective entry is found in any slot.
1571 Protective entry in non-first slot make no sense but is a widespread
1574 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1576 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1578 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1580 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1582 (grub_reiserfs_open): Don't free root.
1584 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1586 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1587 after freeing for safety.
1589 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1591 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1592 Reported by: Jordan Uggla.
1594 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1596 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1597 actual implementation. Specifically, clarify that the grub menu will
1598 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1601 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1603 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1606 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1608 Remove unjustified hard dependency of normal.mod on gfxterm.
1610 * include/grub/term.h (grub_term_output): New member fullscreen.
1611 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1612 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1613 (grub_gfxterm): Set .fullscreen.
1614 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1615 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1617 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1619 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1620 mentioning possible problems with non-ASCII (non-compliant) ISOs.
1621 Mention case-insensitive AFFS, SFS and JFS.
1623 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1625 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1627 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1629 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1632 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1634 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1635 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1637 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1639 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1640 (grub_jfs_mount): Fill caseins.
1641 (grub_jfs_find_file): Respect caseins.
1643 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1645 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1648 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1650 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1651 New argument origpath. All users updated.
1653 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1655 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1656 (read_attr): Ensure that we read start of possibly compressed block.
1658 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1660 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1661 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1664 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1666 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1667 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1668 (dejavu.pf2): Replace with ...
1669 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1672 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1674 * util/grub.d/20_linux_xen.in: Add missing line.
1676 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1678 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1679 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1680 (grub_utf16_to_utf8): Likewise.
1682 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1684 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1685 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1686 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1687 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1688 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1689 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1691 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1693 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1696 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1698 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1699 (grub_udf_read_symlink): Handle read_string failure.
1701 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1703 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1706 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1708 Fix handling of UDF symlinks.
1710 * grub-core/fs/udf.c (read_string): New argument outbuf.
1712 (grub_ufs_read_symlink): Rename to ...
1713 (grub_udf_read_symlink): ... this. All users updated.
1714 Handle symlinks with more than one component.
1716 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1718 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1719 symlinks. Replace leading colon with a slash.
1721 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1723 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1726 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1728 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1729 match in inner node.
1731 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1733 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1734 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1735 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1736 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1737 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1738 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1739 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1740 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1741 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1743 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1745 Use grub-probe and not cmp to check that disk is empty.
1747 * util/grub-install.in: Use grub-probe for zero-check.
1748 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1749 (probe): Handle PRINT_ZERO_CHECK.
1750 (argp_parser): Handle -t zero_check.
1752 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1754 Flush block cache on adding disk to device map.
1756 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1757 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1759 (read_device_map): Likewise.
1760 (open_device): Flush on opening.
1762 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1764 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1765 (handle_symlink): Fix off-by-one error.
1766 Canonicalize the target.
1767 (grub_cpio_dir): Canonicalize the name.
1770 (grub_cpio_open): Canonicalize the name.
1772 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1774 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1777 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1779 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1780 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1782 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1784 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1785 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
1788 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1790 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1793 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1795 Fix UFS1 big file support.
1797 * grub-core/fs/ufs.c (INODE): Removed.
1798 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1800 (INODE_MODE): Simplify.
1801 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1802 (grub_ufs_lookup_symlink): Don't use INODE.
1804 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1806 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1808 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1809 (grub_minix_data): Replace log_block_size with block_size.
1810 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1811 (grub_minix_mount): Fill block_size.
1813 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1815 * configure.ac: Bump to beta5.
1817 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1819 Fix wrapped HFS+ handling.
1821 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1822 blocks_start. All users updated.
1823 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1825 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1827 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1829 Fix long symlinks on reiserfs.
1831 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1832 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1833 (grub_reiserfs_iterate_dir): Save size for non-directories.
1834 (grub_reiserfs_open): Don't reread stat block as we already know the
1836 (grub_reiserfs_read): Split into...
1837 (grub_reiserfs_read_real): ... and ...
1838 (grub_reiserfs_read): ...this.
1840 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1842 Fix non-indexed JFS.
1844 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1845 (grub_jfs_data): New field namecomponentlen.
1846 (grub_jfs_mount): Fill namecomponentlen.
1847 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1849 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1851 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1852 * tests/grub_script_echo1.in: Add tests.
1854 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1856 * util/grub-install.in: Ignore empty devicetree directory.
1858 2012-05-08 Bean <bean123ch@gmail.com>
1860 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1862 (free_rsm): Free header as well.
1863 (free_old_fragments): Fix memory leak.
1864 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1865 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1866 (destroy_pq): Likewise.
1867 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1869 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1871 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1872 resulting hash as a precaution.
1874 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1876 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1877 '_' in variable names.
1878 * grub-core/net/net.c (grub_net_network_level_interface_register):
1881 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1883 Fix AFFS with non-512B blocks.
1885 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1886 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1887 (grub_affs_data): Replace blocksize with log_blocksize.
1888 (grub_affs_read_block): Fix non-512B blocks.
1889 (grub_affs_read_symlink): Likewise.
1890 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1891 (grub_affs_read): Fix non-512B blocks.
1892 (grub_affs_label): Likewise.
1893 (grub_affs_mtime): Likewise.
1894 (grub_affs_mount): Fix block detection routine.
1896 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1898 Add filesystem mtime to AFFS.
1900 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1901 (aftime2ctime): New function.
1902 (grub_affs_dir): Use aftime2ctime.
1903 (grub_affs_label): Fix return value.
1904 (grub_affs_mtime): New function.
1905 (grub_affs_fs): Add mtime.
1907 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1909 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1912 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1914 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
1917 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1919 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
1921 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1923 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
1925 (FLAGS_CASE_SENSITIVE): New enum value.
1926 (cache_entry): New struct.
1927 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
1928 cache_size and cache.
1929 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
1930 Add log_blocksize and fshelp_flags.
1931 (grub_sfs_read_extent): Handle non-512 blocks.
1932 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
1933 (grub_sfs_read_file): Handle non-512 blocks.
1934 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
1936 (grub_sfs_read_symlink): Handle non-512 blocks.
1937 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
1938 (grub_sfs_dir): Free cache.
1939 (grub_sfs_close): Likewise.
1941 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1943 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
1946 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1948 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
1950 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1952 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
1954 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1956 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
1957 (grub_sfs_read_extent): Likewise.
1958 (grub_sfs_read_block): Likewise.
1959 (grub_sfs_mount): Likewise.
1960 (grub_sfs_iterate_dir): Likewise.
1961 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
1962 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
1964 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1966 Fix errors on compressed NTFS with 512B clusters.
1968 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
1970 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
1972 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
1973 Relax check for inline extents.
1974 (ntfscomp): Return correct -1 on error and not 0.
1976 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1978 * util/grub-install.in: Fix handling of prefix containing spaces.
1980 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1982 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
1983 (grub_squash_read_data): Fix offset byte-swapping.
1985 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1987 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
1988 per common usage and preffered in several parts of code.
1989 (grub_memcmp): Likewise.
1990 (grub_strncmp): Likewise.
1991 * include/grub/misc.h (grub_strcasecmp): Likewise.
1992 (grub_strncasecmp): Likewise.
1993 * Makefile.util.def (cmp_test): New test.
1994 (grub_script_strcmp): Likewise.
1995 * tests/cmp_unit_test.c: New file.
1996 * tests/grub_script_strcmp.in: Likewise.
1997 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
1999 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2001 * include/grub/pci.h: Move enums into no-asm part.
2003 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2005 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2007 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2009 * util/getroot.c (find_hurd_root_device): Try to make error message
2010 and comments to translators clearer.
2012 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2014 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2016 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2018 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2021 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2023 * docs/grub.cfg: Update.
2025 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2027 * docs/grub.texi (PXE): Remove not present variables.
2029 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2031 * grub-core/net/net.c (defserver_set_env): New function.
2032 (defserver_get_env): Likewise.
2033 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2035 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2037 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2040 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2042 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2043 * grub-core/kern/emu/hostdisk.c: Likewise.
2045 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2047 Handle hurd userspace partitions.
2049 * util/getroot.c (find_hurd_root_device): New function.
2050 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2052 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2054 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2056 Reported by: Bastian Blank.
2058 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2060 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2061 crossing page boundary.
2063 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2065 Fix B-tree search in BFS, especially in presence of non-ASCII
2068 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2069 (find_in_b_tree): Use standard bsearch + btree algorithm.
2071 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2073 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2076 2012-05-03 Matthew Garrett <mjg@redhat.com>
2077 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2079 Suspend broadcom cards in order to stop their DMA.
2081 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2082 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2083 (pci): Don't build on x86 EFI.
2084 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2085 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2087 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2088 stop_broadcom if running on EFI.
2089 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2090 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2091 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2092 (grub_pci_find_capability): New proto.
2094 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2096 * docs/grub.texi: Remove dot from the extension as it apparently
2097 doesn't work with some makeinfo versions.
2099 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2101 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2102 with GRUB expectance.
2104 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2106 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2108 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2110 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2111 zero after directory block since last entry may be not 0-terminated if
2112 it ends on block boundary. Use continue instead of if spanning whole
2115 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2117 Support 4K sectors UDF inline files.
2119 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2120 (grub_udf_extended_file_entry): Likewise.
2121 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2123 (get_fshelp_size): New function.
2124 (grub_udf_read_icb): Read whole block.
2125 (grub_udf_iterate_dir): Likewise.
2126 (grub_udf_dir): Likewise.
2127 (grub_udf_open): Likewise.
2129 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2131 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2133 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2135 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2136 inline symlinks in addition to workaround.
2138 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2140 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2142 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2144 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2146 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2148 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2150 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2152 Fix reiserfs big seek times.
2154 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2155 exact. All users updated.
2156 (grub_reiserfs_read): Use nearest btree search for seeking.
2157 Fix return value on error.
2159 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2161 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2163 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2164 * docs/grub.texi: Update menuentry description.
2166 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2168 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2169 crash when embedding onto filesystem.
2171 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2173 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2176 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2178 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2180 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2182 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2185 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2186 2012-05-01 Bean <bean123ch@gmail.com>
2188 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2190 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2192 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2193 Special behaviour for len = 0 to read whole file isn't used anywhere and
2194 can cause buffer ovewrflows in several places.
2196 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2198 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2200 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2202 Handle RAIDZ on non-512B sectors.
2204 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2205 max_children_ashift.
2206 (fill_vdev_info_real): Fill max_children_ashift.
2207 (read_device): Use max_children_ashift.
2209 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2211 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2213 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2215 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2217 * docs/grub.texi: Update device.map parts.
2219 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2221 Don't scan into non-diskfilter devices having diskfilter names.
2223 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2224 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2226 (scan_disk_hook): New function.
2228 2012-04-29 Bean <bean123ch@gmail.com>
2230 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2233 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2235 * configure.ac: Detect starfield theme font path
2236 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2238 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2240 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2241 geometry on serial consoles.
2243 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2245 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2246 because of network consoles.
2248 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2250 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2253 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2255 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2258 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2260 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2261 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2263 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2265 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2266 Allocate at lest 8192 for temporary buffer as required for lzo.
2268 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2270 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2271 to cluster_bits, since it's already added in.
2272 (grub_fat_read_data): Likewise.
2274 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2276 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2277 as long as cluster size is multiple of 512 bytes.
2279 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2281 * util/grub-mkrescue.in: Fix locale directory.
2283 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2285 * grub-core/kern/emu/hostdisk.c (map): Make static.
2287 2012-04-23 Bean <bean123ch@gmail.com>
2289 * util/grub-fstest.c (fstest): Add missing break.
2291 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2295 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2296 not define nr variable.
2297 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2298 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2299 grub_find_device): Do not define.
2301 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2303 Fix kfreebsd compile and behaviour.
2305 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2307 * util/getroot.c: Fix wait.h include.
2308 (grub_guess_root_devices): Error if grub_find_device fails.
2309 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2310 (grub_util_get_dev_abstraction): Likewise.
2311 (grub_util_pull_device): Likewise.
2312 (grub_util_get_grub_dev): Likewise.
2313 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2315 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2317 Fix and unify wholedisk detection.
2319 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2320 is_part. All users updated.
2321 (device_is_wholedisk): Removed.
2322 (grub_util_biosdisk_get_grub_dev): Use is_part.
2324 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2326 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2329 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2331 * configure.ac: Bump to beta4.
2333 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2335 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2336 --fs-uuid --set UUID syntax.
2338 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2340 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2343 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2345 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2347 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
2349 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2351 2012-04-18 Mike Gilbert <floppym@gentoo.org>
2353 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2355 2012-04-18 Bean <bean123ch@gmail.com>
2357 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2360 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2362 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2364 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2365 corresponding to GRUB partitions.
2366 (grub_util_biosdisk_write): Likewise.
2368 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2370 Scan mdraid before LVM.
2372 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2373 (grub_diskfilter_register_front): ... this.
2374 (grub_diskfilter_register_back): New function.
2375 All users of grub_diskfilter_register updated.
2377 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2379 * util/grub-install.in: Fix an automatic target detection bug.
2381 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2383 * util/grub-install.in: New option --efi-directory.
2385 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2387 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2388 boot services if we have no other choice.
2390 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2392 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2394 * tests/util/grub-shell.in: Update to --directory.
2396 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2398 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2400 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2402 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2403 (grub_minix_read_file): Likewise.
2404 (grub_minix_read_inode): Likewise.
2405 (grub_minix_find_file): Likewise.
2406 (grub_minix_dir): Likewise.
2408 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2410 * util/grub-setup.c (setup): Fix partition handling and blocklist
2413 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2415 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2416 redundant buggy overlap check.
2418 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2420 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2423 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2425 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2426 kh.loadflags on pre-2.00 kernels.
2428 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2430 Terminate UNDI and PXE before launching the payload to avoid problems
2433 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2434 (grub_loader_flags): ... this. All users updated.
2435 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2436 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2437 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2438 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2440 (grub_pxe_restore): Likewise.
2441 (fini_hnd): New var.
2442 (GRUB_MOD_INIT): Register shutdown hook.
2443 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2444 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2445 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2446 (grub_loader_set): Rename second argument to flags.
2448 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2450 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2452 (grub_get_num_of_utf8_bytes): New function.
2453 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2454 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2456 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2457 (grub_ucs4_to_utf8): Change return type.
2459 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2461 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2463 * grub-core/fs/bfs.c (hop_level): Likewise.
2464 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
2466 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2468 * grub-core/lib/adler32.c: Recode due to license unclearness.
2470 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2472 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2473 (test_header): Likewise.
2475 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2477 Fix --help formatting.
2479 * util/grub-mkconfig_lib.in (print_option_help): New function.
2480 (grub_fmt): Likewise.
2481 * util/grub-install.in: Use print_option_help and grub_fmt.
2482 * util/grub-kbdcomp.in: Likewise.
2483 * util/grub-mkconfig.in: Likewise.
2484 * util/grub-mknetdir.in: Likewise.
2485 * util/grub-mkrescue.in: Likewise.
2486 * util/grub-mkstandalone.in: Likewise.
2487 * util/grub-reboot.in: Likewise.
2488 * util/grub-set-default.in: Likewise.
2489 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2491 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2493 * linguas.sh: Remove autogenerated *.po.
2495 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2497 * po/README: Move language fetcing to ...
2498 * linguas.sh: ... here.
2499 * po/README: Point to linguas.sh.
2501 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2503 * po/README: Exclude ko.po due to disclaimer problems.
2505 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2507 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2509 (grub_gettext_translate_real): Handle 0th string.
2510 (grub_gettext_translate): Ensure that "" isn't translated.
2512 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2514 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2515 TRANSLATORS comment.
2516 (grub_diskfilter_print_partmap): Propagate changing of error into
2519 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2521 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2522 to uint64_t to prevent overflow.
2523 (grub_diskfilter_lv): Increase start_extent and extent_count
2524 to uint64_t to prevent overflow.
2526 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2528 * configure.ac: Increase version.
2530 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2532 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2534 * po/Rules-translit: New file.
2535 * po/arabic.sed: Likewise.
2536 * po/cyrillic.sed: Likewise.
2537 * po/greek.sed: Likewise.
2538 * po/hebrew.sed: Likewise.
2539 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2540 * po/Makefile.in.in: Add extra_dist4.
2542 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2544 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2546 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2547 modify names. Introduce MODE_BIGENDIAN.
2548 * grub-core/fs/minix_be.c: New file.
2549 * grub-core/fs/minix2_be.c: Likewise
2550 * grub-core/fs/minix3_be.c: Likewise.
2551 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2553 * grub-core/Makefile.core.def (minix_be): New module.
2554 (minix2_be): Likewise.
2555 (minix3_be): Likewise.
2557 2012-04-01 Felix <email@hamburg.de>
2559 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2560 (devs): Add MBP 2011.
2562 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2564 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2566 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2568 * grub-core/normal/cmdline.c (print_completion): New field
2570 (grub_cmdline_get): Handle width properly.
2572 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2574 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2576 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2578 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
2579 after 29th of February.
2581 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2583 Fix exfat endianness handling.
2585 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2586 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2587 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2588 Byte-swap utf16 when necessary.
2589 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2591 2012-03-31 Anton Blanchard <anton@samba.org>
2592 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2594 Fix btrfs endianness handling.
2596 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2597 (lower_bound): Make root uint64_t. Use root in le.
2598 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2599 (find_path): Fix template key init.
2600 (grub_btrfs_dir): Fix mtime byteswap.
2601 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2603 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2605 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2606 recursion_depth. Break infinite resursions. All users updated.
2608 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2610 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2612 Reported by: Peter Jones.
2614 2012-03-31 Anton Blanchard <anton@samba.org>
2616 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2619 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2621 * util/grub-install.in: Fix nvram call for PreP.
2623 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2625 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2626 the error when some elements are missing into a warning.
2628 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2630 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2632 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
2634 * docs/grub.texi (Invoking grub-probe): New section.
2635 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2637 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2639 Fix tab and wide character handling in editor and menu.
2641 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2642 agglomerate control characters with combining marks.
2643 (bidi_line_wrap): Allow break on tab.
2644 (grub_unicode_get_comb_start): New function.
2645 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2647 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2649 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2650 fixed_tab_size. All users updated.
2651 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2652 (grub_term_getcharwidth): Handle \t.
2653 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2656 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2658 Handle big-endian mdraid.
2660 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2661 * grub-core/Makefile.core.def (mdraid09_be): New module.
2662 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2663 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2664 * grub-core/disk/mdraid_linux_be.c: New file.
2666 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2668 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2670 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2672 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2673 missing quotes which caused confusion among translators.
2675 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2677 * util/grub-mkconfig_lib.in: Fix typo.
2679 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2681 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2683 * tests/grub_script_leading_whitespace.in: New file.
2684 * Makefile.util.def (grub_script_leading_whitespace): New test.
2686 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2688 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2691 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2693 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2694 starts with control character.
2696 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2698 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2700 (grub_gdb_outbuf): Likewise.
2702 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2704 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2705 zero terminator. Fixes a crash.
2707 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2709 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2711 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2712 images independently of preffered adderss field.
2714 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2716 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2717 * grub-core/commands/regexp.c: Likewise.
2718 * grub-core/loader/i386/linux.c: Likewise.
2719 * grub-core/partmap/msdos.c: Likewise.
2720 * grub-core/script/execute.c: Likewise.
2721 * grub-core/term/gfxterm.c: Likewise.
2723 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2725 Add variable parsing in $"..." and fix several mismatches with bash.
2727 * Makefile.util.def (grub_script_gettext): New test.
2728 * grub-core/script/execute.c (parse_string): New function.
2729 (gettext_append): Likewise.
2730 (grub_script_arglist_to_argv): Use gettext_append.
2731 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2732 * tests/grub_script_gettext.in: New file.
2734 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2736 Fix handling of leading spaces in scripts.
2738 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2740 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2741 other than skipping \r. All users updated.
2742 * tests/grub_script_echo1.in: Add space-related tests.
2743 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2745 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2747 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2749 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2751 * configure.ac: Bump up the version to beta2.
2753 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2755 Fix gettext reload bugs (e.g. inability to disable gettext
2758 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2759 main_context and secondary_context. All functions updated.
2760 (grub_gettext_translate): Rename to ...
2761 (grub_gettext_translate_real): ... this. Return NULL on failed
2763 (grub_gettext_translate): Handle secondary context.
2764 (grub_gettext_delete_list): Close file and zero-out the context.
2765 (grub_mofile_open): Don't call grub_gettext_delete_list.
2767 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2768 if locale="" to avoid pointless error message.
2769 (grub_gettext_env_write_lang): Update lang even if load fails.
2770 Handle secondary context.
2771 (grub_gettext_reread_prefix): New function.
2772 (read_main): Likewise.
2773 (read_secondary): Likewise.
2774 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2775 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2776 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2777 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2779 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2781 * configure.ac: Decrease warning level to avoid spurious warnings and
2782 to be able to compile with GCC 4.2.
2783 * Makefile.util.def: Remove -Wno-error=logical-op.
2785 2012-03-10 William Bittner <william.bittner@gmail.com>
2787 * util/import_unicode.py: Add missing brackets around string for
2790 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2792 Fix efi chainloader on network root.
2794 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2796 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2799 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2801 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2802 unused show_text member.
2803 * docs/grub.texi: Document "text" property.
2805 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2807 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2810 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2812 Fix IMSM handling on Fedora.
2814 * util/getroot.c (grub_util_is_imsm): New function.
2815 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2817 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2819 * Makefile.am: Strip gold section.
2820 * conf/Makefile.common: Likewise.
2821 * gentpl.py: Likewise.
2822 * grub-core/Makefile.core.def: Likewise.
2823 * grub-core/genmod.sh.in: Likewise.
2825 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2827 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2828 * util/grub.d/20_linux_xen.in: Likewise.
2829 Based on Debian patch.
2831 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2833 * util/grub.d/10_linux.in: Fix syntax error resulting in
2834 Richard Laager's patch.
2835 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2837 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2839 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2842 2012-03-10 Richard Laager <rlaager@wiktel.com>
2844 * util/grub.d/10_linux.in: Fix ZFS root passing.
2846 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2848 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2849 * grub-core/commands/xnu_uuid.c: Likewise.
2850 * grub-core/loader/efi/appleloader.c: Likewise.
2851 * grub-core/script/execute.c: Likewise.
2852 * grub-core/script/main.c: Likewise.
2853 * util/grub-mkfont.c: Likewise.
2855 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2857 * util/grub-mkfont.c (options): Use more appropriate "select" that
2858 "set" for face index.
2860 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2862 * util/grub-editenv.c (options): Gettextize command summaries.
2864 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2866 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2867 "out of memory" error messagge.
2869 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2871 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2872 of diskfilter for diskfilter on diskfilter support.
2874 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2876 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2878 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2880 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2883 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2885 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2887 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2889 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2891 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2893 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2896 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2898 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2900 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2902 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2904 * util/grub-install.in: Fix and gettextize error message.
2906 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2908 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2910 * util/grub-mount.c (options): Likewise.
2912 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2914 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
2916 * grub-core/commands/search_wrap.c (options): Likewise.
2918 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2920 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
2922 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2924 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
2926 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
2929 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2931 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
2932 "temporary" since it's used in identifier and is limited in space.
2934 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2936 * po/POTFILES.in: Regenerate. Include *.h since they contain
2937 translatable strings as well.
2939 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2941 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2942 byte-swap on big-endian.
2943 Reported by: Lennart Sorensen
2945 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2947 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
2948 (allocate_pages): Improve dprintf.
2949 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
2950 code32_start. Fill code32_start and kernel_alignment in params.
2951 (grub_cmd_initrd): Use prot_init_space.
2953 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2955 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
2957 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2959 * util/grub-install.in: Add missing dot at the end of sentence.
2961 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2963 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2964 * grub-core/commands/videotest.c: Likewise.
2965 * grub-core/loader/i386/linux.c: Likewise.
2967 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2969 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
2971 Reported by: Milo Casagrande.
2973 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2975 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
2976 * grub-core/commands/gptsync.c: Likewise.
2977 * grub-core/commands/hashsum.c: Likewise.
2978 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2979 * grub-core/commands/legacycfg.c: Likewise.
2980 * grub-core/io/gzio.c: Likewise.
2981 * grub-core/net/net.c: Likewise.
2982 * grub-core/term/gfxterm.c: Likewise.
2983 * grub-core/term/terminfo.c: Likewise.
2984 * grub-core/tests/test_blockarg.c: Likewise.
2985 * grub-core/video/video.c: Likewise.
2986 * util/grub-install.in: Likewise.
2987 * util/grub-mkfont.c: Likewise.
2989 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2991 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
2993 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2995 * grub-core/commands/search_wrap.c (options): Fix a typo.
2996 Reported by: David Prévot.
2998 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3000 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3003 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3005 * util/grub-script-check.c (main): Fix a syntax error message which was
3008 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3010 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3012 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3014 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3017 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3019 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3021 * util/grub-mount.c (options): Likewise.
3023 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3025 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3027 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3029 * grub-core/net/http.c: Add TRANSLATORS comments.
3030 * grub-core/normal/cmdline.c: Likewise.
3031 * grub-core/normal/misc.c: Likewise.
3032 * grub-core/partmap/msdos.c: Likewise.
3033 * grub-core/parttool/msdospart.c: Likewise.
3034 * grub-core/script/execute.c: Likewise.
3035 * grub-core/script/main.c: Likewise.
3036 * grub-core/term/terminfo.c: Likewise.
3037 * grub-core/video/bitmap.c: Likewise.
3038 * util/grub-install.in: Likewise.
3039 * util/grub-mkimage.c: Likewise.
3040 * util/grub-mklayout.c: Likewise.
3041 * util/grub-setup.c: Likewise.
3043 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3045 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3046 with similar messages in grub-fstest.
3048 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3050 * util/grub-install.in: Unify "option requires an argument" message
3051 with similar messages in other files.
3052 * util/grub-mkconfig.in: Likewise.
3054 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3056 * util/grub-set-default.in: Replace printf with gettext_printf (the
3057 string in in question is already translated from grub-reboot)
3059 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3061 * configure.ac: Bump up the version to beta1.
3063 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3065 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3066 case when min_align = 0.
3068 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3070 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3071 and fix a case when line_start overflows.
3073 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3075 * util/grub-reboot.in (usage): Mention id posibility.
3076 * util/grub-set-default.in (usage): Likewise.
3078 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3080 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3081 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3082 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3083 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3084 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3085 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3086 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3088 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3090 * grub-core/commands/menuentry.c (options): Remove
3091 GRUB_ARG_OPTION_REPEATABLE.
3092 Reported by: Andreas Vogel
3094 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3096 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3098 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3100 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3103 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3105 Use sort -V by the idea of Georgi Georgiev.
3107 * util/grub-mkconfig_lib.in (version_sort): New function.
3108 (version_test_numeric): Use version_sort.
3110 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3112 Use submenus in grub-mkconfig.
3114 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3115 * util/grub-mkconfig_lib.in (grub_quote): New function.
3116 (gettext_printf): Use gettext and not gettext_quoted to fix several
3118 * util/grub.d/10_hurd.in: Use submenus.
3119 * util/grub.d/10_kfreebsd.in: Likewise.
3120 * util/grub.d/10_linux.in: Likewise.
3121 * util/grub.d/10_netbsd.in: Likewise.
3122 * util/grub.d/20_linux_xen.in: Likewise.
3123 * util/grub.d/30_os-prober.in: Likewise.
3124 * util/grub.d/10_illumos.in: Add missing quoting.
3125 * util/grub.d/10_windows.in: Likewise.
3127 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3129 Fix menu title instability bug.
3131 * grub-core/commands/menuentry.c (options): New option --id.
3132 (grub_normal_add_menu_entry): New argument id. All users updated.
3133 (grub_cmd_menuentry): Handle --id.
3134 (grub_menu_init): Accept unknown arguments.
3135 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3136 feature_menuentry_options.
3137 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3139 (get_entry_number): Match with id as well.
3140 * include/grub/menu.h (grub_menu_entry): New member id.
3141 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3142 * util/grub.d/00_header.in: Define menuentry_id_option.
3143 * util/grub.d/10_hurd.in: Define id.
3144 * util/grub.d/10_illumos.in: Likewise.
3145 * util/grub.d/10_kfreebsd.in: Likewise.
3146 * util/grub.d/10_linux.in: Likewise.
3147 * util/grub.d/10_netbsd.in: Likewise.
3148 * util/grub.d/10_windows.in: Likewise.
3149 * util/grub.d/20_linux_xen.in: Likewise.
3150 * util/grub.d/30_os-prober.in: Likewise.
3152 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3154 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3155 "scope" with "body".
3157 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3159 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3160 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3161 prot_size and prot_file_size.
3163 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3165 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3166 All users updated. If easily=1 require raid-5/-6 to be full.
3167 (is_node_readable): Likewise.
3168 (scan_devices): Scan incomplete but readable LVs at the end.
3169 (grub_diskfilter_memberlist): Pull missing devices.
3170 (insert_array): Skip scanning until device is complete or scan is
3172 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3174 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3175 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3177 2012-03-03 Matthew Garrett <mjg@redhat.com>
3178 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3180 Avoid EFI boot services when loading Linux.
3182 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3183 avoid_efi_bootservices. All users updated.
3184 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3185 argument avoid_efi_bootservices. All users updated.
3186 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3187 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3188 align, min_align, relocatable, prefered_address. All users updated.
3189 Allocate avoiding boot services if kernel is relocatable.
3190 (grub_cmd_linux): Check if kernel is relocatable.
3191 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3192 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3193 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3194 avoid_efi_boot_services.
3195 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3196 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3197 (linux_kernel_params): Likewise.
3199 2012-03-03 Matthew Garrett <mjg@redhat.com>
3200 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3204 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3206 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3207 modes. Set gop_handle.
3208 (grub_video_gop_get_edid): New function.
3209 (grub_gop_get_preferred_mode): Likewise.
3210 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3211 (grub_video_efi_gop_adapter): Set .get_edid.
3212 * include/grub/efi/edid.h: New file.
3213 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3215 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3217 * util/grub-install.in: Load efivars unconditionally.
3219 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3221 * po/Rules-piglatin: Change suffix from .po-update-en to
3222 .po-update-en-piglatin.
3224 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3228 * po/piglatin.sed: New file.
3229 * po/en@piglatin.header: Likewise.
3230 * po/Rules-piglatin: Likewise.
3231 * po/README: Add en@piglatin to autogenerated languages.
3233 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3235 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3237 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3238 "Check" since we don't check anything.
3239 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3241 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3242 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3243 (grub_md_sha512_real): Likewise.
3245 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3247 * grub-core/commands/gptsync.c: Fix typographic quoting.
3248 * grub-core/commands/ieee1275/suspend.c: Likewise.
3249 * grub-core/commands/parttool.c: Likewise.
3250 * grub-core/commands/search_wrap.c: Likewise.
3251 * grub-core/commands/videoinfo.c: Likewise.
3252 * grub-core/gfxmenu/gui_label.c: Likewise.
3253 * grub-core/hello/hello.c: Likewise.
3254 * grub-core/kern/emu/main.c: Likewise.
3255 * grub-core/net/net.c: Likewise.
3256 * grub-core/normal/menu.c: Likewise.
3257 * grub-core/normal/menu_text.c: Likewise.
3258 * grub-core/normal/misc.c: Likewise.
3259 * util/grub-editenv.c: Likewise.
3260 * util/grub-install.in: Likewise.
3261 * util/grub-kbdcomp.in: Likewise.
3262 * util/grub-mkconfig.in: Likewise.
3263 * util/grub-mknetdir.in: Likewise.
3264 * util/grub-mkrescue.in: Likewise.
3265 * util/grub-mkstandalone.in: Likewise.
3266 * util/grub-reboot.in: Likewise.
3267 * util/grub-set-default.in: Likewise.
3268 * util/grub-setup.c: Likewise.
3269 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3271 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3273 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3274 * grub-core/commands/keystatus.c: Likewise.
3275 * grub-core/commands/loadenv.c: Likewise.
3276 * grub-core/commands/probe.c: Likewise.
3277 * grub-core/commands/regexp.c: Likewise.
3278 * grub-core/commands/true.c: Likewise.
3279 * grub-core/commands/videoinfo.c: Likewise.
3280 * grub-core/disk/cryptodisk.c: Likewise.
3281 * grub-core/disk/ldm.c: Likewise.
3282 * grub-core/disk/loopback.c: Likewise.
3283 * grub-core/disk/luks.c: Likewise.
3284 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3285 * grub-core/kern/disk.c: Likewise.
3286 * grub-core/kern/emu/hostdisk.c: Likewise.
3288 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3290 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3291 * util/grub-install.in: Add missing quote in the comment.
3293 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3295 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3296 * grub-core/commands/lsmmap.c: Likewise.
3297 * grub-core/commands/minicmd.c: Likewise.
3298 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3299 * grub-core/commands/regexp.c: Likewise.
3300 * grub-core/gdb/gdb.c: Likewise.
3301 * grub-core/term/gfxterm.c: Likewise.
3302 * util/grub-mkconfig.in: Likewise.
3303 * util/grub-mkfont.c: Likewise.
3304 * util/grub-mklayout.c: Likewise.
3305 * util/grub-mknetdir.in: Likewise.
3306 * util/grub-mkrescue.in: Likewise.
3307 * util/grub.d/30_os-prober.in: Likewise.
3309 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3311 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3312 with "Direct color" and "Packed" with "Packed pixel".
3313 (grub_cmd_videoinfo): Simplify legend.
3315 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3317 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3318 absolutely unclear error message.
3320 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3322 * util/grub-mkstandalone.in: Remove confusing leftover print.
3324 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3326 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3328 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3329 (GRUB_MOD_INIT): Likewise.
3330 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3332 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3334 * util/grub-install.in (usage): Likewise.
3335 Spell ID in whole letters.
3336 Add missing ending dot.
3338 * util/grub-reboot.in: Fix capitalisation.
3339 * util/grub-set-default.in: Likewise.
3341 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3343 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3344 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3345 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3346 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3347 Disable -Werror for -Wdeprecated-declarations.
3348 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3349 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3350 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3351 (grub_util_get_grub_dev): Make luks handling dependent on
3352 HAVE_DEVICE_MAPPER and not __linux__.
3353 (get_win32_path): Fix format security.
3354 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3355 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3356 Don't try grub_find_zpool_from_dir.
3357 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3358 #ifdef-out paresdir.
3360 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3362 * util/grub-pe2elf.c (usage): Add missing noreturn.
3363 (write_section_data): Rename name to shname to avoid shadowing.
3364 (write_symbol_table): Rename name to symname to avoid shadowing.
3365 Fix write_reloc_section call.
3367 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3369 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3370 to ensure that it's after the last byte of .text.
3372 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3374 * util/ieee1275/ofpath.c (my_isdigit): New function.
3375 (trailing_digits): Use my_isdigit.
3376 (strip_trailing_digits): Likewise.
3378 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3380 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3381 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3383 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3385 * grub-core/kern/i386/pc/startup.S: Define __start.
3387 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3389 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3390 strip already transforms he format.
3392 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3394 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3396 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3398 * util/grub-install.in: Add missing gettext init.
3399 * util/grub-kbdcomp.in: Likewise.
3400 * util/grub-mkconfig.in: Likewise.
3401 * util/grub-mknetdir.in: Likewise.
3402 * util/grub-mkrescue.in: Likewise.
3403 * util/grub-mkstandalone.in: Likewise.
3404 * util/grub-reboot.in: Likewise.
3405 * util/grub-set-default.in: Likewise.
3406 * util/grub.d/00_header.in: Likewise.
3407 * util/grub.d/10_hurd.in: Likewise.
3408 * util/grub.d/10_windows.in: Likewise.
3409 * util/grub.d/30_os-prober.in: Likewise.
3410 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3412 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3414 * po/Rules-swiss: Fix header comment.
3416 2012-02-29 Andreas Vogel <anvoit>
3418 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3419 resulted in leak of arguments.
3421 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3423 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3424 reed_solomon_size const definition instead of computing it since
3425 Apple assembler doesn't support the later.
3427 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3429 * gentpl.py (kernel): Rewrite Apple part.
3431 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3433 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3435 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3437 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3439 (load_image): Likewise.
3441 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3443 * configure.ac: Fix a typo in previous commit.
3445 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3447 Don't add -Wl,-N on Apple platform.
3449 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3450 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3452 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3454 * grub-core/Makefile.core.def (lzma_decompress): Use
3455 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3457 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3459 * grub-core/genmod.sh.in: Rewrite the Apple part.
3461 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3463 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3466 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3468 * acinclude.m4 (grub_CHECK_PIC): New test.
3469 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3471 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3473 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3474 to avoid the warning.
3476 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3478 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3479 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3480 after. All users updated.
3482 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3484 Use the common size routine in hostfs so we can read disks as well.
3486 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3487 (grub_util_get_fd_size): ... this. Return size in bytes.
3489 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3490 grub_util_get_fd_size.
3492 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3494 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3495 Add blocksize retrieval.
3497 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3499 * configure.ac: Restore CFLAGS after efiemu check.
3501 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3503 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3506 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3508 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3510 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3512 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3513 (grub_cmd_halt): Likewise.
3515 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3517 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3518 for local arithmetics.
3519 Break %sp init into 2 instructions.
3520 Add 0 byte at the end.
3522 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3524 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3527 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3529 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3532 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3534 * grub-core/disk/ldm.c (make_vg): Init part.name.
3535 (grub_ldm_detect): Silence spurious warning.
3536 (grub_util_is_ldm): Likewise.
3538 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3540 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3541 sane value to avoid a spurious warning.
3543 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3545 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3546 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3548 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3550 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3551 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3553 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3555 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3556 hardcoding the relevant info.
3558 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3560 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3561 missing const qualifiers.
3562 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3564 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3566 * util/getroot.c [__APPLE__]: Add missing includes.
3567 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3569 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3571 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3573 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3575 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3578 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3580 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3582 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3584 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3585 and grub_file_close call.
3587 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3589 Add LZSS Mach-O support (needed for new xnu kernelcache).
3591 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3592 * grub-core/loader/lzss.c: New file.
3593 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3594 on Mach-O open failure.
3595 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3596 Don't free cmdsXX in uncompressedXX is set.
3597 (grub_macho_file): Init new fields.
3598 New argument is_64bit. All users updated.
3599 Handle compressed. Error out if no suitable architecture is found.
3601 (grub_macho_open): New argument is_64bit. All users updated.
3602 * grub-core/loader/macho32.c: Add defines for new fields.
3603 * grub-core/loader/macho64.c: Likewise.
3604 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3605 (grub_macho_parse): Handle compressed.
3606 Defer actual processing if compressed.
3607 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3608 "filename". All users updated.
3609 (grub_macho_size): New argument "filename". All users updated.
3610 (grub_macho_get_entry_point): Likewise.
3611 (grub_macho_load): Handle compressed.
3612 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3613 (GRUB_MACHO_LZSS_OFFSET): New define.
3614 (grub_decompress_lzss): New proto.
3615 * include/grub/machoload.h (grub_macho_file): New fields to handle
3617 (grub_macho_contains_macho64): Remove proto.
3618 (grub_macho_contains_macho32): Likewise.
3619 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3621 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3623 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3625 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3629 * Makefile.am (starfield_theme_files): New var.
3630 (starfield_DATA): Use starfield_theme_files.
3631 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3632 Add bootcheck-related files.
3633 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3634 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3635 and font_char_metrics.txt.
3636 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3637 (setjmp): Add lib/ia64/longjmp.S.
3638 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3639 * po/POTFILES.in: Regenerate.
3640 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3641 DISTFILES.common.extra1.
3642 * util/devicemap.c: Removed.
3643 * grub-core/lib/i386/relocator_backward.S: Likewise.
3644 * util/import_gcry.py: Remove unused files. Add extra_dist for
3647 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3649 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3650 grub_gettext_delete_list before changing grub_gettext_max to avoid
3651 running out of array bounds.
3653 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3655 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3656 grub_vga_text_init/grub_vga_text_fini.
3658 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3660 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3662 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3664 * configure.ac: Bump to 2.00~beta0.
3666 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3668 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3669 missing initialisation.
3671 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3673 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3675 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3677 Support v2 xnu boot arguments.
3679 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3680 New argument fsbfreq_out.
3681 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3682 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3684 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3686 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3687 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3688 (grub_xnu_boot_params): Rename to ...
3689 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3690 (grub_xnu_boot_params_v2): New struct.
3692 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3694 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3695 zeroing of CRC field before computing CRC.
3697 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3699 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3700 Change order of allocations to decrease fragmentation.
3702 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3704 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3706 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3708 Use write-combining MTRR to speed up video with buggy BIOSes.
3710 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3711 (cpuid): New define.
3714 (mtrr_base): Likewise.
3715 (mtrr_mask): Likewise.
3716 (grub_vbe_enable_mtrr_entry): New function.
3717 (grub_vbe_enable_mtrr): Likewise.
3718 (grub_vbe_disable_mtrr): Likewise.
3719 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3720 control off to BIOS.
3721 (grub_video_vbe_init): Fill mtrr.
3722 (grub_video_vbe_fini): Disable mtrr.
3723 (grub_video_vbe_get_info_and_fini): Likewise.
3724 (grub_video_vbe_setup): Enable mtrr.
3726 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3728 * include/grub/partition.h (grub_partition_map): Change prototype of
3729 embed to take a maximum value for nsectors.
3730 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3731 * include/grub/fs.h (grub_fs): Likewise.
3732 * grub-core/partmap/msdos.c (embed_signatures): New array.
3733 (pc_partition_map_embed): Check for and avoid sectors matching any
3734 of the signatures in embed_signatures, up to max_nsectors.
3735 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3736 returned sector map to max_nsectors.
3737 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3738 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3739 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3740 * util/grub-setup.c (setup): Allow for the embedding area being
3741 split into multiple blocklists. Tell dest_partmap->embed the
3742 maximum number of sectors we care about.
3744 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3746 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3747 Specify blocklist_install and reserver_first_sector for all fs.
3748 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3751 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3753 * util/grub-install.in: Clarify strings.
3754 Fix source dir check.
3756 2012-02-27 Richard Laager <rlaager@wiktel.com>
3758 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3759 "zfs" and "fuse.zfs" as synonyms.
3761 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3763 * configure.ac: Put platform and target_cpu substitutions back since
3764 they are used for directories.
3766 2012-02-27 Richard Laager <rlaager@wiktel.com>
3767 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3769 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3770 * util/grub.d/20_linux_xen.in: Likewise.
3772 2012-02-27 Richard Laager <rlaager@wiktel.com>
3774 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3777 2012-02-27 Richard Laager <rlaager@wiktel.com>
3779 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3782 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3784 Don't use insecure popen in getroot.
3786 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3787 (exec_pipe): ... here.
3788 (find_root_devices_from_poolname): Use exec_pipe.
3790 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3792 Remove platform and target_cpu replacement.
3794 * configure.ac: Remove platform and target_cpu substitutions.
3795 * tests/util/grub-shell.in: Use modinfo.
3796 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3799 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3801 Autodetect platform in grub-install but allow override.
3803 * util/grub-install.in: Autodetect platform. Support --target and
3804 --directory. Read platform from modinfo.sh.
3806 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3808 Support btrfs multi-volume probe.
3810 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3811 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3812 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3813 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3814 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3815 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3816 grub_find_root_devices_from_btrfs if on btrfs.
3818 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3820 Remove any awareness of *.c util files about target.
3822 * Makefile.util.def (grub-setup): Split to ...
3823 (grub-bios-setup): ... and this.
3824 (grub-sparc64-setup): ... and this.
3825 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3826 * docs/man/grub-setup.h2m: Split into ...
3827 * docs/man/grub-sparc64-setup.h2m: ... this.
3828 * docs/man/grub-bios-setup.h2m: ... and this.
3829 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3830 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3831 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3832 (grub_target_addr_t): Remove.
3833 (grub_target_size_t): Remove.
3834 (grub_target_ssize_t): Remove.
3835 * util/grub-install.in: Use new grub-*-setup.
3836 * util/grub-mkimagexx.c (Elf_Word): New define.
3837 (Elf_Half): Likewise.
3838 (Elf_Section): Likewise.
3839 (ELF_ST_TYPE): Likewise.
3840 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3841 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3843 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3845 Replace grub_target_addr with more appropriate types.
3847 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3848 grub_target_addr with grub_addr.
3849 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3850 grub_target_addr with grub_port.
3851 (grub_cmd_write): Likewise.
3852 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3853 grub_target_addr with grub_addr.
3854 (grub_cmd_write): Likewise.
3855 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3857 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3859 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3860 const qualifier for vendor_guid.
3862 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3864 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3866 (efiemu_memequal): Likewise.
3867 (find_variable): Likewise.
3869 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3871 Fix missing console prototype on qemu-mips.
3873 * include/grub/mips/qemu_mips/console.h: New file.
3875 2012-02-27 Matthew Garrett <mjg@redhat.com>
3876 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3878 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3879 * include/grub/efi/efi.h: Likewise.
3880 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3881 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3882 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3883 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3884 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3885 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3887 2012-02-27 Matthew Garrett <mjg@redhat.com>
3889 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3891 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3893 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3896 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3898 * configure.ac: Remove inappropriate use of program_transform_name
3899 on grubdir and bootdir but allow explicit specification of those
3902 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3904 * util/grub-mknetdir.in (grub_prefix): Removed.
3905 (subdir): Use @bootdirname@ and @grubdirname@.
3907 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3909 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3911 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3913 * po/POTFILES.in: Regenerated.
3915 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3917 Remove improper use of program_transform_name on pkglibrootdir.
3919 * configure.ac (pkglibrootdir): Removed.
3920 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
3921 * util/grub-mkimage.c: Likewise.
3923 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3925 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
3928 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3930 * util/grub-install.in: Use file identifier if no UUID is available
3931 or user explicitly prompted for it.
3933 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
3935 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
3936 (freebsd_get_zfs): New function.
3937 (grub_freebsd_boot): Pass zfs UUID.
3938 (grub_cmd_freebsd): Set zfs UUID.
3940 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3942 * conf/Makefile.common (platformdir): Base on pkglibdir and not
3945 2012-02-27 Mike Gilbert <floppym@gentoo.org>
3947 Add configure flag to control libzfs integration.
3949 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
3951 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3953 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
3955 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
3958 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3960 Remove grub_{modname}_init and grub_{modname}_fini. They should never
3961 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
3962 be used on non-modules.
3964 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
3965 Rename to grub_boot_init.
3966 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
3967 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
3968 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
3969 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
3970 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
3971 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
3972 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
3973 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
3975 (grub_machine_init): Remove empty inits.
3976 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
3978 (grub_machine_init): Remove empty inits.
3979 * grub-core/term/arc/console.c: Remove explicit proto.
3980 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
3981 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
3982 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3983 grub_at_keyboard_fini.
3984 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
3985 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
3986 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3988 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
3989 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
3990 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3992 * grub-core/term/ieee1275/console.c: Remove explicit proto.
3993 * grub-core/term/serial.c (GRUB_MOD_INIT)
3994 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
3995 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3997 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
3998 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
3999 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4001 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4002 (GRUB_MOD_FINI): Likewise.
4003 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4004 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4005 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4006 grub_video_radeon_fuloong2e_fini.
4007 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4008 [LOONGSON]: Rename to grub_video_sis315pro_init.
4009 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4010 grub_video_sis315pro_fini.
4011 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4012 [LOONGSON]: Rename to grub_video_sm712_init.
4013 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4014 grub_video_sm712_fini.
4015 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4016 (grub_at_keyboard_fini): Likewise.
4017 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4018 Don't declare grub_{modname}_init.
4019 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4020 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4022 (grub_keylayouts_fini) [!EMU]: Likewise.
4023 * include/grub/serial.h (grub_serial_init) [!EMU]:
4025 (grub_serial_fini) [!EMU]: Likewise.
4026 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4028 (grub_terminfo_fini) [!EMU]: Likewise.
4029 * include/grub/video.h (grub_font_init) [!EMU]:
4031 (grub_font_fini) [!EMU]: Likewise.
4032 (grub_gfxterm_init) [!EMU]: Likewise.
4033 (grub_gfxterm_fini) [!EMU]: Likewise.
4034 (grub_video_sm712_init) [!EMU]: Likewise.
4035 (grub_video_sm712_fini) [!EMU]: Likewise.
4036 (grub_video_sis315pro_init) [!EMU]: Likewise.
4037 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4038 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4039 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4041 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4043 Make nand a prefix for nand devices.
4045 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4047 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4049 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4050 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4052 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4054 * include/grub/env.h (grub_env_find): Remove prototype.
4055 * grub-core/kern/env.c (grub_env_find): Make static.
4056 (grub_env_set): Remove useless set.
4058 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4060 * grub-core/kern/i386/realmode.S: Remove useless align.
4062 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4064 * include/grub/dl.h (grub_dl_load_file): Don't export.
4066 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4068 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4071 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4073 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4075 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4076 not reloading whole superblock but only the part which is really needed.
4077 Remove useless grub_errors.
4078 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4081 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4083 Don't export grub_get_rtc.
4085 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4086 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4088 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4090 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4092 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4094 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
4095 argument since it can be deduced from diskfilter. All users updated.
4097 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4101 * include/grub/list.h (grub_prio_list): Removed.
4102 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4103 GRUB_COMMAND_PRIO_MASK.
4104 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4105 GRUB_COMMAND_FLAG_ACTIVE.
4106 (grub_prio_list_insert): Removed.
4107 (grub_prio_list_remove): Likewise.
4108 (GRUB_AS_PRIO_LIST): Likewise.
4109 (GRUB_AS_PRIO_LIST_P): Likewise.
4110 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4111 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4112 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4113 * grub-core/kern/command.c (grub_register_command_prio): Inline
4115 (grub_unregister_command): Likewise.
4117 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4119 Fix interrupt mixup from previous commit.
4121 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4122 (grub_realidt): New var.
4123 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4125 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4127 (grub_relocator16_boot): Set grub_relocator16_idt.
4128 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4129 (LOCAL(realidt)): ... this.
4130 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4131 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4132 (grub_realidt): New variable.
4134 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4136 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4137 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4138 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4139 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4141 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4142 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4143 * po/POTFILES.in: Regenerate.
4145 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4147 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4150 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4152 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4154 (add_length): Likewise.
4156 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4157 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4159 GDB serial and backtrace support.
4161 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4162 (prot_to_real): Likewise.
4163 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4164 * grub-core/Makefile.core.def (backtrace): New module.
4166 * grub-core/gdb/cstub.c: New file.
4167 * grub-core/gdb/gdb.c: Likewise.
4168 * grub-core/gdb/i386/idt.c: Likewise.
4169 * grub-core/gdb/i386/machdep.S: Likewise.
4170 * grub-core/gdb/i386/signal.c: Likewise.
4171 * grub-core/lib/i386/backtrace.c: Likewise.
4172 * grub-core/lib/backtrace.c: Likewise.
4173 * include/grub/backtrace.h: Likewise.
4174 * include/grub/gdb.h: Likewise.
4175 * include/grub/i386/gdb.h: Likewise.
4177 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4179 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4181 (add_length): Likewise.
4182 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4183 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4185 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4186 __argp_get_display_len.
4188 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4190 $"..." support in scripts.
4192 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4193 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4194 * grub-core/script/yylex.l: Likewise.
4195 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4198 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4200 * gentpl.py: Remove obsolete pkglib_DATA handling.
4202 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4204 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4207 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4208 * util/grub-kbdcomp.in: Likewise.
4209 * util/grub-mkconfig.in: Likewise.
4210 * util/grub-mkconfig_lib.in: Likewise.
4211 * util/grub-mknetdir.in: Likewise.
4212 * util/grub-mkrescue.in: Likewise.
4213 * util/grub-mkstandalone.in: Likewise.
4214 * util/grub-reboot.in: Likewise.
4215 * util/grub-set-default.in: Likewise.
4216 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4218 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4222 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4223 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4224 used for backward compatibility.
4226 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4228 Add new all_video module.
4230 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4231 * grub-core/Makefile.core.def (all_video): New module.
4232 * grub-core/genmoddep.awk: Generate dependency of all_video from
4234 * grub-core/lib/fake_module.c: New file.
4235 * grub-core/normal/main.c (features): Add feature_all_video_module.
4236 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4237 don't do explicit search again.
4238 insmod all_video in load_video if available.
4240 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4242 Another round of string clarification and adding TRANSLATORS comments.
4244 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4246 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4248 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4250 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4252 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4253 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4255 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4257 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4258 trailing newline implicitly. All users updated.
4260 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4262 Implement serial on IEEE1275 and EFI.
4264 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4265 on emu. Mention arc and emu as the only platforms without serial
4267 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4269 * grub-core/term/efi/serial.c: New file.
4270 * grub-core/term/ieee1275/serial.c: Likewise.
4271 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4272 specification if no ns8250 driver is available.
4273 (grub_cmd_serial): Likewise.
4274 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4275 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4276 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4277 (grub_efi_parity_type_t): New type.
4278 (grub_efi_stop_bits_t): Likewise.
4279 (grub_efi_serial_io_interface): New struct.
4280 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4281 available for all interfaces.
4282 Add EFI and IEEE1275 fields.
4283 (grub_ofserial_init): New proto.
4284 (grub_efiserial_init): Likeiwse.
4285 * util/grub.d/00_header.in: Don't check for the presence of serial
4288 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4290 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4291 name as if it was an alias.
4293 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4295 * grub-core/commands/lsacpi.c (options): Fix typo.
4297 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4299 Convert grub-emu to argp.
4301 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4303 * util/argp_common.c: Rename to ...
4304 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4305 Add missing includes.
4306 * grub-core/kern/emu/main.c: Convert to argp.
4307 * po/POTFILES.in: Regenerate.
4308 * util/grub-install.in (usage): Make first letter lowcase in messages
4310 * util/grub-setup.c (options): Likewise.
4312 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4314 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4315 Put back accidently commented-out code.
4317 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4319 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4320 loop check using Brent algorithm.
4321 (grub_hfsplus_btree_search): Likewise.
4323 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4325 * util/grub-install.in: Fix usage of wrong device for PreP install.
4327 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4329 * conf/Makefile.common (CFLAGS_GNULIB): Add
4330 -Wno-unsafe-loop-optimizations.
4331 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4333 * grub-core/commands/legacycfg.c: Add pragma to skip
4334 -Wunsafe-loop-optimizations.
4335 (check_password_md5_real): Fix loop counter type.
4336 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4338 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4339 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4341 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4342 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4343 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4345 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4346 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4347 avoid possible infinite loops.
4348 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4349 and -Wunsafe-loop-optimizations.
4350 * grub-core/script/yylex.l: Likewise.
4351 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4352 (print_glyphs): Avoid infinite loops.
4353 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4355 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4357 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4358 to avoid infinite loop.
4359 (disp_acpi_rsdt_table): Likewise.
4361 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4363 * grub-core/font/font.c (grub_font_load): Add support for default
4364 path for fonts ($prefix/fonts).
4365 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4366 for checking if string is a path.
4367 * grub-core/normal/main.c (features): Add feature_default_font_path.
4368 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4369 * util/grub.d/00_header.in: Use default directory if possible.
4370 * util/grub-install.in: Install unicode.pf2.
4372 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4374 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4375 * po/Rules-swiss: New file.
4376 * po/swiss.sed: Likewise.
4378 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4380 * grub-core/fs/btrfs.c (find_device): Fix typos.
4381 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4382 * util/grub-mkrelpath.c (argp_parser): Likewise.
4383 Reported by: Yuri Chornoivan.
4385 2012-02-23 Dalet Omega <daletomega@gmail.com>
4387 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4388 for usual informative messages.
4390 2012-02-23 Dalet Omega <daletomega@gmail.com>
4394 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4395 * conf/Makefile.common: Define starfielddir.
4396 * configure.ac: Configure starfield.
4397 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4398 * themes/starfield/README: Likewise.
4399 * themes/starfield/blob_w.png: Likewise.
4400 * themes/starfield/boot_menu_c.png: Likewise.
4401 * themes/starfield/boot_menu_e.png: Likewise.
4402 * themes/starfield/boot_menu_n.png: Likewise.
4403 * themes/starfield/boot_menu_ne.png: Likewise.
4404 * themes/starfield/boot_menu_nw.png: Likewise.
4405 * themes/starfield/boot_menu_s.png: Likewise.
4406 * themes/starfield/boot_menu_se.png: Likewise.
4407 * themes/starfield/boot_menu_sw.png: Likewise.
4408 * themes/starfield/boot_menu_w.png: Likewise.
4409 * themes/starfield/slider_c.png: Likewise.
4410 * themes/starfield/slider_n.png: Likewise.
4411 * themes/starfield/slider_s.png: Likewise.
4412 * themes/starfield/src/blob_nw.xcf: Likewise.
4413 * themes/starfield/src/bootmenu/: Likewise.
4414 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4415 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4416 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4417 * themes/starfield/src/slider_c.xcf: Likewise.
4418 * themes/starfield/src/slider_n.xcf: Likewise.
4419 * themes/starfield/src/slider_s.xcf: Likewise.
4420 * themes/starfield/src/terminalbox/: Likewise.
4421 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4422 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4423 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4424 * themes/starfield/starfield.png: Likewise.
4425 * themes/starfield/terminal_box_c.png: Likewise.
4426 * themes/starfield/terminal_box_e.png: Likewise.
4427 * themes/starfield/terminal_box_n.png: Likewise.
4428 * themes/starfield/terminal_box_ne.png: Likewise.
4429 * themes/starfield/terminal_box_nw.png: Likewise.
4430 * themes/starfield/terminal_box_s.png: Likewise.
4431 * themes/starfield/terminal_box_se.png: Likewise.
4432 * themes/starfield/terminal_box_sw.png: Likewise.
4433 * themes/starfield/terminal_box_w.png: Likewise.
4434 * themes/starfield/theme.txt: Likewise.
4436 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4438 * util/grub.d/00_header.in: Add missing export theme.
4440 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4442 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4444 Reported by: Eren D.
4446 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4448 * conf/Makefile.common (grubdatadir): Removed.
4449 (Makefile.am): Move eveything grubdata to pkgdata.
4451 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4453 * grub-core/commands/acpihalt.c (get_sleep_type):
4454 Remove unused variable.
4456 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4458 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4459 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4460 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4461 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4462 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4463 i18n with gettext no-op.
4464 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4465 GRUB_ACPI_OPCODE_STRING_CONST.
4466 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4467 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4469 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4471 * po/POTFILES.in: Regenerate.
4473 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4475 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4476 -Wno-error=missing-noreturn.
4478 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4480 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4481 condition to avoid possibly infinite loops.
4482 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4483 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4485 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4487 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4488 condition to avoid possibly infinite loops.
4490 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4492 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4495 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4497 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4499 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4501 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4503 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4505 * util/bin2h.c (usage): Add missing attribute noreturn.
4507 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4509 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4510 if the size isn't divisible by 512.
4512 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4514 Make list_push and list_remove functions rather than inline functions
4515 to decrease size and avoid aliasing violations.
4517 * include/grub/list.h (grub_list_push): Move to ...
4518 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4519 * include/grub/list.h (grub_list_remove): Move to ...
4520 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4522 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4524 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4525 and -Wunused-result.
4527 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4529 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4530 Reported by: Seth Goldberg
4532 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4534 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4536 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4538 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4539 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4541 * docs/grub.texi (Simple configuration): Document
4542 GRUB_CMDLINE_GNUMACH.
4544 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4546 * conf/Makefile.common (platform_SCRIPTS): New variable.
4547 (platform_PROGRAMS): Likewise.
4548 * gentpl.py: Mark *,module and *.image for install.
4549 * grub-core/gdb_grub.in: Add a notice of expected environment.
4550 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4551 (gmodule.pl): Likewise.
4553 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4555 Replace grub_checkkey with grub_getkey_noblock.
4557 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4558 (grub_getkey_noblock): ... this. All users updated.
4560 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4562 * grub-core/kern/emu/console.c: Move to ...
4563 * grub-core/term/emu/console.c: ...here.
4564 (grub_ncurses_getkey): Fix return value if no key is detected.
4566 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4568 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4569 (grub_unit_test_fini): Likewise.
4570 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4572 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4574 * include/grub/test.h (GRUB_UNIT_TEST)
4576 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4578 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4579 Better error handling.
4580 (grub_script_return): Likewise.
4581 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4583 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4585 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4586 rimplicit redifinition.
4588 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4590 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4593 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4595 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4596 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4599 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4601 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4602 as GRUB_ERR_BUG. Don't malloc if no device is available.
4604 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4606 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4607 Mark calling with invalid term as GRUB_ERR_BUG.
4609 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4611 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4612 packets rather than raising an error.
4614 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4616 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4619 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4621 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4622 diagnostic to dprintf.
4623 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4625 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4627 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4630 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4632 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4633 (grub_ntfs_iterate_dir): Likewise.
4635 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4637 Efiemu stylistic fixes and gettext.
4639 * grub-core/efiemu/i386/loadcore32.c
4640 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4641 * grub-core/efiemu/i386/loadcore64.c
4642 (grub_arch_efiemu_relocate_symbols64): Likewise.
4643 * grub-core/efiemu/i386/pc/cfgtables.c
4644 (grub_machine_efiemu_init_tables): Likewise.
4645 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4646 (grub_efiemu_loadcore_initXX): Add a filename argument.
4648 Improved error message.
4649 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4650 Add a filename argument.
4652 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4653 Reclassify double relocation as GRUB_ERR_BUG.
4655 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4657 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4660 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4662 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4665 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4667 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4669 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4671 Improve string. Gettextize.
4673 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4675 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4677 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4679 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4681 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4682 [GRUB_UTIL]: New function.
4683 (insert_array) [GRUB_UTIL]: Store partmaps.
4684 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4686 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4687 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4688 (probe_abstraction): Print diskfilter and not raid.
4689 Reported by: Lennart Sorensen
4691 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4693 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4694 * util/grub-mkimagexx.c (MASK3): New define.
4695 (add_value_to_slot_20b): Use MASK3.
4696 (add_value_to_slot_21): Likewise.
4697 (relocate_addresses): Fix format specification.
4698 (load_image): Explicitly init symtab_section.
4700 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4702 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4703 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4705 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4707 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4709 Reported by: Lennart Sorensen
4711 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4713 * gentpl.py: Add missing license header.
4714 * docs/grub.texi: Update copyright year.
4716 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4718 Source grub-mkconfig_lib from the build directory at build time.
4719 Suggested by: Vladimir Serbinenko.
4721 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4722 * util/grub-install.in: Define pkgdatadir if not already set, and source
4723 grub-mkconfig_lib from there.
4724 * util/grub-kbdcomp.in: Likewise.
4725 * util/grub-mkconfig.in: Likewise.
4726 * util/grub-mknetdir.in: Likewise.
4727 * util/grub-mkrescue.in: Likewise.
4728 * util/grub-mkstandalone.in: Likewise.
4729 * util/grub-reboot.in: Likewise.
4730 * util/grub-set-default.in: Likewise.
4731 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4733 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4735 Increase warning level.
4737 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4738 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4739 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4740 (TARGET_CFLAGS): Likewise.
4741 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4742 * grub-core/Makefile.core.def (decompressor_xz): Add
4743 -Wno-unreachable-code.
4744 (normal): Add -Wno-redundant-decls.
4745 (xzio): Add -Wno-unreachable-code.
4746 (lzopio): Add -Wno-redundant-decls -Wno-error.
4747 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4748 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4749 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4750 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4751 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4752 * grub-core/kern/i386/coreboot/init.c: Add exception to
4753 -Wsuggest-attribute=noreturn.
4754 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4755 * grub-core/kern/ia64/dl_helper.c: Likewise.
4756 * grub-core/kern/mips/dl.c: Likewise.
4757 * grub-core/kern/sparc64/dl.c: Likewise.
4758 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4759 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4761 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4762 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4763 * grub-core/loader/mips/linux.c: Likewise.
4764 * grub-core/loader/multiboot_elfxx.c: Likewise.
4765 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4766 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4767 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4768 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4770 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4771 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4774 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4776 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4779 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4781 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4782 Avoid improper use of strings.
4783 (grub_cmd_legacy_initrdnounzip): Likewise.
4785 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4787 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4789 (grub_util_info): Likewise.
4790 (grub_util_error): Likewise.
4792 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4794 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4795 * util/grub-fstest.c (fstest): Likewise.
4797 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4799 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4800 (grub_md_sha512_real): Likewise.
4801 (grub_util_get_geli_uuid): Likewise.
4802 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4803 (grub_util_biosdisk_open): Fix format specification.
4804 Respect format security.
4805 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4806 (xrealloc): Likewise.
4807 (xasprintf): Likewise.
4809 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4811 * util/import_gcry.py: Include grub/crypto.h in init.c.
4813 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4815 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4816 (generate_image): Make prefix a const char *.
4817 Fix format specifications. Respect format security.
4818 Avoid void * arithmetics.
4820 (argp_parser): Remove unused variable. Respect format security.
4821 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4822 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4823 (count_funcs): Remove unused variable.
4824 (relocate_addresses): Fix format specification.
4825 Disable x86-64 with elf32. Remove unused variables.
4826 (add_fixup_entry): Avoid shadowing.
4827 (make_reloc_section): Fix format specification.
4829 (locate_sections): Fix format specifications.
4830 (load_image): Avoid shadowing.
4832 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4834 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4835 Fix format specifications. Respect format security.
4836 Don't translate already translated grub_errmsg.
4837 (argp_parser): Remove unused variable
4839 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4841 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4843 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4845 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4846 (main): Likewise. Use xmalloc. Respect format security.
4848 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4850 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4852 (argp_parser): Remove unused variable.
4854 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4856 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4857 (add_pixel): Make static.
4858 (add_font): Likewise.
4859 (write_string_section): Make name and str a const char *.
4860 (write_be16_section): Make name a const char *.
4861 (print_glyphs): Make static.
4862 (write_font_ascii_bitmap): Likewise.
4863 (write_font_width_spec): Likewise.
4864 (write_font_pf2): Likewise.
4865 (argp_parser): Remove unused variable.
4866 Respect format security.
4867 (main): Avoid shadowing. Respect format security.
4869 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4871 * util/grub-editenv.c (argp_parser): Make static.
4872 (create_envblk_file): Use xmalloc.
4873 (open_envblk_file): Likewise.
4874 Resepect format security.
4875 (set_variables): Respect format security.
4877 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4879 * util/getroot.c (grub_find_device): Respect format security.
4880 (get_mdadm_uuid): Remove unused variable.
4881 (grub_util_pull_device): Dont call gettext on already translated
4883 (find_system_device): Remove unused variable.
4884 (grub_util_get_grub_dev): Likewise.
4885 (grub_make_system_path_relative_to_its_root): Respect format security.
4887 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4889 * util/grub-fstest.c (execute_command): Make first argument
4891 (read_file): Avoid shadowing.
4892 Reuse underlying error message if device open fails.
4893 (cmd_cmp): Respect format security.
4894 (root): Make const char *.
4895 (fstest): Remove args argument and use global copy.
4896 Respect format security.
4897 (argp_parser): Make static.
4898 (main): Make default_root const char *.
4900 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4902 * util/grub-mount.c (root): Make const char *.
4903 (execute_command): Make first argument a const char *.
4904 (fuse_init): Respect format security.
4905 (argp_parser): Make static. Remove unused variable.
4906 (main): Make default_root a const char *.
4907 Respect format security.
4909 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4911 * util/grub-probe.c (probe): Don't call gettext on already translated
4913 Remove unused variables.
4914 (argp_parser): Remove unused variable.
4916 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4918 * util/grub-script-check.c (argp_parser): Remove unused variable.
4919 (main): Rename read to curread to avoid shadowing.
4921 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4923 * util/misc.c (grub_util_write_image_at): Fix format specification.
4924 (grub_util_write_image): Likewise.
4925 (grub_script_execute_argument_to_string): Removed (unused).
4926 (grub_script_execute_menuentry): Likewise.
4927 (grub_putchar): Likewise.
4929 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4931 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
4932 (FUNCTION) [GRUB_UTIL]: Likewise.
4933 (VARIABLE) [GRUB_UTIL]: Likewise.
4935 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4937 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
4938 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
4940 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4942 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
4945 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4947 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
4948 (LzmaEnc_SaveState): Removed (unused).
4949 (LzmaEnc_RestoreState): Likewise.
4950 (LzmaEnc_InitPriceTables): Made static.
4951 (LzmaEnc_Construct): Likewise.
4952 (LzmaEnc_FreeLits): Likewise.
4953 (LzmaEnc_Destruct): Likewise.
4954 (LzmaEnc_Init): Likewise.
4955 (LzmaEnc_InitPrices): Likewise.
4956 (LzmaEnc_Finish): Likewise.
4957 (LzmaEnc_PrepareForLzma2): Removed (unused).
4958 (LzmaEnc_MemPrepare): Likewise.
4959 (LzmaEnc_GetNumAvailableBytes): Likewise.
4960 (LzmaEnc_GetCurBuf): Likewise.
4961 (LzmaEnc_CodeOneMemBlock): Likewise.
4963 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4965 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
4966 (grub_util_ldm_embed): Likewise.
4968 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4970 * util/grub-editenv.c (print_var): Rename name to varname to
4972 (main): Rename index to curindex to avoid shadowing.
4973 Make filename a const char *.
4975 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4977 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4978 to arg_getline to avoid shadowing.
4980 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4982 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
4983 disk_ to avoid shadowing.
4985 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4987 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
4988 curindex to avoid shadowing.
4990 (MatchFinder_GetNumAvailableBytes): Make static.
4992 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4994 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
4997 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4999 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5000 argument from encrypt to do_encrypt to avoid shadowing.
5002 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5004 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5005 incorrect nesting of #if's.
5007 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5009 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5010 checks which are always false on some platforms.
5011 (grub_cmd_lsacpi): Likewise.
5012 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5013 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5016 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5018 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5019 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5021 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5023 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5024 re_dfa_t to avoid breaking alignment invariants.
5025 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5026 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5028 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5030 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5031 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5033 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5035 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5038 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5040 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5041 conserve alignment invariants.
5042 (grub_ehci_ehcc_read16): Likewise.
5043 (grub_ehci_oper_read32): Likewise.
5044 (grub_ehci_oper_write32): Likewise.
5045 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5046 Conserve alignment invariants.
5048 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5050 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5051 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5054 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5056 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5057 Remove unused variable.
5059 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5061 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5064 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5066 * include/grub/net.h: Remove double declarations.
5068 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5070 Remove "payload" command in ia64 Linux loader since I couldn't
5071 find any evidence of it being used for anything.
5072 Replace "relocate" command with an environment variable
5074 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5076 (ia64_boot_payload): Removed.
5077 (last_payload): Likewise.
5078 (RELOCATE_OFF): Likewise.
5079 (RELOCATE_ON): Likewise.
5080 (RELOCATE_FORCE): Likewise.
5081 (relocate): Likewise.
5082 (free_pages): Don't free payloads.
5083 (grub_load_elf64): Use common error messages.
5084 Use "linux_relocate" variable.
5085 Increase the space after boot_params.
5086 (grub_cmd_payload): Removed.
5087 (grub_cmd_relocate): Likewise.
5088 (grub_cmd_fpswa): Improve messages.
5089 (cmd_payload): Removed.
5090 (cmd_relocate): Likewise.
5091 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5092 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5094 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5096 Convert UHCI to DMA framework.
5098 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5099 (grub_uhci_pci_iter): Fill new members
5100 (grub_alloc_td): Use P2V and V2P functions.
5101 (grub_free_queue): Likewise.
5102 (grub_alloc_qh): Likewise.
5103 (grub_uhci_setup_transfer): Likewise.
5104 (grub_uhci_check_transfer): Likewise.
5106 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5108 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5109 Remove assignment in if while on it.
5111 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5113 * util/grub-mkstandalone.in: Fix modules directory.
5115 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5117 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5119 (argp_parser): Accept "auto" as compression specification.
5121 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5123 Fix `help' with unloaded modules.
5125 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5126 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5127 (grub_dyncmd_dispatcher): Small stylistic fix.
5128 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5129 explicit help is requested.
5131 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5133 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5134 Explicitly init restart while on it.
5136 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5138 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5141 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5143 * util/grub-mknetdir.in: Use . rather than source for POSIX
5146 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5148 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5150 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5152 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5155 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5157 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5160 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5162 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5164 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5166 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5167 iteration of partitions.
5169 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5171 Improve gettext support. Stylistic fixes and error handling fixes while
5174 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5176 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5177 part. Instead setup the correct stack in RM.
5178 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5180 * include/grub/i386/relocator_private.h: New file.
5182 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5184 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5186 * util/grub-fstest.c (options): Add missing DEVICE part.
5188 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5190 Clarify and unify messages.
5192 * grub-core/commands/hashsum.c (options): Unify messages.
5193 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5194 literal-only message as translatable.
5195 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5196 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5197 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5199 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5200 key, not the key used to unlock. Clarify what it's used for.
5201 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5202 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5203 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5204 * util/grub-editenv.c (options): Unify "verbose" message.
5205 * util/grub-fstest.c (read_file): Unify error message.
5206 (fstest): Add quotes around commands.
5207 (options): Unify "verbose" message.
5208 * util/grub-install.in: Add quotes around variable name.
5209 * util/grub-kbdcomp.in: Unify error message.
5210 * util/grub-mkfont.c (main): Likewise.
5211 * util/grub-mkrescue.in: Likewise.
5212 * util/grub-mklayout.c (options): Unify "verbose" message.
5213 * util/grub-mkstandalone.in: Unify help and verbose messages.
5214 * util/grub-mount.c (options): Unify "verbose" message.
5215 * util/grub-probe.c (options): Likewise.
5216 * util/grub-script-check.c (options): Likewise.
5217 * util/grub-setup.c (setup): Unify no-terminator message.
5218 (options): Use DEVICE and not DEV.
5219 Unify "verbose" message.
5220 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5222 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5224 Improve and unify messages.
5226 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5227 name. All users updated.
5228 Print filename in error.
5229 (read_device_map): Print filename in error.
5230 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5231 (grub_util_get_os_disk): Likewise.
5232 (grub_util_biosdisk_get_grub_dev): Likewise.
5233 (grub_util_check_block_device): Likewise.
5234 (grub_util_check_char_device): Likewise.
5235 (grub_make_system_path_relative_to_its_root): Likewise.
5236 * util/grub-editenv.c (create_envblk_file): Likewise.
5237 (open_envblk_file): Likewise.
5238 (write_envblk): Likewise.
5239 * util/grub-fstest.c (cmd_cp): Likewise.
5240 (cmd_cat): Likewise.
5241 (cmd_cmp): Likewise.
5242 * util/grub-menulst2cfg.c (main): Likewise.
5243 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5244 (write_font_width_spec): Likewise.
5245 (write_font_pf2): Likewise.
5246 * util/grub-mkimage.c (generate_image): New argument outname.
5248 Remove unreacheable message.
5249 (options): Unify messages.
5250 (help_filter): Likewise.
5251 * util/grub-mklayout.c (usage): Removed (unused).
5252 (main): Print filename in error.
5253 * util/grub-mkrescue.in: Fix wrong quoting.
5254 * util/grub-setup.c (setup): Print filename in error.
5255 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5256 (check_sas): Likewise.
5257 * util/misc.c (grub_util_get_fp_size): Removed.
5258 (grub_util_get_image_size): Print filename in error.
5259 (grub_util_read_at): Removed.
5260 (grub_util_read_image): Print filename in error.
5261 (grub_util_load_image): Likewise.
5262 (grub_util_write_image_at): New argument filename. All users updated.
5263 Print filename in error.
5264 (grub_util_write_image): New argument filename. All users updated.
5265 Print filename in error.
5266 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5267 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5269 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5271 * grub-core/Makefile.core.def (pxechain): New module.
5272 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5273 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5275 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5276 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5278 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5280 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5281 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5282 * include/grub/err.h (grub_error_saved): New struct.
5283 (grub_errmsg): Make array size explicit.
5284 * include/grub/misc.h (grub_error_save): New function.
5285 (grub_error_load): Likewise.
5286 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5287 (grub_error_push): Update `errno' member name.
5288 (grub_error_pop): Likewise
5289 * grub-core/net/tftp.c (tftp_data): New member save_err.
5290 (tftp_receive): Save error.
5291 (tftp_open): Restore error.
5293 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5295 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5296 to real mode down to execute A20-related code in protected mode as
5299 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5301 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5302 NULL when the argument `level' has an unexpected value.
5304 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5306 Move platform-dependent files from $prefix to $prefix/$platform.
5308 * config.h.in (GRUB_TARGET_CPU): New definition.
5309 (GRUB_PLATFORM): Likewise.
5310 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5311 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5312 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5313 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5314 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5315 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5316 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5317 * grub-core/normal/term.c (read_terminal_list): Likewise.
5318 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5320 (grub_gettext_init_ext): Likewise.
5321 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5323 * util/grub-install.in: Update directories.
5324 * util/grub-mknetdir.in: Likewise.
5325 * util/grub-mkrescue.in: Likewise.
5327 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5329 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5330 grub_error framework. All users updated.
5332 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5334 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5335 lists (by always binsearching), improve caching (cache strings
5336 used for binsearch, not only results), improve
5337 maintainability (by using more structured binary search) and correct
5340 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5342 * grub-core/script/execute.c (grub_script_return): Fix warning.
5344 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5346 * grub-core/script/execute.c (grub_script_return): Fix potential
5348 Reported by: Jim Meyering.
5350 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5352 * po/POTFILES.in: Regenerate.
5353 * util/grub-install.in: Gettextize the strings missed in first pass.
5355 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5357 * Makefile.util.def (grub-mkdevicemap): Removed.
5358 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5359 * include/grub/util/deviceiter.h: Removed.
5360 * util/deviceiter.c: Likewise.
5361 * util/getroot.c (grub_util_get_os_disk): New function.
5362 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5363 replacement for EFI.
5364 * util/grub-mkdevicemap.c: Removed.
5365 * util/grub-probe.c (probe): Handle PRINT_DISK.
5366 (argp_parser): Handle -t disk.
5368 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5370 * util/grub-mkfont.c: Migrate to argp.
5371 * util/grub-mklayout.c: Likewise.
5372 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5373 * util/grub-mkrelpath.c: Likewise.
5374 * util/grub-probe.c: Likewise.
5375 * util/grub-script-check.c: Likewise.
5377 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5379 * util/grub-reboot.in: Add missing datarootdir.
5380 Add missing newline.
5381 * util/grub-set-default.in: Add missing datarootdir.
5382 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5383 * util/grub-mkrescue.in: Likewise.
5385 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5387 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5389 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5391 * util/grub-kbdcomp.in: Add decent help and gettextize.
5392 * docs/man/grub-kbdcomp.h2m: New file.
5394 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5396 Migrate grub-mkimage.c to argp.
5398 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5399 (grub-setup): Likewise.
5400 * util/grub-setup.c (print_version): Move to ...
5401 * util/argp_common.c (print_version): ... here.
5402 * util/grub-setup.c (argp_program_version_hook): Move to ...
5403 * util/argp_common.c (argp_program_version_hook): ... here.
5404 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5406 * util/grub-mkimage.c (main): Migrate to argp.
5408 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5410 * util/grub-mkrescue.in: Use same message as
5411 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5412 for better translations.
5414 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5416 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5417 options with generic grub-mkrescue.in with the goal of future
5420 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5422 * grub-core/kern/mm.c: Add missing include of i18n.h
5423 * grub-core/lib/relocator.c: Likewise.
5425 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5427 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5429 (allocate_pages): Check return value.
5430 Replace fatal with error.
5431 (grub_linux_boot): Replace printf with dprintf.
5432 Check find_mmap_size return value.
5433 Replace fatal with error.
5434 Don't call grub_machine_fini.
5435 (grub_load_elf64): Replace printf with dprintf.
5436 (grub_cmd_linux): Likewise.
5437 (grub_cmd_initrd): Likewise.
5438 (grub_cmd_payload): Likewise.
5440 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5442 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5444 * grub-core/video/radeon_fuloong2e.c
5445 (grub_video_radeon_fuloong2e_setup): Likewise.
5446 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5447 * grub-core/video/video.c (grub_video_set_mode): Don't override
5448 standard out of memory message.
5450 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5452 NetBSD disk wedge support.
5454 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5455 [__NetBSD__]: Handle NetBSD disk wedges.
5456 * util/getroot.c (convert_system_partition_to_system_disk)
5457 [__NetBSD__]: Likewise.
5459 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
5461 * util/grub-mkconfig.in: Use umask rather than chmod to create
5462 grub.cfg.new to avoid insecure grub.cfg.
5464 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5466 * grub-core/commands/ls.c: Gettextize.
5467 * grub-core/commands/setpci.c: Likewise.
5468 * grub-core/commands/videotest.c: Likewise.
5469 * grub-core/disk/geli.c: Likewise.
5470 * grub-core/kern/mm.c: Likewise.
5471 * grub-core/lib/relocator.c: Likewise.
5472 * grub-core/loader/efi/appleloader.c: Likewise.
5473 * grub-core/loader/i386/xnu.c: Likewise.
5474 * grub-core/loader/ia64/efi/linux.c: Likewise.
5475 * grub-core/loader/xnu.c: Likewise.
5476 * grub-core/net/dns.c: Likewise.
5477 * grub-core/net/net.c: Likewise.
5478 * grub-core/script/lexer.c: Likewise.
5479 * grub-core/script/parser.y: Likewise.
5480 * grub-core/script/yylex.l: Likewise.
5481 * util/getroot.c: Likewise.
5482 * util/grub-setup.c: Likewise.
5484 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5486 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5489 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5491 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5493 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5495 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5497 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5498 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5500 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5502 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5503 * util/grub-install.in: Gettextize.
5504 * util/grub-mkconfig.in: Likewise.
5505 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5507 (grub_warn): Gettextize.
5508 * util/grub-mknetdir.in: Gettextize.
5509 * util/grub-mkrescue.in: Likewise.
5510 * util/grub-mkstandalone.in: Likewise.
5511 * util/grub-reboot.in: Likewise.
5512 * util/grub-set-default.in: Likewise.
5513 * util/grub.d/00_header.in: Likewise.
5514 * util/grub.d/10_hurd.in: Likewise.
5515 * util/grub.d/10_kfreebsd.in: Likewise.
5516 * util/grub.d/10_linux.in: Likewise.
5517 * util/grub.d/10_netbsd.in: Likewise.
5518 * util/grub.d/10_windows.in: Likewise.
5519 * util/grub.d/20_linux_xen.in: Likewise.
5520 * util/grub.d/30_os-prober.in: Likewise.
5521 * po/POTFILES-shell.in: Regenerate.
5523 2012-02-03 Richard Laager <rlaager@wiktel.com>
5525 * util/grub-mkimage.c (main): Fix format-security warning.
5526 * util/grub-mkrelpath.c (main): Likewise.
5527 * util/grub-probe.c (main): Likewise.
5529 2012-02-03 Richard Laager <rlaager@wiktel.com>
5531 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5533 Put back lost PRINT_DRIVE.
5535 2012-02-03 Richard Laager <rlaager@wiktel.com>
5537 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5538 (grub_guess_root_devices): Replace strlen with sizeof.
5540 (find_root_devices_from_poolname): Remove unused variable.
5543 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5545 Support install on multi-device filesystems.
5547 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5548 (grub_guess_root_devices): ...this. Return char **. All users updated.
5549 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5551 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5552 (find_root_devices_from_poolname): ... here.
5553 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5555 (grub_guess_root_device): Rename to ...
5556 (grub_guess_root_devices): ... this. Return char **. All users updated.
5557 * util/grub-install.in: Handle multi-device filesystems.
5558 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5559 argument. All users updated.
5560 Handle multi-device filesystems.
5561 Use 'delim' as separator.
5562 Remove device check to allow filesystems on file.
5563 (main): Support -0 argument. Handle multi-device.
5564 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5565 Fix a cross-device check while on it.
5566 (arguments): Remove root_dev.
5567 (argp_parser): Remove -r.
5568 (main): Remove root_dev.
5570 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5572 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5574 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5576 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5578 Reported by: NODA, Kai <nodakai>.
5580 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5584 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5586 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5587 (grub_ehci_setup_qh): Likewise.
5588 (grub_ehci_find_qh): Likewise.
5589 (grub_ehci_transaction): Likewise.
5590 (grub_ehci_setup_transfer): Likewise.
5591 (grub_ehci_check_transfer): Likewise.
5592 (grub_ehci_portstatus): Likewise.
5593 (grub_ehci_detect_dev): Likewise.
5594 (grub_ehci_transfer_controller_data): New field td_last_phys.
5595 (grub_ehci_setup_transfer): Fill td_last_phys.
5596 (grub_ehci_check_transfer): Use td_last_phys.
5598 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5600 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5601 if no submenu is present.
5603 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5607 * include/grub/usb.h (grub_usbms_protocol_t): New values
5608 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5609 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5610 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5611 (grub_usbms_dev): Add subclass, protocol and intrpt.
5612 Remove in_maxsz and out_maxsz.
5613 (grub_usbms_reset): Rename to ...
5614 (grub_usbms_bo_reset): .. this.
5615 (grub_usbms_cbi_cmd): New function.
5616 (grub_usbms_cbi_reset): Likewise.
5617 (grub_usbms_reset): Likewise.
5618 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5619 (grub_usbms_transfer): Rename to ...
5620 (grub_usbms_transfer_bo): ... this.
5621 (grub_usbms_transfer_cbi): Likewise.
5622 (grub_usbms_transfer): Likewise.
5624 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5625 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5627 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5628 the support for the CS5536 modification thereos and few bugfixes.
5630 * grub-core/Makefile.core.def (ehci): New module.
5631 * grub-core/bus/usb/ehci.c: New file.
5632 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5633 port and hubaddr. All users updated.
5634 Save port and hubaddr into dev structure.
5635 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5637 * include/grub/pci.h (grub_dma_phys2virt): New function.
5638 (grub_dma_virt2phys): Likewise.
5639 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5641 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5643 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5644 check as some mkfs implementations omit it.
5646 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5648 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5650 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5652 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5653 Add new member volname2.
5654 (grub_jfs_label): Use volname2 if available.
5656 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5658 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5659 over last_mounted as seen in image generated by mkfs.nilfs2.
5660 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5662 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5664 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5665 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5666 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5668 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5670 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5673 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5675 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5676 subvolume name (by removing a bogus and useless check).
5678 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5680 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5683 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5685 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5686 (grub_scsi_read_capacity10): ... this.
5687 (grub_scsi_read_capacity16): New function.
5688 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5690 Fix off-by-one error.
5691 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5693 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5694 (grub_scsi_read_capacity10): ... this.
5695 (grub_scsi_read_capacity_data): Rename to ...
5696 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5697 (grub_scsi_read_capacity16): New struct.
5698 (grub_scsi_read_capacity16_data): Likewise.
5699 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5700 grub_scsi_cmd_read_capacity10.
5701 New command grub_scsi_cmd_read_capacity16.
5703 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5707 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5708 (grub_scsi_write16): Likewise.
5709 (grub_scsi_read): Use read16 when necessary.
5710 (grub_scsi_write): Likewise.
5711 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5712 (grub_scsi_write16): Likewise.
5713 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5715 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5717 SCSI write support (for usbms mainly).
5719 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5721 (grub_scsi_write): Implement.
5722 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5724 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5726 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5729 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5731 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5733 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5735 * po/POTFILES.in: Regenerate.
5737 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5739 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5740 with grub_printf to avoid unnecessary fatal failure.
5742 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5744 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5745 (INT_MAX): Likewise.
5746 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5747 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5748 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5752 (strncpy): Likewise.
5754 (strncat): Likewise.
5755 (strcoll): Likewise.
5756 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5757 (GRUB_INT_MAX): Likewise.
5759 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5761 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5763 (optimize_utf8): Likewise.
5764 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5766 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5768 * grub-core/boot/i386/pc/lnxboot.S: Use
5769 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5770 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5772 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5774 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5776 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5778 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5779 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5780 now to avoid double free.
5781 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5783 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5784 * util/grub-probe.c (escape_of_path): Always return a new copy.
5785 (print_full_name): Escape path.
5786 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5787 Fix hints on abstractions.
5789 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5791 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5792 Don't add "root" line if no compatibility hont is available.
5793 Suggested by: Seth Goldberg.
5795 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5797 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5798 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5799 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5800 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5802 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5804 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5806 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5808 * util/grub-pe2elf.c (ehdr): Make static.
5810 (num_sections): Likewise.
5813 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5815 Eliminate ofpath limits and possible overflows.
5817 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5818 (OF_PATH_MAX): Removed.
5819 (MAX_DISK_CAT): New const.
5820 (find_obppath): Use allocated rather than preallocated buffer.
5821 Return result. Argument of_path removed. All users updated.
5823 (xrealpath): New function.
5824 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5825 Allocate rather than use preallocated buffer. All users updated.
5826 (__of_path_common): Use allocated rather than preallocatecd buffer.
5827 Return result. Argument of_path removed. All users updated.
5828 (vendor_is_ATA): Read only needed part form the file.
5829 (check_sas): Allocate depending on contents rather than fixed.
5830 (main) [STANDALONE]: Handle NULL result.
5832 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5834 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5836 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5838 Cryptodisk write support.
5840 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5841 (grub_cryptodisk_decrypt): Moved logic to ...
5842 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5843 (grub_cryptodisk_write): Implement.
5844 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5845 (grub_util_fd_write): ... this. Make global.
5846 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5848 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5850 * include/grub/list.h (grub_list_remove): Don't crash if element is
5853 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5855 Rename ofconsole to console.
5857 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5858 as sysnonym to console.
5859 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5860 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5861 Rename grub_ofconsole_ to grub_console_. All users updated
5862 (grub_console_term_output): Rename "ofconsole" to "console".
5863 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5866 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5868 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5870 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5871 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5872 GRUB_DISK_DEVICE_FILE_ID.
5874 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5876 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5877 and improve performance.
5879 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5881 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5882 missing ieee1275/ prefix on whole disk.
5884 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5886 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5887 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5889 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5891 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5893 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5895 Merge common RAID and LVM logic to an abstract diskfilter.
5896 Add LDM support using the same framework.
5898 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5899 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5900 (libgrubmods): Remove grub-core/disk/raid.c and
5901 grub-core/partmap/gpt.c.
5902 * grub-core/Makefile.core.def (ldm): New module.
5903 (raid): Renamed to diskfilter. All users updated.
5904 * grub-core/disk/raid.c: Moved to ...
5905 * grub-core/disk/diskfilter.c: ... here.
5906 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5908 (find_array): Renamed to ...
5909 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5910 (grub_is_array_readable): Renamed to ...
5911 (grub_is_lv_readable): ... this. Support multinode hierarchy.
5912 (insert_array): New argument id.
5913 (is_node_readable): New function.
5914 (scan_device): Rename to ...
5915 (scan_disk): .. this. Restrict to one disk.
5916 (scan_devices): New function.
5917 (grub_diskfilter_iterate): Support multi-LV.
5918 Skip invisible and nameless LVs.
5919 (grub_diskfilter_memberlist): Support multi-LV.
5920 (grub_diskfilter_read_node): New function.
5921 (grub_raid_read): Most of logic moved to ...
5922 (read_segment): ... here
5923 (read_lv): New function.
5924 (grub_diskfilter_get_vg_by_uuid): New function.
5925 (grub_diskfilter_make_raid): Likewise.
5926 * grub-core/disk/ldm.c: New file.
5927 * grub-core/disk/lvm.c (vg_list): Removed.
5928 (lv_count): Likewise.
5929 (scan_depth): Likewise.
5930 (is_lv_readable): Likewise.
5931 (grub_lvm_getvalue): Advance pointer past the number.
5933 (do_lvm_scan): Refactored into ...
5934 (grub_lvm_detect): ... this. Support raid.
5935 (grub_lvm_iterate): Removed.
5936 (grub_lvm_memberlist): Likewise.
5937 (grub_lvm_open): Likewise.
5938 (grub_lvm_close): Likewise.
5939 (read_lv): Likewise.
5940 (read_node): Likewise.
5941 (is_node_readable): Likewise.
5942 (is_lv_readable): Likewise.
5943 (grub_lvm_read): Likewise.
5944 (grub_lvm_write): Likewise.
5945 (grub_lvm_dev): Use diskfilter
5946 (GRUB_MOD_INIT): Likewise.
5947 (GRUB_MOD_FINI): Likewise.
5948 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
5950 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
5951 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5952 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
5953 grub_diskfilter_read_node.
5955 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
5956 grub_diskfilter_read_node.
5957 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
5958 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
5959 (grub_disk_dev_iterate): Move from here...
5960 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
5961 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5963 (grub_hostdisk_find_partition_start): Likewise.
5964 (grub_hostdisk_os_dev_to_grub_drive): New function.
5965 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
5966 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
5967 * util/getroot.c (make_device_name): ... here.
5968 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5970 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
5971 * grub-core/kern/emu/hostdisk.c
5972 (convert_system_partition_to_system_disk): Move to ...
5973 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
5974 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
5975 * util/getroot.c (device_is_wholedisk): ... here.
5976 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
5977 * util/getroot.c (find_system_device): ... here.
5978 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
5980 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
5981 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5983 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
5985 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5987 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
5988 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
5989 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
5991 * include/grub/raid.h: Renamed to ...
5992 * include/grub/diskfilter.h: ... this.
5993 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
5994 (GRUB_RAID_LAYOUT_*): Make into array.
5995 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
5996 (grub_diskfilter_vg): New struct.
5997 (grub_diskfilter_pv_id): Likewise.
5998 (grub_raid_member): Removed.
5999 (grub_raid_array): Likewise.
6000 (grub_diskfilter_pv): New struct.
6001 (grub_diskfilter_lv): Likewise.
6002 (grub_diskfilter_segment): Likewise.
6003 (grub_diskfilter_node): Likewise.
6004 (grub_diskfilter_get_vg_by_uuid): New proto.
6005 (grub_raid_register): Inline.
6006 (grub_diskfilter_unregister): Likewise.
6007 (grub_diskfilter_make_raid): New proto.
6008 (grub_diskfilter_vg_register): Likewise.
6009 (grub_diskfilter_read_node): Likewise.
6010 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6011 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6012 (grub_util_is_ldm): Likewise.
6013 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6014 (grub_hostdisk_find_partition_start): Likewise.
6015 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6016 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6018 (grub_gpt_partition_map_iterate): New proto.
6019 * include/grub/lvm.h (grub_lvm_vg): Removed.
6020 (grub_lvm_pv): Likewise.
6021 (grub_lvm_lv): Likewise.
6022 (grub_lvm_segment): Likewise.
6023 (grub_lvm_node): Likewise.
6024 * util/getroot.c [...]
6025 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6026 (probe_abstraction): Likewise.
6027 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6028 (main): Remove dead logic.
6030 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6032 Simplify root device discover and don't fail when trying to open
6035 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6037 (get_diskname_from_path): Likewise.
6038 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6041 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6043 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6045 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6047 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6050 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6052 * util/grub-install.in: Add missing \.
6053 Reported by: gentoofan
6055 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6057 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6058 (direct_read): Use correct compressed size.
6059 (grub_squash_read_data): Likewise.
6061 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6063 * docs/grub.texi (Platform limitations): New section.
6064 (Platform-specific operations): Likewise.
6065 * docs/grub-dev.texi (Porting): Likewise.
6067 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6069 IEEE1275 disk write support.
6071 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6073 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6074 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6075 and seek loginc to ...
6076 (grub_ofdisk_prepare): ... here.
6077 (grub_ofdisk_write): Implement.
6079 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6081 ARC disk write support.
6083 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6084 (reopen): New argument writable. All users updated.
6085 Handle required access mode.
6086 (grub_arcdisk_write): Implement.
6087 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6088 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6090 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6092 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6093 (read_sblock): Don't attempt to read superblocks outside the disk size.
6095 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6097 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6098 first superblock to find the second one when possible.
6100 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6102 * util/grub-install.in: Fix an ARC bug.
6103 Print a warning if no platform-specific setup is available.
6105 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6107 Use static allocation rather than scratch pointer in reed_solomon.
6108 It decreases its size significantly and avoids a variable in .text.
6110 * grub-core/lib/reed_solomon.c (scratch): Removed.
6111 (chosenstat): New const or static array.
6117 (errvals): Likewise.
6119 (pol_evaluate): Replace x with log_x argument. All users updated.
6120 (syndroms): Removed.
6121 (gauss_solve): Use statically allocated arrays.
6122 (rs_recover): Likewise.
6123 Calculate syndroms directly.
6124 (decode_block): Use statically allocated arrays.
6125 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6126 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6128 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6130 Eliminate fixed limit on reed solomon decoder length.
6132 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6133 rather than hardcoding the address.
6134 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6135 no_reed_solomon_length.
6136 Move gate_a20 to no-reed-solomon part.
6137 Don't force a particular size of no reed-solomon part.
6138 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6140 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6141 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6143 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6145 * grub-core/commands/wildcard.c (match_files): Handle filenames
6146 without explicit device.
6147 (wildcard_expand): Don't add explicit device if not already present.
6148 * tests/grub_script_echo1.in: Add a new expansion test.
6150 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6152 Replace single-linked with double-linked lists. It results in more
6153 compact and more efficient code.
6155 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6156 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6157 (grub_list_remove): Moved from here ...
6158 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6159 (grub_prio_list_insert): Set prev.
6160 * include/grub/list.h (grub_list): Add prev. All users updated.
6162 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6164 Handle newer autotools. Add some missing quotes while on it.
6166 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6167 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6168 (pkgdata_DATA): ... here.
6169 * Makefile.util.def (update-grub_lib): Removed.
6170 * conf/Makefile.common (pkglib_DATA): Removed.
6171 (pkglib_SCRIPTS): Likewise.
6172 (pkgdata_DATA): New variable.
6173 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6176 Remove unused variable while on it.
6177 * tests/util/grub-shell.in: Likewise.
6178 * util/grub-install.in: Likewise.
6179 * util/grub-mkconfig.in: Likewise.
6180 * util/grub-mknetdir.in: Likewise.
6181 * util/grub-mkrescue.in: Likewise.
6182 * util/grub-mkstandalone.in: Likewise.
6183 * util/grub.d/00_header.in: Likewise.
6184 * util/grub.d/10_hurd.in: Likewise.
6185 * util/grub.d/10_illumos.in: Likewise.
6186 * util/grub.d/10_kfreebsd.in: Likewise.
6187 * util/grub.d/10_linux.in: Likewise.
6188 * util/grub.d/10_netbsd.in: Likewise.
6189 * util/grub.d/10_windows.in: Likewise.
6190 * util/grub.d/20_linux_xen.in: Likewise.
6191 * util/grub.d/30_os-prober.in: Likewise.
6192 * util/update-grub_lib.in: Removed.
6194 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
6196 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6197 a workaround for intel problem.
6199 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
6200 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6201 2012-01-23 pfsmorigo
6203 * util/grub-install.in: Support dd'in into PreP partition.
6204 * util/grub-probe.c (probe): Support discovering partition type.
6205 (main): Support -t msdos_parttype.
6207 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6209 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6210 infinite recursion using counter.
6211 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6212 init to skip it if the magic check fails.
6213 (dec_stream_header): Init s->crc32.
6215 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6216 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
6217 2012-01-22 Richard Laager <rlaager@wiktel.com>
6219 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6221 (find_bestub): Determine correct size.
6222 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6223 (scan_disk): Align the size down.
6224 Call check pool before find_bestub to have ashift.
6226 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6228 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6229 dprintf in no-malloc zone.
6231 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6233 * configure.ac: Add back in test for limits.h.
6235 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6237 Support 4K-sector NTFS.
6239 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6240 (grub_ntfs_data): Remove blocksize.
6241 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6242 Remove data argument. All users updated.
6244 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6246 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6247 being in .text to avoid dprel references.
6248 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6249 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6250 (grub_arch_highmemsize): Likewise.
6251 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6252 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6253 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6255 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6257 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6259 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6260 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6262 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6264 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6266 (grub_set_datetime_cmos): Likewise.
6268 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6270 Make XZ compression parameters dependent on target and not host CPU.
6272 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6273 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6275 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6277 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6278 set but not used variable.
6280 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6282 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6283 created when no uuid support is compiled into mkfs.reiser.
6285 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6287 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6288 (utf8_to_macroman): Do the opposite.
6289 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6291 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6293 * configure.ac: Refise build qemu_mips w/o unifont.
6295 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6297 Eliminate grub_min/grub_max prone to overflow usage.
6299 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6300 (poll_nonroot_hub): Likewise.
6301 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6302 (grub_affs_label): Likewise.
6303 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6304 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6305 (grub_hfs_label): Likewise.
6306 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6307 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6308 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6309 (zap_leaf_array_get): Likewise.
6310 (dnode_get_path): Likewise.
6311 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6312 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6313 * grub-core/script/execute.c (grub_script_break): Likewise.
6314 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6316 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6317 * include/grub/misc.h (grub_min): Removed.
6318 (grub_max): Likewise.
6320 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6322 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6325 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6327 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6329 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6331 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6333 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6335 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6336 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6338 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6340 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6341 rather than a hack for grub_strncasemap.
6343 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6345 Support multiple initrds
6346 Note: part of this was accidently committed in r3739.
6348 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6350 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6351 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6352 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6353 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6354 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6356 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6358 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6359 disks with unknown size.
6360 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6362 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6364 Remove defines pertaining to arbitrary limits not affecting GRUB
6367 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6368 (EXT2_MAX_SYMLINKCNT): Likewise.
6369 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6370 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6371 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6372 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6373 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6374 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6375 (DN_MAX_OBJECT_SHIFT): Likewise.
6376 (DN_MAX_OFFSET_SHIFT): Likewise.
6377 (DN_MAX_OBJECT): Likewise.
6378 (DNODES_PER_LEVEL_SHIFT): Likewise.
6379 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6380 (SPA_MAXBLOCKSIZE): Likewise.
6381 (SPA_BLOCKSIZES): Likewise.
6382 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6383 (MZAP_MAX_BLKSZ): Likewise.
6385 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6387 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6388 handle NULL appropriately.
6391 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6395 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6397 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6398 * configure.ac: Fix efiemu check.
6400 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6402 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6404 Reported by: adamwill
6406 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6408 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6410 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6412 Fix handling of wide characters in gfxterm.
6414 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6415 (clear_char): Likewise.
6416 (paint_char): Skip code == NULL chars.
6417 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6419 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6421 * grub-core/normal/charset.c: Move comment to right place.
6423 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6425 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6426 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6427 (grub_affs_mount): Revert the correct version checking.
6429 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6431 * docs/grub.texi (Unicode): Mention several other unsupported features.
6433 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6435 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6436 case statements as compile-time one.
6437 (direct_read): Prevent spurious warnings.
6438 (grub_squash_read_data): Likewise.
6440 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6442 Various squash4 fixes and LZO and XZ support.
6444 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6445 Add xzembed source files.
6446 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6447 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6448 (grub_squash_inode): New subtype long_dir.
6449 (SQUASH_TYPE_LONG_DIR): New inode type.
6450 (COMPRESSION): New enum.
6451 (XZBUFSIZ): New const.
6452 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6453 (read_chunk): Use data->decompress.
6454 (zlib_decompress): New function.
6455 (lzo_decompress): Likewise.
6456 (xz_decompress): Likewise.
6457 (squash_mount): Set new data fields.
6458 (grub_squash_iterate_dir): Handle long dir.
6459 (squash_unmount): Free xzdec and xzbuf.
6460 (grub_squash_open): Check ino type.
6461 (direct_read): Stylistic fixes. Use data->decompress.
6462 (grub_squash_read_data): Likewise.
6463 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6464 (get_byte): Likewise.
6465 (grub_zlib_disk_read): Removed.
6466 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6467 (GRUB_POSIX_BOOL_DEFINED): New define.
6468 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6469 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6470 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6471 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6473 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6475 Don't override more informative errors.
6477 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6478 * grub-core/font/font.c (open_section): Likewise.
6479 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6480 filename. Don't override errors.
6481 (grub_cmd_openbsd_ramdisk): Don't override errors.
6482 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6483 (grub_cmd_initrd): Likewise.
6484 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6485 (grub_cmd_initrd): Likewise.
6486 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6487 (grub_cmd_linux): Likewise.
6488 (grub_cmd_initrd): Likewise.
6489 (grub_cmd_payload): Likewise.
6490 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6491 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6492 (grub_cmd_module): Likewise.
6493 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6494 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6495 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6496 (grub_cmd_xnu_mkext): Likewise.
6497 (grub_cmd_xnu_ramdisk): Likewise.
6498 (grub_xnu_check_os_bundle_required): Likewise.
6499 (grub_xnu_load_kext_from_dir): Likewise.
6500 (grub_cmd_xnu_kextdir): Likewise.
6501 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6503 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6505 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6506 as 1024 in block size field. Found on one of my test images.
6507 Small optimisation while on it.
6509 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6511 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6512 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6513 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6514 performance fixes while on it.
6515 (grub_sfs_close): Fix memory leak while on it.
6516 (grub_sfs_label): Convert Latin1 to UTF-8.
6518 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6520 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6521 space to avoid overflows.
6522 (grub_hfs_label): Convert from macroman to UTF-8.
6524 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6526 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6528 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6530 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6532 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6534 * unicode: Import Unicode 6.0 data.
6536 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6538 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6541 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6543 Avoid cutting in the middle of UTF-8 character.
6545 * include/grub/charset.h (grub_getend): New function.
6546 * grub-core/script/function.c (grub_script_function_find): Use
6548 * grub-core/normal/completion.c (add_completion): Likewise.
6550 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6552 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6553 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6554 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6555 (GRUB_UNICODE_TAG_END): Likewise.
6556 (GRUB_UNICODE_LAST_VALID): Likewise.
6558 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6560 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6561 len and make it smaller. All users updated.
6562 * util/import_unicode.py: Put length and not end character.
6565 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6567 Make better Unicode-compliant and unify some UTF-8 code pathes.
6569 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6571 (grub_is_valid_utf8): Use grub_utf8_process.
6572 Check resulting code range.
6573 (grub_utf8_to_ucs4): Use grub_utf8_process.
6574 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6577 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6579 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6581 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6583 * docs/grub.texi (Filesystems): Mention AFS.
6585 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6587 * docs/grub.texi (Filesystems): Clarify restrictions.
6588 (Regexp): Mention non-Unicode regexp behaviour.
6589 (Other): Mention non-Unicode matching behaviour.
6591 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6593 Make HFS implementation use MacRoman.
6595 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6596 (macroman): New const array.
6597 (macroman_to_utf8): New function.
6598 (utf8_to_macroman): Likewise.
6599 (grub_hfs_find_dir): Use utf8_to_macroman.
6600 (grub_hfs_dir): Use macroman_to_utf8.
6601 Set case_insensitive.
6603 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6605 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6607 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6609 Integrate hints into autogeneration scripts.
6611 * docs/grub.texi (Filesystems): Add a hostdisk example.
6612 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6613 (grub-probe): Add ofpath.
6614 * gentpl.py: Remove group nosparc64.
6615 * grub-core/commands/search.c (cache_entry): New struct.
6617 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6618 * grub-core/commands/search_wrap.c (options): Add platform-specific
6620 (grub_cmd_search): Handle platform-specific hints.
6621 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6622 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6623 (grub_util_biosdisk_data): Likewise.
6624 (grub_util_biosdisk_open): Set device_map.
6625 (read_device_map): Handle "" as indication of no map.
6627 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6628 (grub_util_biosdisk_get_compatibility_hint): New function.
6629 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6630 * include/grub/emu/hostdisk.h
6631 (grub_util_biosdisk_get_compatibility_hint): New proto.
6632 * util/grub-install.in: Don't call grub-mkdevicemap.
6633 Add platform-specific hint to load.cfg.
6634 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6635 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6636 hints. Set root preliminary to compatibility hint, not to OS name.
6637 * util/grub-probe.c (PRINT_*): Add hints.
6638 (print): Make static.
6639 (escape_of_path): New function.
6640 (guess_bios_drive): Likewise.
6641 (guess_efi_drive): Likewise.
6642 (guess_baremetal_drive): Likewise.
6643 (print_full_name): Likewise.
6644 (probe): Handle hints.
6646 * util/ieee1275/devicemap.c: Removed.
6647 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6649 (grub_util_devname_to_ofpath): Return NULL on failure.
6651 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6653 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6655 * po/POTFILES.in: Regenerated.
6657 Allow purely long options
6659 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6660 (SHORT_ARG_USAGE): Likewise.
6661 (grub_arg_show_help): Compare opt with help_options.
6662 (parse_option): Receive opt as argument. If makes big simplificatons.
6665 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6667 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6668 Restructure to avoid warning.
6670 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6672 * util/grub-install.in: Account for possible escaped comma in device
6675 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6677 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6680 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6682 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6683 allocation and zero-setting.
6684 (grub_ieee1275_get_devname): Check that alias is complete.
6686 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6688 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6691 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6693 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6695 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6696 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6697 Add ieee1275 prefix.
6699 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6701 * docs/grub.texi (Filesystems): Update.
6703 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6705 Support odc, newc and bigendian cpio formats.
6707 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6708 * grub-core/Makefile.core.def (newc): New module.
6710 (cpio_be): Likewise.
6711 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6714 (head) [MODE_ODC]: Adapt for the format.
6715 (head) [MODE_NEWC]: Likewise.
6716 (head) [!MODE_*]: Write fields of interest as arrays.
6717 (MAGIC_USTAR): Removed.
6718 (read_number) [MODE_NEWC]: Change to hex.
6719 (read_number) [!MODE_*]: Parse binary arrays.
6720 (grub_cpio_find_file): Factor out the code for better structure and
6721 always use read_number.
6722 (grub_cpio_mount): Use MAGIC and MAGIC2.
6723 (grub_cpio_dir): Exit on first hook non-0 return.
6724 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6725 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6726 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6727 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6728 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6729 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6730 * grub-core/fs/newc.c: New file.
6731 * grub-core/fs/odc.c: Likewise.
6732 * grub-core/fs/cpio_be.c: Likewise.
6734 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6736 Fix handling of tar numbers occupying the whole field.
6738 * grub-core/fs/cpio.c (read_number): New function.
6739 (grub_cpio_find_file): Use read_number instead of strtoull.
6741 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6743 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6744 occupying the whole field size.
6746 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6748 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6750 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6752 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6754 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6756 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6759 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6761 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6762 (mountinfo_entry): Increase the field size to take escaping into
6764 (find_root_device_from_libzfs): Add one byte to size of strings for
6767 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6769 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6771 * util/grub-setup.c (setup): Likewise.
6773 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6775 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6778 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6780 * docs/grub.texi (Internationalisation): New section.
6782 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6784 * docs/grub.texi (Loopback booting): New section.
6786 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
6788 * util/grub-mkstandalone.in: Fix minor typo errors.
6790 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6792 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6794 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6795 net/icmp.c and net/icmp6.c.
6797 (priority_queue): Likewise.
6798 * grub-core/io/bufio.c: Rewritten.
6799 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6800 TYPE_WITH_CONFIGFILE_OPTION.
6801 (legacy_commands): Add bootp and dhcp.
6802 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6803 (grub_legacy_parse): Likewise.
6804 * grub-core/lib/priority_queue.c: New file.
6805 * grub-core/net/arp.c: Add missing license header.
6806 (arp_find_entry): Removed.
6807 (arp_find_entry): Likewise.
6808 (grub_net_arp_resolve): Rename to ...
6809 (grub_net_arp_send_request): ...this.
6810 (grub_net_arp_receive): New card argument.
6811 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6812 Set router and DNS server.
6813 (grub_net_configure_by_dhcp_ack): Handle routing information.
6814 (grub_cmd_bootp): Set checksum.
6815 (grub_bootp_init): Remove net_dhcp.
6816 * grub-core/net/dns.c: New file.
6817 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6819 (get_card_packet): Handle allocation.
6820 (grub_efinet_findcards): Set mtu.
6821 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6822 (get_card_packet): Handle allocation.
6824 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6825 (GRUB_MOD_INIT): Set mtu.
6826 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6828 (get_card_packet): Handle allocation.
6829 (grub_ofnet_findcards): Set mtu.
6830 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6832 (grub_net_recv_ethernet_packet): Handle IPv6.
6833 * grub-core/net/http.c: New file.
6834 * grub-core/net/icmp.c: Likewise.
6835 * grub-core/net/icmp6.c: Likewise.
6836 * grub-core/net/ip.c (ip6addr): New type.
6838 (reassemble): Likewise.
6839 (cmp): New function.
6840 (reassembles): New variable.
6841 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6843 (send_fragmented): New function.
6844 (grub_net_send_ip_packet): Rename to ...
6845 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6847 (grub_net_recv_ip_packets): Rename to ...
6848 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6849 (free_rsm): New function.
6850 (free_old_fragments): Likewise.
6851 (grub_net_recv_ip4_packets): New function.
6852 (grub_net_send_ip6_packet): Likewise.
6853 (grub_net_send_ip_packet): Likewise.
6854 (grub_net_recv_ip6_packets): Likewise.
6855 (grub_net_recv_ip_packets): Likewise.
6856 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6857 (LINK_LAYER_CACHE_SIZE): New const.
6858 (link_layer_find_entry): New function.
6859 (grub_net_link_layer_add_address): Likewise.
6860 (grub_net_link_layer_resolve_check): Likewise.
6861 (grub_net_link_layer_resolve): Likewise.
6862 (grub_net_ipv6_get_slaac): Likewise.
6863 (grub_net_ipv6_get_link_local): Likewise.
6864 (grub_cmd_ipv6_autoconf): Likewise.
6865 (parse_ip): Handle one number representation.
6866 (parse_ip6): New functoion.
6867 (match_net): Handle IPv6.
6868 (grub_net_resolve_address): Handle IPv6 and DNS.
6869 (grub_net_resolve_net_address): Handle IPv6.
6870 (route_cmp): New function.
6871 (grub_net_route_address): Find best route.
6872 (grub_net_addr_to_str): Handle IPv6.
6873 (grub_net_addr_cmp): New function.
6874 (grub_net_add_addr): Register local route.
6875 (print_net_address): Handle net address.
6876 (grub_net_poll_cards): Retransmit TCP.
6877 (grub_net_poll_cards_idle_real): Likewise.
6878 (have_ahead): New function.
6879 (grub_net_seek_real): Use underlying seek.
6880 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6881 * grub-core/net/tcp.c: New file.
6882 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6883 (cmp): New function.
6885 (tftp_receive): Handle unordered input.
6886 (destroy_pq): New function.
6887 (tftp_close): Close pq.
6888 * grub-core/net/udp.c: Put missing license header.
6889 (grub_net_udp_socket): New function.
6890 (udp_socket_register): Likewise.
6891 (grub_net_udp_close): Likewise.
6892 (grub_net_recv_udp_packet): Check checksum.
6893 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6894 * include/grub/misc.h (grub_memchr): New function.
6895 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6896 (grub_net_card_driver): Return buf in recv.
6897 (grub_net_slaac_mac_list): New struct.
6898 (grub_network_level_protocol_id): Add ipv6.
6899 (grub_net_network_level_addr): Likewise.
6900 (grub_net_network_level_net_addr): Likewise.
6901 (grub_net_app_protocol): Add seek.
6902 (grub_net_socket): Removed.
6903 (grub_net_sockets): Likewise.
6904 (grub_net_socket_register): Likewise.
6905 (grub_net_socket_unregister): Likewise.
6906 (FOR_NET_SOCKETS): Likewise.
6907 (grub_net_add_addr): Add const.
6908 (GRUB_NET_BOOTP_*): New enum.
6909 (grub_net_addr_cmp): New proto.
6910 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
6911 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
6912 (grub_net_hwaddr_to_str): NEw proto.
6913 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
6914 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
6915 (grub_dns_init): New proto.
6916 (grub_dns_fini): Likewise.
6917 (grub_net_tcp_retransmit): Likewise.
6918 (grub_net_link_layer_add_address): Likewise.
6919 (grub_net_link_layer_resolve_check): Likewise.
6920 (grub_net_link_layer_resolve): Likewise.
6921 (grub_net_dns_lookup): Likewise.
6922 (grub_net_add_dns_server): Likewise.
6923 (grub_net_remove_dns_server): Likewise.
6924 (GRUB_NET_TRIES): New const.
6925 (GRUB_NET_INTERVAL): Likewise.
6926 * include/grub/net/arp.h: Mostly rewritten.
6927 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
6928 * include/grub/net/ip.h: Mostly rewritten.
6929 * include/grub/net/netbuff.h: Indent.
6930 * include/grub/net/tcp.h: New file.
6931 * include/grub/net/udp.h: Mostly rewritten.
6932 * include/grub/priority_queue.h: New file.
6933 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
6934 (grub_swap_bytes64_compile_time): Likewise.
6935 (grub_cpu_to_be16_compile_time): Likewise.
6936 (grub_cpu_to_be32_compile_time): Likewise.
6937 (grub_cpu_to_be64_compile_time): Likewise.
6938 (grub_be_to_cpu64_compile_time): Likewise.
6940 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6942 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
6943 UINT_TO_PTR with cast.
6945 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6947 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
6950 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6952 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
6955 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6957 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
6960 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6962 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
6963 Add missing const attribute.
6964 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
6966 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
6969 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6971 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
6973 (serpent_setkey): Likewise.
6974 (serpent_encrypt_internal): Likewise.
6975 (serpent_decrypt_internal): Likewise.
6976 (serpent_encrypt): Don't put an alignment-increasing cast.
6977 (serpent_decrypt): Likewise.
6978 (serpent_test): Likewise.
6980 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6982 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
6984 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6986 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
6988 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
6990 (PTR_TO_UINT64): Likewise.
6991 (PTR_TO_UINT32): Likewise.
6993 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6995 * util/grub-mkimage.c (generate_image): Decrease the higher limit
6997 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7000 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7002 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7003 text_width > available width a bit more gracefully.
7005 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7007 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7008 current address calculation.
7010 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7012 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7014 (encode_block): Likewise.
7016 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7018 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7021 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7023 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7024 non-RS part to avoid RS messing with GDT.
7025 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7026 Increase to suit in realmode routines.
7028 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7030 * grub-core/kern/i386/realmode.S: Increase alignment.
7031 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7033 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7035 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7037 (syndroms): Compute 0 syndrom.
7038 (rs_recover): Use 0 syndrom.
7040 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7042 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7044 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7046 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7049 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7051 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7053 (get_top_pad): Likewise.
7054 (get_right_pad): Likewise.
7055 (get_bottom_pad): Likewise.
7057 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7059 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
7061 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7063 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7064 attribute as the structure isn't guaranteed to be properly aligned.
7065 (grub_efi_pci_device_path): Likewise.
7066 (grub_efi_pccard_device_path): Likewise.
7067 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7068 specify the size of `memory_type'.
7069 (grub_efi_vendor_device_path): Likewise.
7070 (grub_efi_controller_device_path): Likewise.
7071 (grub_efi_acpi_device_path): Likewise.
7072 (grub_efi_expanded_acpi_device_path): Likewise.
7073 (grub_efi_atapi_device_path): Likewise.
7074 (grub_efi_scsi_device_path): Likewise.
7075 (grub_efi_fibre_channel_device_path): Likewise.
7076 (grub_efi_1394_device_path): Likewise.
7077 (grub_efi_usb_device_path): Likewise.
7078 (grub_efi_usb_class_device_path): Likewise.
7079 (grub_efi_i2o_device_path): Likewise.
7080 (grub_efi_mac_address_device_path): Likewise.
7081 (grub_efi_ipv4_device_path): Likewise.
7082 (grub_efi_ipv6_device_path): Likewise.
7083 (grub_efi_infiniband_device_path): Likewise.
7084 (grub_efi_uart_device_path): Likewise.
7085 (grub_efi_vendor_messaging_device_path): Likewise.
7086 (grub_efi_hard_drive_device_path): Likewise.
7087 (grub_efi_cdrom_device_path): Likewise.
7088 (grub_efi_vendor_media_device_path): Likewise.
7089 (grub_efi_file_path_device_path): Likewise.
7090 (grub_efi_protocol_device_path): Likewise.
7091 (grub_efi_piwg_device_path): Likewise.
7092 (grub_efi_bios_device_path): Likewise.
7094 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7096 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7097 (grub_ucs4_to_utf8_alloc): Likewise.
7098 (grub_ucs4_to_utf8): Likewise.
7099 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7100 (grub_ucs4_to_utf8_alloc): Likewise.
7102 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7104 AFFS never uses unicode.
7106 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7107 (grub_latin1_to_utf8): New inline function.
7108 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7110 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7112 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7115 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7117 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7118 (grub_squash_dirent_header): Likewise.
7119 (read_chunk): Don't double swap.
7120 (grub_squash_iterate_dir): Fix swap sizes.
7122 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7124 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7126 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7128 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7129 (grub_hfs_iterate_dir): Likewise.
7131 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7133 Fix video on platforms where unaligned access is forbidden.
7134 Make several optimisations while on it.
7136 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7137 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7138 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7139 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7141 (grub_video_fbblit_replace_16bit_1bit):
7142 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7143 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7144 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7145 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7146 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7147 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7148 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7149 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7150 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7151 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7152 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7153 (grub_video_fbblit_replace_index_RGB888): Likewise.
7154 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7155 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7156 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7157 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7158 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7159 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7160 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7162 (grub_video_fbblit_blend_XXX565_1bit):
7163 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7164 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7165 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7167 * grub-core/video/fb/video_fb.c (common_blitter)
7168 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7169 (grub_video_fb_create_render_target_from_pointer)
7170 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7171 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7172 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7174 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7176 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7178 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7179 HH22 and HM10 relocations.
7181 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7183 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7185 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7187 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7188 allocation succeeded.
7190 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7192 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7193 argument a u8 pointer. All users updated.
7194 Handle unaligned buffers.
7196 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7198 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7199 add_part to workaround compiler bug.
7201 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7203 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7205 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7207 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7208 Reserve alignment invariants.
7209 (grub_multiboot_load): Likewise.
7210 (retrieve_video_parameters): Likewise.
7211 (grub_multiboot_make_mbi): Likewise.
7213 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7215 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7218 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7220 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7221 (grub_pata_pio_write): Likewise.
7223 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7225 Add noreturn attributes and remove unreachable code.
7227 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7229 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7230 code. Mark as noreturn.
7231 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7232 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7233 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7235 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7236 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7237 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7238 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7239 * include/grub/kernel.h (grub_main): Mark as noreturn.
7240 * include/grub/reader.h (grub_rescue_run): Likewise.
7242 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7244 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7245 redundant declaration.
7247 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7249 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7250 redundant declaration.
7251 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7253 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7255 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7256 to ensure alignment.
7257 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7258 alignment. Ensure tmp alignment.
7259 (grub_cmd_hdparm): Ensure buf alignment.
7260 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7261 to ensure alignment.
7262 (grub_ata_dumpinfo): Ensure text alignment.
7263 (grub_atapi_identify): Preserve alignment invariant.
7264 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7266 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7268 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7269 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7270 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7271 * include/grub/misc.h (grub_reboot)
7272 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7273 (grub_halt) [__mips__]: Likewise.
7275 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7277 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7278 Remove redundant declaration.
7279 (grub_mmap_get_post64): Likewise.
7280 (grub_mmap_get_upper): Likewise.
7281 (grub_mmap_get_lower): Likewise.
7283 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7285 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7286 uint32_t * to ensure alignment.
7287 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7289 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7291 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7292 uint16_t * to ensure alignment.
7293 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7296 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7298 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
7299 to ensure alignment.
7300 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7302 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7304 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7305 Handle unaligned pointers.
7308 (fixup): Use byte access instead of v16at.
7309 (find_attr): Fix imporper usage of v32at.
7310 (read_data): Likewise.
7311 (list_file): Handle byte-swapping and unaligned strings.
7312 (grub_ntfs_label): Likewise.
7314 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7316 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7317 as it's not necessarily aligned.
7319 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7321 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7322 redundant declaration.
7323 (grub_serial_init): Likewise.
7324 (grub_terminfo_init): Likewise.
7326 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7328 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7330 (ZAP_HASH_IDX): Likewise.
7331 (ZAP_LEAF_HASH_SHIFT): Likewise.
7332 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7333 (LEAF_HASH): Likewise.
7334 (ZAP_LEAF_NUMCHUNKS): Likewise.
7335 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7336 alignment invariants. Return pointer. All users updated.
7337 (ZAP_LEAF_ENTRY): Make into inline function.
7340 (xor_out): Use grub_crypto_xor.
7341 (dnode_get_path): Use grub_get_unaligned.
7342 (nvlist_find_value): Likewise.
7343 (grub_zfs_nvlist_lookup_uint64): Likewise.
7344 (grub_zfs_nvlist_lookup_string): Likewise.
7345 (get_nvlist_size): Likewise.
7346 (grub_zfs_open): Likewise.
7347 (fill_fs_info): Likewise.
7348 (grub_zfs_dir): Likewise.
7349 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7350 alignment invariants.
7351 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7352 necessarily aligned.
7354 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7356 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7358 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7360 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7361 arithmetic to conserve alignment invariants.
7363 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7365 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7366 redundant declaration.
7367 (grub_efiemu_mm_obtain_request): Likewise.
7368 (grub_efiemu_prepare): Likewise.
7370 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7372 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7375 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7377 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7378 case of aunaligned recptr.
7379 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7381 (grub_hfsplus_btree_search): Handle unaligned index.
7383 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7385 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7386 to get freetag and skip.
7388 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7390 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7392 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7393 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7395 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7397 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7398 name for checksum and fix allocation algorithm.
7400 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7402 * include/grub/types.h (grub_properly_aligned_t): New type.
7403 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7404 (grub_get_unaligned16): Add explicit casts.
7405 (grub_get_unaligned32): Likewise.
7406 (grub_get_unaligned64): Likewise.
7407 (grub_set_unaligned16): New function.
7408 (grub_set_unaligned32): Likewise.
7410 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7412 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7414 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7416 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7417 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7418 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7420 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7422 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7425 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7427 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7428 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7430 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7432 Unify and improve RAID and crypto xor.
7434 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7435 changed to grub_crypto_xor
7436 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7437 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7438 Use bigger types when possible.
7440 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7442 * grub-core/disk/raid.c (scan_devices): Fix condition.
7444 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7446 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7447 Make name a const ptr.
7449 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7451 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7452 first argument a const pointer.
7453 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7454 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7456 (grub_children_iterate): Likewise.
7457 (grub_machine_mmap_iterate): Remove redundant declaration.
7459 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7461 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7462 (grub_cmd_acpi) [!x86]: Disable EBDA.
7464 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7466 Enable UTF8 in gnulib regexp.
7468 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7469 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7470 (isupper): Use grub_isupper.
7471 (isascii): New inline function.
7472 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7473 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7474 * grub-core/normal/charset.c (grub_utf8_process): New function.
7475 (grub_utf8_to_utf16): Use grub_utf8_process.
7476 (grub_encode_utf8_character): New function.
7477 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7478 * include/grub/charset.h (grub_utf8_process): New declaration.
7479 (grub_encode_utf8_character): Likewise.
7480 * include/grub/misc.h (grub_islower): New inline function.
7481 (grub_isupper): Likewise.
7482 (grub_strchrsub): Moved down to fix the definitions.
7484 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7486 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7489 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7491 * include/grub/loader.h (grub_loader_register_preboot_hook):
7492 Use struct preboot * and not void * for handle. All users updated.
7493 (grub_loader_unregister_preboot_hook): Likewise.
7495 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7497 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7498 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7499 UTF-16-BE. All users updated.
7500 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7501 (grub_hfsplus_iterate_dir): Likewise.
7502 (grub_hfsplus_label): Likewise.
7504 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7506 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7508 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7510 Add missing const qualifiers.
7512 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7513 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7514 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7515 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7516 (grub_lvm_check_flag): Likewise.
7517 * grub-core/efiemu/i386/coredetect.c
7518 (grub_efiemu_get_default_core_name): Likewise
7519 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7520 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7521 * grub-core/fs/ntfs.c (fixup): Likewise.
7522 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7523 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7524 (fzap_lookup): Likewise.
7525 (zap_lookup): Likewise.
7526 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7527 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7528 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7529 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7530 (grub_freebsd_add_meta_module): Likewise.
7531 (grub_cmd_freebsd_module): Likewise.
7532 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7533 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7534 (grub_xnu_writetree_get_size): Likewise.
7535 (grub_xnu_writetree_toheap_real): Likewise.
7536 (grub_xnu_find_key): Likewise.
7537 (grub_xnu_create_key): Likewise.
7538 (grub_xnu_create_value): Likewise.
7539 (grub_xnu_register_memory): Likewise.
7540 (grub_xnu_check_os_bundle_required): Likewise.
7541 (grub_xnu_scan_dir_for_kexts): Likewise.
7542 (grub_xnu_load_kext_from_dir): Likewise.
7543 * grub-core/normal/color.c (color_list): Likewise.
7544 * grub-core/normal/completion.c (current_word): Likewise.
7545 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7546 * grub-core/term/serial.c (grub_serial_find): Likewise.
7547 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7548 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7550 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7551 (grub_freebsd_add_meta_module): Likewise.
7552 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7553 * include/grub/net.h (grub_net_card_driver): Likewise.
7554 (grub_net_card): Likewise.
7555 (grub_net_app_protocol): Likewise.
7556 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7557 * include/grub/serial.h (grub_serial_find): Likewise.
7558 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7559 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7560 (grub_xnu_create_value): Likewise.
7561 (grub_xnu_find_key): Likewise.
7562 (grub_xnu_scan_dir_for_kexts): Likewise.
7563 (grub_xnu_load_kext_from_dir): Likewise.
7565 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7566 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7567 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7569 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7571 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
7573 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7575 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7577 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7578 (read_device): Fix size calculation.
7580 2011-11-25 Robert Millan <rmh@gnu.org>
7582 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7583 (find_root_device_from_libzfs): Add zpool output parser to be used
7584 as fallback when libzfs isn't available.
7586 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7588 * po/Makefile.in.in: Add missing escape-continuation.
7590 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7592 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7594 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7596 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7598 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7600 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7602 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7604 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7606 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7608 * grub-core/lib/adler32.c: Add missing license specification.
7609 * grub-core/lib/crc64.c: Likewise.
7610 * grub-core/loader/i386/pc/plan9.c: Likewise.
7611 * grub-core/partmap/plan.c: Likewise.
7613 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7615 Add facility to debug GRUB with gdb under qemu.
7617 * grub-core/gdb_grub.in: New file.
7618 * grub-core/gmodule.pl.in: Likewise.
7619 * grub-core/Makefile.core.def (gmodule.pl): New script.
7620 (gdb_grub): Likewise.
7622 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7624 * util/grub-mount.c (argp_parser): Accept relative pathes.
7625 * util/grub-fstest.c (argp_parser): Likewise.
7627 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7631 * Makefile.util.def (libgrubmods): Add
7632 grub-core/partmap/plan.c.
7633 * docs/grub.texi: Notice Plan9 support.
7634 * grub-core/Makefile.core.def (plan9): New module.
7635 (part_plan): Likewise.
7636 * grub-core/loader/i386/pc/plan9.c: New file.
7637 * grub-core/partmap/plan.c: Likewise.
7638 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7640 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7641 * include/grub/mm.h (grub_extend_alloc): New inline function.
7643 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7645 Make Reed-Solomon faster by using power of generator representation of
7648 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7649 (gf_double_t): Likewise.
7650 (gf_invert): Removed.
7651 (gf_powx): New array.
7652 (gf_powx_inv): Likewise.
7653 (scratch): Move higher.
7654 (gf_reduce): Removed.
7656 (gf_invert): Likewise.
7657 (init_inverts): Replaced with ...
7658 (init_powx): ...this. All users updated.
7659 (pol_evaluate): Replace multiplications with additions.
7660 (rs_encode): Likewise.
7661 (gauss_eliminate): Call gf_invert.
7662 (grub_reed_solomon_add_redundancy): Call init_powx.
7663 (grub_reed_solomon_recover): Call init_powx unconditionally.
7665 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7667 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7669 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7671 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7672 disk->partiton for safety.
7674 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7676 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7678 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7680 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7682 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7684 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7686 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7688 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7690 Fix spaces handling in proc/self/mountinfo.
7692 * util/getroot.c (unescape): New function.
7693 (grub_find_root_device_from_mountinfo): Use unescape.
7695 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7697 Support ZFS embedding.
7699 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7700 (grub_zfs_fs): Register grub_zfs_embed.
7702 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7704 Fix MIPS compilation.
7706 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7707 * include/grub/offsets.h: Rename decompressor fields from
7708 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7709 * util/grub-mkimage.c (image_targets): Use new names.
7711 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7713 Defer multiboot device parsing until we're in compressed part.
7715 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7716 bsd_part. setdevice has fallen into disuse.
7717 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7718 (bsd_part): Likewise.
7719 (boot_dev): New variable.
7720 (multiboot_trampoline): Don't parse multiboot device.
7721 Pass multiboot device in %edx.
7722 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7724 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7726 * grub-core/kern/i386/pc/startup.S: Save edx.
7727 (grub_boot_drive): Removed.
7728 (grub_install_dos_part): Likewise.
7729 (grub_install_bsd_part): Likewise.
7730 (grub_boot_device): New variable.
7731 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7732 (grub_install_bsd_part): Likewise.
7733 (grub_boot_drive): Likewise.
7734 (grub_boot_device): New variable.
7735 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7737 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7738 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7739 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7740 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7741 * util/grub-install.in: Remove redundant condition.
7743 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7745 Fix bug introduced by previous commit.
7747 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7749 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7751 Use decompressors framework on i386-pc. It increases core size
7752 by 46 bytes but improves compatibility and maintainability.
7754 * grub-core/Makefile.core.def (lzma_decompress): New image.
7755 (kernel): Add i386_pc_ldflags.
7756 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7757 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7758 to real_to_prot, prot_to_real and device info.
7759 * include/grub/offsets.h: Renamed decompressor offsets.
7760 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7761 (image_target_desc): Remove raw_size and rename decompressor fields.
7762 (compress_kernel): Handle lzma.
7763 (generate_image): Handle decompressors on i386-pc.
7765 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7767 * configure.ac: Add -fno-asynchronous-unwind-tables.
7769 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7771 Move assembly code to C by using intwrap. It increases core size
7772 by 88 bytes but improves compatibility and maintainability.
7774 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7775 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7776 ... here. Translated to C.
7777 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7778 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7779 ... here. Translated to C.
7780 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7781 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7782 ... here. Translated to C.
7783 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7784 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7785 ... here. Translated to C.
7786 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7787 * grub-core/term/i386/pc/console.c (grub_console_cls):
7788 ... here. Translated to C.
7789 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7790 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7791 ... here. Translated to C.
7792 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7793 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7795 * grub-core/term/i386/pc/console.c (int10_9): New function.
7796 (grub_console_putchar): Likewise.
7797 * include/grub/i386/pc/console.h: Removed the not anymore shared
7800 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7802 Move grub_chainloader_real_boot out of the kernel.
7804 * grub-core/Makefile.am: Remove machine/loader.h.
7805 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7807 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7809 (grub_relocator16_keep_a20_enabled): Likewise.
7810 (grub_relocator16_boot): Fill new variables.
7811 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7812 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7814 (grub_chainloader_unload): Likewise.
7815 (grub_chainloader_cmd): Likewise.
7816 * include/grub/i386/pc/loader.h: Removed.
7817 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7818 and esi. All initialisers updated.
7820 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7821 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
7823 * Makefile.util.def (grub-mount): New util.
7824 * .bzrignore: Add grub-mount.
7825 * configure.ac: Check for fuse and enable grub-mount if available.
7826 * docs/man/grub-mount.h2m: New file.
7827 * util/grub-mount.c: Likewise.
7829 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7831 * grub-core/commands/efi/fixvideo.c: Gettextize.
7832 * grub-core/commands/hashsum.c: Likewise.
7833 * grub-core/commands/i386/cmostest.c: Likewise.
7834 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7835 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7836 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7837 * grub-core/commands/lsmmap.c: Likewise.
7838 * grub-core/commands/menuentry.c: Likewise.
7839 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7840 * grub-core/commands/setpci.c: Likewise.
7841 * grub-core/loader/i386/bsd.c: Likewise.
7842 * grub-core/loader/i386/linux.c: Likewise.
7843 * util/getroot.c: Likewise.
7844 * util/grub-editenv.c: Likewise.
7845 * util/grub-fstest.c: Likewise.
7846 * util/grub-mkfont.c: Likewise.
7847 * util/grub-mkimage.c: Likewise.
7848 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7849 * util/grub-pe2elf.c: Likewise.
7850 * util/grub-probe.c: Likewise.
7851 * util/grub-setup.c: Likewise.
7852 * util/ieee1275/ofpath.c: Likewise.
7853 * util/misc.c: Likewise.
7854 * util/raid.c: Likewise.
7856 2011-11-11 Robert Millan <rmh@gnu.org>
7858 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7859 __attribute__((unused)) from `os_dev', which *is* being used.
7861 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7863 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7865 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7866 GRUB_IA64_DL_GOT_ALIGN.
7867 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7868 GRUB_IA64_DL_TRAMP_ALIGN.
7870 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7872 Replace grub_fatal with normal errors in i386 linux loader.
7874 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7875 (allocate_pages): Check find_efi_mmap_size return value.
7876 (grub_e820_add_region): Return error.
7877 (grub_linux_boot): Check mmap return value.
7879 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7881 * grub-core/commands/acpihalt.c: Gettextized.
7882 * grub-core/commands/cacheinfo.c: Likewise.
7883 * grub-core/commands/cmp.c: Likewise.
7884 * grub-core/commands/efi/loadbios.c: Likewise.
7885 * grub-core/commands/gptsync.c: Likewise.
7886 * grub-core/commands/ieee1275/suspend.c: Likewise.
7887 * grub-core/commands/legacycfg.c: Likewise.
7888 * grub-core/commands/memrw.c: Likewise.
7889 * grub-core/commands/minicmd.c: Likewise.
7890 * grub-core/commands/parttool.c: Likewise.
7891 * grub-core/commands/time.c: Likewise.
7892 * grub-core/commands/videoinfo.c: Likewise.
7893 * grub-core/disk/geli.c: Likewise.
7894 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7895 * grub-core/disk/luks.c: Likewise.
7896 * grub-core/disk/lvm.c: Likewise.
7897 * grub-core/font/font_cmd.c: Likewise.
7898 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7899 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7900 * grub-core/gfxmenu/view.c: Likewise.
7901 * grub-core/kern/emu/hostdisk.c: Likewise.
7902 * grub-core/kern/emu/main.c: Likewise.
7903 * grub-core/kern/emu/misc.c: Likewise.
7904 * grub-core/kern/emu/mm.c: Likewise.
7905 * grub-core/kern/mips/arc/init.c: Likewise.
7906 * grub-core/kern/mips/loongson/init.c: Likewise.
7907 * grub-core/kern/partition.c: Likewise.
7908 * grub-core/lib/i386/halt.c: Likewise.
7909 * grub-core/lib/mips/arc/reboot.c: Likewise.
7910 * grub-core/lib/mips/loongson/reboot.c: Likewise.
7911 * grub-core/loader/i386/pc/chainloader.c: Likewise.
7912 * grub-core/loader/i386/xnu.c: Likewise.
7913 * grub-core/loader/multiboot.c: Likewise.
7914 * grub-core/net/bootp.c: Likewise.
7915 * grub-core/net/net.c: Likewise.
7916 * grub-core/normal/term.c: Likewise.
7917 * grub-core/partmap/bsdlabel.c: Likewise.
7918 * grub-core/parttool/msdospart.c: Likewise.
7919 * grub-core/term/gfxterm.c: Likewise.
7920 * grub-core/term/terminfo.c: Likewise.
7921 * grub-core/video/i386/pc/vbe.c: Likewise.
7922 * util/grub-menulst2cfg.c: Likewise.
7923 * util/grub-mkdevicemap.c: Likewise.
7924 * util/grub-mklayout.c: Likewise.
7925 * util/grub-mkrelpath.c: Likewise.
7926 * util/grub-script-check.c: Likewise.
7927 * util/ieee1275/grub-ofpathname.c: Likewise.
7928 * util/resolve.c: Likewise.
7930 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7932 Support %1$d syntax.
7934 * tests/printf_unit_test.c: New file.
7935 * Makefile.util.def (printf_test): New test.
7936 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
7938 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7940 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
7943 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7945 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
7947 * grub-core/font/font.c (grub_font_load): Likewise.
7949 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7951 * util/grub-macho2img.c: Add comment concerning gettext.
7952 * grub-core/lib/legacy_parse.c: Likewise.
7954 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7956 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
7957 (grub_xvasprintf): Likewise.
7959 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7961 Add const keyword to grub_env_get and gettextize week days.
7963 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
7964 (grub_read_hook_datetime): Return const char *.
7965 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
7967 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7969 (grub_get_weekday_name): Return const char *. Call gettext.
7970 * grub-core/script/argv.c (grub_script_argv_append): Receive const
7971 char * and len as the argument. All users updated.
7972 (grub_script_argv_split_append): Receive const char *.
7973 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
7974 * include/grub/env.h (grub_env_get): Likewise.
7975 (grub_env_read_hook_t): Return const char *.
7976 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
7977 (grub_script_argv_split_append): Likewise.
7979 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7981 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
7983 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7985 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
7986 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
7988 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7990 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
7993 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7995 Fix mips compilation.
7997 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
7999 (hashes): Use in embed decoder as well (for sizes).
8000 (dec_stream_header): Fix embed decompressor logic.
8001 (dec_stream_footer): Likewise.
8003 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8005 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8006 an error and not a fatal on unrecognised relocation types.
8008 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8010 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8011 Issue error rather than printf on unknown arguments.
8013 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8015 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8018 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8020 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8023 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8025 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8026 leftover debug printf.
8028 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8030 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8032 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8034 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8037 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8039 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8041 2011-11-10 Shea Levy <slevy@tieronedesign.com>
8043 Allow all modules to perform serial IO
8045 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8046 * include/grub/serial.h (grub_serial_port_configure): New inline
8048 (grub_serial_port_fetch): Likewise.
8049 (grub_serial_port_put): Likewise.
8050 (grub_serial_port_fini): Likewise.
8051 (grub_serial_find): New proto.
8053 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8055 Put symlink at the end of the node and fix a potential
8058 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8059 Make symlink into an array.
8060 (set_rockridge): Set have_symlink and alloc_dirents.
8061 (grub_iso9660_read_symlink): Use new layout.
8062 (grub_iso9660_iterate_dir): Fix memory corruption.
8064 (grub_iso9660_dir): Set have_symlink.
8065 (grub_iso9660_open): Likewise.
8067 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8069 Remove local keyword.
8071 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8072 (version_test_gt): Likewise.
8073 (version_find_latest): Likewise.
8074 (gettext_printf): Likewise.
8075 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8077 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8079 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8081 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8083 Fix ZFS memory and resource leaks.
8085 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8088 (fill_vdev_info): New parameter inserted. All users updated.
8089 (check_pool_label): Likewise.
8090 (scan_disk): Likewise.
8091 (scan_devices): Close non-inserted disks.
8092 (fzap_iterate): Free l.
8093 (unmount_device): Free children descripto memory.
8095 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8097 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8098 argument (access out of bounds).
8100 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8102 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8105 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8107 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8110 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8112 Fix several memory leaks.
8114 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8115 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8116 (grub_cpio_dir): Likewise.
8117 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8118 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8119 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8120 (grub_romfs_label): Likewise.
8121 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8122 (squash_unmount): New function.
8123 (grub_squash_dir): Fix memory leak.
8124 (grub_squash_open): Likewise.
8125 (grub_squash_read): Likewise.
8126 (grub_squash_mtime): Likewise.
8127 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8128 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8129 * util/grub-fstest.c (fstest): Likewise.
8131 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8133 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8134 avoid accessing beyond the array.
8136 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8138 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8140 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8144 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8145 (GRUB_AFFS_FLAG_FFS): Removed.
8146 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8147 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8148 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8149 (grub_fshelp_node): Make block 32-bit.
8150 Add block_cache and last_block_cache.
8151 (grub_affs_read_block): Fill and use block cache.
8152 (grub_affs_read_file): Removed.
8153 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8155 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8157 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8159 (grub_affs_close): Free block cache.
8160 (grub_affs_read): Use grub_fshelp_read_file directly.
8162 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8164 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8167 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8169 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8171 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8174 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8176 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8178 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8179 byteswap when needed.
8181 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8183 Fix FreeBSD compilation.
8185 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8186 to avoid circular dependency.
8187 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8188 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8189 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8191 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8193 Fix ZFS crypto error types.
8195 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8196 (grub_gcm_decrypt): Likewise.
8197 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8200 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8204 * Makefile.util.def (10_illumos): New script.
8205 * configure.ac: Set COND_HOST_ILLUMOS.
8206 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8207 Support Illumos calls.
8208 (find_partition_start) [__sun__]: Likewise.
8209 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8210 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8211 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8212 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8214 * util/grub-probe.c (probe) [__sun__]: Do character check.
8215 * util/grub.d/10_illumos.in: New file.
8217 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8219 Support escaped commas in hostdisk.
8221 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8222 (find_grub_drive): Use unescape_cmp.
8223 (make_device_name): Escape commas.
8225 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8227 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8229 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8231 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8234 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8236 Support trampoline jumps on powerpc.
8238 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8240 (grub_dl_load_segments): Set mod->sz.
8241 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8243 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8245 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8247 (trampoline): New struct.
8248 (trampoline_template): New const.
8249 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8250 * include/grub/dl.h (grub_dl): Add sz element.
8251 [__powerpc__]: Follow __ia64__.
8252 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8253 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8254 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8255 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8257 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8261 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8262 * grub-core/Makefile.core.def (zfscrypt): New module.
8263 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8264 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8265 it. All users updated.
8266 (grub_zfs_decrypt): New var.
8267 (grub_zfs_load_key): Likewise.
8268 (zio_checksum_functions): Add SHA256+MAC.
8269 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8270 (zio_read): Handle encrypted blocks.
8271 (zap_verify): Remove incorrect check.
8272 (fzap_iterate): Handle non-standard fzap.
8273 (zap_iterate): Likewise.
8274 (zap_iterate_u64): New function.
8275 (dnode_get_fullpath): Load keys.
8276 * grub-core/fs/zfs/zfscrypt.c: New file.
8277 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8278 (grub_crypto_ecb_encrypt): Make input const.
8279 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8280 (grub_crypto_ecb_encrypt): Make input const.
8281 (GRUB_CIPHER_AES): New macro.
8282 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8283 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8284 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8285 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8286 prefix. All users updated.
8287 (grub_zfs_add_key): New proto.
8288 (grub_zfs_decrypt): Likewise.
8289 (grub_zfs_load_key): Likewise.
8290 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8291 * util/grub-fstest.c (options): Add -K option.
8292 (argp_parser): Likewise.
8294 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8296 Support zle compression on ZFS.
8298 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8299 (decomp_table): Add zle.
8300 * include/grub/zfs/zio.h (zio_compress): Add zle.
8302 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8304 Support BtrFS embedding.
8306 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8307 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8308 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8309 * util/grub-setup.c (setup): Use fs embedding if available.
8310 Add additional sanity check.
8312 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8314 * util/grub-install.in: Fix condition for config_opt.
8316 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8318 Support third redundancy strip on raidz3.
8320 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8321 Return error on singularity. All users updated.
8322 (read_device): Don't stop on 3rd failure on raidz3.
8324 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8326 Support case-insensitive ZFS subvolumes.
8328 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8330 (zap_hash): Likewise.
8331 (name_cmp): New function.
8332 (zap_leaf_array_equal): New parameter case_insensitive.
8334 (zap_leaf_lookup): Likewise.
8335 (fzap_lookup): Likewise.
8336 (zap_lookup): Likewise.
8337 (dnode_get_path): New parameter case_insensitive. Retrieve case
8338 sensitiviness of a volume. All users updated.
8339 (dnode_get_fullpath): New parameter case_insensitive.
8341 (grub_zfs_dir): Set info.case_insensitiveness.
8343 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8345 Support second redundancy strip on raidz(2,3).
8347 * grub-core/fs/zfs/zfs.c (powx): New array.
8348 (powx_inv): Likewise.
8350 (xor_out): New function.
8352 (recovery): Likewise.
8353 (read_device): Use second redundancy strip.
8355 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8357 Use a power of generator representation of GF(256) multiplication group
8358 to save space time and complexity.
8360 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8361 (raid6_table2): Likewise.
8363 (powx_inv): Likewise.
8365 (grub_raid_block_mul): Replace with ...
8366 (grub_raid_block_mulx): ...this.
8367 (grub_raid6_init_table): Rewritten.
8368 (grub_raid6_recover): Use power of generator representation.
8370 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8372 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8373 for the right device.
8375 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8377 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8378 expected by grub-mkimage and it's more clear since there is no implicit
8381 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8383 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8385 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8387 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8389 * util/grub-mkrescue.in: Fix handling xorriso option.
8391 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8393 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8396 2011-11-03 crocket <crockabiscuit@gmail.com>
8398 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8400 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8402 XZ CRC64 and SHA256 support.
8404 * Makefile.util.def (libgrubmods): Add crc64.c.
8405 * grub-core/Makefile.core.def (crc64): New module.
8406 * grub-core/lib/crc64.c: New file.
8407 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8408 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8410 (MAX_HASH_SIZE): New define.
8411 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8412 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8413 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8414 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8415 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8416 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8417 Handle non-crc32 hashes.
8418 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8419 (dec_stream_header): Handle non-crc32 hashes.
8420 (dec_stream_footer): Likewise.
8421 (dec_block_header): Likewise.
8422 (dec_main): Likewise.
8423 (xz_dec_init): Likewise.
8424 (xz_dec_reset): Likewise.
8425 (xz_dec_end): Likewise.
8426 * util/import_gcry.py: Add CRC64 line.
8428 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8430 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8433 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8435 Make reiserfs label retrieval similar to other *_label functions.
8437 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8438 (REISERFS_MAX_LABEL_LENGTH): Removed.
8439 (REISERFS_LABEL_OFFSET): Likewise.
8440 (grub_reiserfs_label): Rewritten.
8442 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8444 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8447 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8449 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8451 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8453 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8454 drive failure on both raidz and raidz2.
8456 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8458 Fix RAIDZ(2) for >= 5 devices.
8460 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8461 asize argument. All users updated.
8463 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8467 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8468 (fill_vdev_info_real): Set ashift.
8469 (read_device): Rewrite RAIDZ part based on reverse engineering.
8471 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8473 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8474 don't report potentially unavialiable fields in debug output.
8475 (find_path): Fix double-free and memory leak.
8477 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8481 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8482 (grub_ufs_fs): Always set .label.
8484 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8488 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8489 (grub_ufs_data): New field log2_blksz.
8490 (grub_ufs_read_file): Use shifts.
8491 (grub_ufs_mount): Check block size and logarithm it.
8493 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8495 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8498 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8500 Handle symlinks and long names on tar and cpio.
8502 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8503 (ATTR_FILE): Likewise.
8504 (ATTR_DIR): Likewise.
8505 (ATTR_LNK): Likewise.
8506 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8507 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8509 (grub_cpio_mount): Zero-fill data.
8510 (handle_symlink): New function.
8511 (grub_cpio_dir): Handle symlinks.
8512 (grub_cpio_open): Likewise.
8513 (grub_cpio_close) [MODE_USTAR]: Free linkname.
8515 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8517 Fix iso9660 filename limitations and fix memory leaks.
8519 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8520 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8522 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8524 Fix JFS file name length limitations.
8526 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8527 (grub_jfs_diropen): Fix maximum filename length.
8528 (grub_jfs_getent): Fix filename length.
8529 (grub_jfs_lookup_symlink): Fix size checks.
8531 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8533 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8536 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8538 Leverage BFS implementation to read AFS.
8540 * Makefile.util.def (libgrubmods): Add afs.c.
8541 * grub-core/Makefile.core.def (afs): New module
8542 * grub-core/fs/afs.c: New file.
8543 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8545 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8547 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
8549 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8551 * grub-core/fs/bfs.c: Run indent.
8553 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8555 BFS implementation based on the specification.
8557 * grub-core/fs/bfs.c: New file.
8558 * Makefile.util.def (libgrubmods): Add bfs.c.
8559 * grub-core/Makefile.core.def (bfs): New module.
8561 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8563 * util/grub-fstest.c (cmd_cp): Clarify error message.
8564 (cmd_cmp): Likewise.
8566 2011-10-30 Yves Blusseau <blusseau@zetam.org>
8568 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8571 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8573 Remove afs and befs because of copyright problem.
8575 * grub-core/fs/afs.c: Removed.
8576 * grub-core/fs/afs_be.c: Removed.
8577 * grub-core/fs/befs.c: Removed.
8578 * grub-core/fs/befs_be.c: Removed.
8579 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8580 * grub-core/Makefile.core.def (afs): Removed.
8583 (befs_be): Likewise.
8585 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8587 Prefer rockridge over Joliet.
8589 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8591 (set_rockridge): ... here.
8592 (grub_iso9660_mount): Check rockridge on the primary label when
8593 discovering. Ignore Joliet if Rockridge is present.
8595 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8597 Use shifts in nilfs2.
8599 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8600 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8601 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8602 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8603 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8604 (grub_nilfs2_entries_per_block): Replaced with ...
8605 (grub_nilfs2_log_entries_per_block_log): ... this.
8606 (grub_nilfs2_blocks_per_group): Replaced with ...
8607 (grub_nilfs2_blocks_per_group_log): ... this.
8608 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8609 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8610 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8611 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8612 (grub_nilfs2_palloc_entry_offset): Replaced ...
8613 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8614 (grub_nilfs2_dat_translate): Use shifts.
8615 (grub_nilfs2_read_inode): Likewise.
8616 (GRUB_MOD_INIT): Ensure that logs are correct.
8618 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8620 Use shifts in minix filesystem.
8622 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8623 (GRUB_MINIX_ZONE2SECT): Likewise.
8624 (grub_minix_data): Replace block_size with log_block_size.
8625 (grub_minix_read_file): Use shifts.
8626 (grub_minix_mount): Check block size and take a logarithm.
8628 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8630 Use shifts in squash4.
8632 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8633 (squash_mount): Check block size and take logarithm.
8634 (direct_read): Use shifts.
8636 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8638 Correct befs block counting logic.
8640 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8641 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8642 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8643 (grub_afs_read_inode): Use block_shift.
8644 (RANGE_SHIFT): New definition.
8645 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8646 unexpected conditions, use shifts and appropriate types.
8647 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8649 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8651 * grub-core/disk/raid.c (scan_devices): Check partition.
8652 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8654 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8656 Support BFS (befs) UUID.
8658 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8659 (grub_afs_small_data_element_header): New struct.
8660 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8661 (grub_afs_read_attribute) [MODE_BFS]: New function.
8662 (grub_afs_iterate_dir): Allocate for complete inode.
8663 (grub_afs_mount): Likewise.
8664 (grub_afs_uuid) [MODE_BFS]: New function.
8665 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8667 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8669 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8670 (zfs_unmount): Fix memory leak.
8672 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8674 Support NTFS reparse points.
8676 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8677 (symlink_descriptor): New struct.
8678 (grub_ntfs_read_symlink): New function.
8679 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8680 (grub_ntfs_open): Likewise.
8682 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8684 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8686 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8688 fstest xnu_uuid subcommand.
8690 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8691 grub-core/commands/xnu_uuid.c.
8692 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8693 (fstest): Handle xnu_uuid.
8694 (options): Document xnu_uuid.
8695 (argp_parser): Parse xnu_uuid.
8697 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8699 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8700 -l argument. Add newline at the end if printing.
8701 (GRUB_MOD_INIT): Document -l.
8703 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8705 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8707 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8709 ZFS multi-device and version 33 support.
8711 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8712 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8713 (grub_zfs_data): Add multidev-ice-related fields.
8714 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8715 (dva_get_offset): Make dva const.
8716 (zfs_fetch_nvlist): New function.
8717 (fill_vdev_info_real): Likewise.
8718 (fill_vdev_info): Likewise.
8719 (check_pool_label): Likewise.
8720 (scan_disk): Likewise.
8721 (scan_devices): Likewise.
8722 (read_device): Likewise.
8723 (read_dva): Likewise.
8724 (zio_read_gang): Use read_dva.
8725 (zio_read_data): Likewise.
8726 (zap_leaf_lookup): Add missing endian conversion.
8727 (zap_verify): Add missing endian conversion. All users updated.
8728 (fzap_lookup): Likewise.
8729 (fzap_iterate): Likewise.
8730 (dnode_get_path): Handle SA bonus.
8731 (nvlist_find_value): Make input const. All users updated.
8732 (unmount_device): New function.
8733 (zfs_unmount): Use unmount_device.
8734 (zfs_mount): Use scan_disk.
8735 (zfs_mtime): New function.
8736 (grub_zfs_open): Handle system attributes.
8737 (fill_fs_info): Likewise.
8738 (grub_zfs_dir): Likewise.
8739 (grub_zfs_fs): Add mtime.
8740 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8741 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8742 (SA_MTIME_OFFSET): Likewise.
8743 (SA_SYMLINK_OFFSET): Likewise.
8744 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8745 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8746 (fstest): Support zfsinfo.
8747 (argp_parser): Likewise.
8749 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8751 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8754 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8758 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8759 sharing the same block. Iterate over correct number of indices.
8760 (dnode_get_path): Handle symlinks correctly.
8762 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8764 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8766 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8770 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8771 (grub_hfsplus_btree_search): Fix types.
8772 (grub_hfsplus_label): Implement.
8774 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8776 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8778 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8780 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8782 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8784 Fix symlink handling on iso9660.
8786 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8788 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8789 (grub_iso9660_read_symlink): Moved most of code ...
8790 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8792 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8794 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8795 Use union to avoid breaking strict-aliasing rules.
8797 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8799 Support multi-extent iso files.
8801 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8803 (grub_fshelp_node): Revamp. All users updated.
8805 (read_node): New function.
8806 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8808 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8809 (get_node_size): New function.
8810 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8812 Fix memory leak on . and ..
8813 (grub_iso9660_read): Use read_node.
8814 (grub_iso9660_close): Free node.
8816 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8818 Fix tar 4G limit and handle paths containing dot.
8820 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8821 (canonicalize): New function.
8822 (grub_cpio_find_file): Use canonicalize. Store offs in
8824 (grub_cpio_dir): Use grub_disk_addr_t.
8825 (grub_cpio_open): Likewise.
8827 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8829 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8831 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8833 (grub_squash_inode): Add long_file and block_size.
8834 (grub_squash_cache_inode): New struct.
8835 (grub_squash_dirent): Make types into enum.
8836 (SQUASH_TYPE_LONG_REGULAR): New type.
8837 (grub_squash_frag_desc): Add field size.
8838 (SQUASH_BLOCK_FLAGS): New enum.
8839 (grub_squash_data): Use grub_squash_cache_inode.
8840 (grub_fshelp_node): Make ino_chunk 64-bit.
8841 (read_chunk): Minor argument change. All users updated.
8842 (squash_mount): Use correct le_to_cpu.
8843 (grub_squash_open): Handle LONG_REGULAR.
8844 (direct_read): New function.
8845 (grub_squash_read_data): Handle blocks correctly.
8847 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8849 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8851 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8853 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8855 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8857 Fix 2G limit on ZFS.
8859 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8861 (uberblock_verify): Likewise.
8862 (dmu_read): Likewise.
8863 (grub_zfs_read): Likewise. Remove invalid cast.
8865 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8867 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8868 (grub_jfs_blkno): Fix incorrect shift.
8869 (grub_jfs_read_file): Use more appropriate types.
8871 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8873 Support triple indirect on minix2 and minix3.
8875 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8876 Declare triple_indir_zone.
8877 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8880 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8884 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8885 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8886 Rename ctime to mtime. All users updated.
8887 (grub_minix_get_file_block): Fix types and double indirect computations.
8889 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8891 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8892 if no label is found.
8893 (grub_fat_iterate_dir): Fix file size type.
8894 (grub_fat_iterate_dir): Likewise.
8896 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8898 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8900 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8901 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8903 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8905 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8907 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8909 * util/import_gcry.py: Accept space between # and include.
8911 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8913 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
8915 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8917 Fine grainely disable warnings on lexer. Remove Wno-error on it.
8919 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
8920 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
8922 * grub-core/script/yylex.l: Add fine-grained #pragma.
8924 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8926 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
8927 New inline function.
8928 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
8930 (memset) [GRUB_UTIL]: Likewise.
8931 (memcmp) [GRUB_UTIL]: Likewise.
8933 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8935 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
8936 inline function rather than a define.
8938 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8940 * util/grub-setup.c: Add missing include.
8942 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8944 * util/ieee1275/grub-ofpathname.c: Add missing include.
8946 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8948 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
8949 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
8952 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8954 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
8957 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8959 * util/grub-install.in: Add datarootdir as per automake manual
8961 * util/grub-mknetdir.in: Likewise.
8963 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8965 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
8967 * util/grub.d/10_kfreebsd.in: Likewise.
8968 * util/grub.d/10_linux.in: Likewise.
8969 * util/grub.d/10_netbsd.in: Likewise.
8970 * util/grub.d/10_windows.in: Likewise.
8971 * util/grub.d/20_linux_xen.in: Likewise.
8973 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
8975 Remove redundant grub_kernel_image_size.
8977 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
8979 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
8980 the small code. It moves it only by few bytes but simplifies the code.
8981 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
8983 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
8984 (grub_kernel_image_size): Removed.
8985 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
8986 (grub_kernel_image_size): Removed.
8987 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
8988 compiled with Apple toolchain.
8989 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
8990 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
8991 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
8992 (grub_total_module_size): Likewise.
8993 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
8995 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
8996 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
8997 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8998 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
8999 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9000 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9001 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9002 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9004 (grub_total_module_size): Removed.
9005 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9006 (image_targets): Likewise.
9007 Set .compressed_size to no field on sparc.
9008 (generate_image): Remove kernel_image_size handling.
9010 2011-10-19 Szymon Janc <szymon@janc.net.pl>
9012 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9013 NULL pointer dereference.
9015 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9017 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9018 done with a dedicated section.
9020 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9021 Ensure the correct position of boot_path.
9022 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9023 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9025 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9026 * include/grub/boot.h: Removed. All references removed.
9027 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9029 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9031 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9033 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9036 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9038 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9040 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9042 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9043 Don't add the bogus brackets.
9045 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9049 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9050 * grub-core/Makefile.core.def (exfat): New module.
9051 * grub-core/fs/exfat.c: New file.
9052 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9053 (GRUB_FAT_ATTR_*): Make into an enum.
9054 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9055 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9056 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9057 (GRUB_FAT_MAXFILE): Removed.
9058 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9059 (grub_current_fat_bpb_t): New type.
9060 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9061 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9062 (grub_fat_dir_node_t): New type.
9063 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9064 (fat_log2) [MODE_EXFAT]: Removed.
9065 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9066 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9067 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9068 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9069 (grub_fat_label) [MODE_EXFAT]: New function.
9070 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9071 reserved_first_sector to 0.
9073 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9075 Move grub_reboot out of the kernel.
9077 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9078 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9079 * grub-core/lib/efi/reboot.c: ... here.
9080 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9081 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9082 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9083 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9084 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9085 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9086 * grub-core/lib/ieee1275/reboot.c: ... here.
9087 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9088 * grub-core/lib/mips/arc/reboot.c: ... here.
9089 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9090 * grub-core/lib/mips/loongson/reboot.c: ...here.
9091 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9092 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9093 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9094 * include/grub/i386/reboot.h: New file.
9095 * include/grub/mips/loongson/ec.h: Fix includes.
9096 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9097 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9098 * grub-core/lib/i386/reboot.c: New file.
9100 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9102 Make grub_prefix into module to fix the arbitrary limit and save
9105 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9106 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9107 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9108 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9109 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9110 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9111 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9112 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9113 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9114 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9115 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9116 * include/grub/ia64/efi/kernel.h: Removed.
9117 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9118 (grub_prefix): Removed.
9119 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9120 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9121 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9122 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9123 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9124 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9125 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9126 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9127 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9128 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9129 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9130 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9131 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9132 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9133 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9134 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9135 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9136 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9137 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9138 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9139 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9140 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9141 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9142 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9143 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9144 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9145 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9146 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9147 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9149 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9151 (image_targets): Likewise.
9152 (generate_image): Put prefix as a module.
9154 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9156 Replace grub_module_iterate with FOR_MODULES.
9158 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9159 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9160 (grub_efi_modules_addr): ...this.
9161 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9162 (grub_efi_init): Set grub_modbase.
9163 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9164 (grub_modbase): New variable.
9165 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9166 (grub_modbase): New variable.
9167 (grub_machine_init): Set grub_modbase.
9168 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9169 (grub_modbase): New variable.
9170 (grub_machine_init): Set grub_modbase.
9171 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9172 (grub_modbase): New variable.
9173 (grub_machine_init): Set grub_modbase.
9174 * grub-core/kern/main.c (grub_module_iterate): Remove.
9175 (grub_modules_get_end): Use grub_modbase.
9176 (grub_load_modules): Use FOR_MODULES.
9177 (grub_load_config): Likewise.
9178 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9179 (grub_modbase): New variable.
9180 (grub_machine_init): Set grub_modbase.
9181 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9182 (grub_modbase): New variable.
9183 (grub_machine_init): Set grub_modbase.
9184 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9186 (grub_modbase): New variable.
9187 (grub_machine_init): Set grub_modbase.
9188 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9189 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9190 (grub_module_iterate): Likewise.
9191 (grub_modbase): New variable declaration.
9192 (FOR_MODULES): New macro.
9194 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9196 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9197 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9199 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9201 Fix few obvious type discrepancies.
9203 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9204 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9205 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9207 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9208 and connected types.
9209 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9211 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9212 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9213 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9214 and connected types.
9216 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9218 Fix python 3.x incompatibilities.
9220 * gentpl.py: Put brackets around print strings.
9221 * util/import_gcry.py: Open explicitly as utf-8.
9222 Use in instead of has_key.
9224 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9226 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9227 (GRUB_XFS_INO_AGBITS): Make into inline function.
9228 (GRUB_XFS_INO_INOINAG): Likewise.
9229 (GRUB_XFS_INO_AG): Likewise.
9230 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9231 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9232 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9233 (GRUB_XFS_EXTENT_SIZE): Likewise.
9234 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9235 (GRUB_XFS_NEXT_DIRENT): Likewise.
9236 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9237 (grub_xfs_read_file): Fix offset type.
9239 2011-10-15 Robert Millan <rmh@gnu.org>
9241 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9243 2011-10-15 Robert Millan <rmh@gnu.org>
9245 Fix build problem on FreeBSD and GNU/kFreeBSD.
9247 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9249 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9251 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9253 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9255 (grub_hfsplus_btree_recoffset): Likewise.
9256 (grub_hfsplus_btree_recptr): Likewise.
9257 (grub_hfsplus_find_block): Likewise.
9258 (grub_hfsplus_btree_search): Likewise.
9259 (grub_hfsplus_read_block): Likewise.
9260 (grub_hfsplus_read_file): Likewise.
9261 (grub_hfsplus_mount): Likewise.
9262 (grub_hfsplus_btree_iterate_node): Likewise.
9263 (grub_hfsplus_btree_search): Likewise.
9264 (grub_hfsplus_iterate_dir): Likewise.
9265 (grub_hfsplus_read): A small code simplification.
9267 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9269 * grub-core/kern/emu/hostdisk.c
9270 (convert_system_partition_to_system_disk): Don't assume that children
9271 of mapper nodes are mapper nodes.
9273 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9275 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9276 * include/grub/misc.h (grub_isxdigit): New function.
9277 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9278 switched to grub_isxdigit.
9279 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9280 number starting with a letter.
9282 2011-10-09 Robert Millan <rmh@gnu.org>
9284 LVM support for FreeBSD and GNU/kFreeBSD.
9286 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9288 (LVM_DEV_MAPPER_STRING): Move from here ...
9289 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9290 * util/getroot.c: Include `<grub/util/lvm.h>'.
9291 (grub_util_get_dev_abstraction): Enable
9292 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9293 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9294 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9295 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9297 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9299 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9300 when LVM abstraction is required for ${GRUB_DEVICE}.
9302 2011-10-06 Szymon Janc <szymon@janc.net.pl>
9304 Add support for LZO compression in GRUB:
9305 - import of minilzo library,
9306 - LZO decompression for btrfs,
9307 - lzop files decompression.
9309 * grub-core/io/lzopio.c: New file.
9310 * grub-core/lib/adler32.c: Likewise.
9311 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9312 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9313 * grub-core/lib/minilzo/minilzo.c: Likewise.
9314 * grub-core/lib/minilzo/minilzo.h: Likewise.
9315 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9316 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9317 grub-core/lib/minilzo/minilzo.c to common.
9318 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9320 * grub-core/Makefile.core.def (btrfs): Likewise.
9321 * grub-core/Makefile.core.def (lzopio): New module.
9322 (adler32): Likewise.
9323 * grub-core/fs/btrfs.c: Include minilzo.h.
9324 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9325 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9326 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9327 (grub_btrfs_lzo_decompress): New function.
9328 (grub_btrfs_extent_read): Add support for LZO compression type.
9329 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9330 (GRUB_USHRT_MAX): Likewise.
9331 (GRUB_UINT_MAX): Likewise.
9332 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9333 (UINT_MAX): Likewise.
9334 (CHAR_BIT): Likewise.
9335 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9336 grub-core/lib/posix_wrap/limits.h
9337 (UCHAR_MAX): Likewise.
9338 * include/grub/file.h (grub_file_filter_id): New compression filter
9339 GRUB_FILE_FILTER_LZOPIO.
9340 * include/grub/file.h (grub_file_filter_id): Set
9341 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9342 * include/grub/types.h (grub_get_unaligned16): New function.
9343 (grub_get_unaligned32): Likewise.
9344 (grub_get_unaligned64): Likewise.
9345 * util/import_gcry.py (cryptolist): Add adler32.
9347 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9349 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9350 in perspective decreases the complexity of build system and fixes
9351 compilation right now.
9353 2011-10-01 Ales Nesrsta <starous@volny.cz>
9355 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9356 (fixed problem related to using UHCI with coreboot).
9358 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9360 * gentpl.py: Use Autogen macros so that the output template file
9361 (Makefile.tpl) size is reduced.
9363 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
9365 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9368 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9370 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9371 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9373 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9375 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9378 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9380 Remove extra declaration of sleep for mingw32.
9382 * util/misc.c (sleep) [__MINGW32__]: Removed.
9383 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9385 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9387 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9389 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9391 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9392 (grub_netbsd_btinfo_bootwedge): New struct.
9393 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9395 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9397 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9399 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9402 2011-09-28 Andreas Born <futur.andy@googlemail.com>
9404 Fix incorrect identifiers in bash-completion.
9406 * util/bash-completion.d/grub-completion.bash.in
9407 (_grub_mkpasswd-pbkdf2): Rename to ...
9408 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9409 (_grub_script-check): Rename to ...
9410 (_grub_script_check): ... this. All users updated.
9412 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9414 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9415 Return 0 if disk isn't biosdisk.
9417 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9419 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9421 * Makefile.util.def (grub-fstest): Likewise.
9423 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9425 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9426 Get sector size from disk label.
9428 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
9430 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9431 */README* as well as README*.
9432 Reported by: Axel Beckert.
9434 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9436 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9437 case of less than 256 MiB of RAM.
9439 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9441 * grub-core/commands/wildcard.c (make_regex): Handle @.
9443 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9445 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9447 2011-08-21 Szymon Janc <szymon@janc.net.pl>
9449 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9450 AC_LANG_CONFTEST macros.
9452 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9454 Add grub-fstest option to uncompress data for commands.
9456 * util/grub-fstest.c (uncompress): New var.
9457 (options): New option -u.
9459 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9461 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9462 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9464 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9466 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9467 file type was not recognized correctly (not gzip or corrupted).
9469 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9471 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9472 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9474 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9476 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9478 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9479 video_radeon_fuloong2e.
9480 * grub-core/video/radeon_fuloong2e.c: New file.
9481 * include/grub/video.h (grub_video_id_t): Add new ID
9482 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9484 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9486 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9488 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9489 that PRID matches the detected subplatform and reset the subplatform
9492 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9494 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9496 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9498 Fix PCI iterating on functions >= 4.
9500 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9501 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9503 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9504 (grub_pci_read): Fix bitmask.
9505 (grub_pci_read_word): Likewise.
9506 (grub_pci_read_byte): Likewise.
9507 (grub_pci_write): Likewise.
9508 (grub_pci_write_word): Likewise.
9509 (grub_pci_write_byte): Likewise.
9511 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9513 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9514 can still be specified in TARGET_CFLAGS)
9516 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9518 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9520 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9521 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9522 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9523 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9524 (FULOONG): Rename to ...
9525 (FULOONG2F): ... this. All users updated.
9526 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9527 (machtype_fuloong2f_str): ... this.
9528 (machtype_fuloong2e_str): New string.
9529 Check for machtype_fuloong2e_str.
9530 * grub-core/loader/mips/linux.c (loongson_machtypes)
9531 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9532 * grub-core/term/serial.c (loongson_defserial)
9533 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9534 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9536 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9538 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9539 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9540 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9541 to IMAGE_FULOONG2F_FLASH. All users updated.
9542 (image_targets): Rename images.
9543 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9545 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9547 Make enable of disk cache statistics code configurable.
9549 * configure.ac: --enable-cache-stats added.
9550 * config.h.in (DISK_CACHE_STATS): New define.
9551 * grub-core/Makefile.core.def (cacheinfo): New command.
9552 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9553 * grub-core/commands/cacheinfo.c: New file.
9554 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9555 moved to cacheinfo.c.
9556 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9558 * include/grub/disk.h: Likewise.
9560 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9562 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9563 * grub-core/Makefile.am: Likewise.
9565 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9567 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9570 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9572 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9574 (grub_jfs_lookup_symlink): Use correct starting inode.
9576 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9578 * util/grub-setup.c (main): Add missing gcry initialisation.
9580 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9582 Don't accept text modes on EFI when booting Linux.
9584 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9585 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9587 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
9588 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9590 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9591 use of "/path/.." as in grub-install for EFI as well as handling
9593 Fixes Debian bug #637768.
9595 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9597 * util/grub-probe.c: Remove duplicate #include.
9599 2011-08-10 Robert Millan <rmh@gnu.org>
9601 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9603 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9605 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9606 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9608 2011-08-03 Robert Millan <rmh@gnu.org>
9610 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9612 Reported by: Zachary Bedell
9614 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9616 * configure.ac: The Loongson port requires grub-mkfont due to its
9617 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9620 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9622 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9623 processing arguments (otherwise help2man fails when GRUB has not yet
9626 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9628 New script grub-mkstandalone.
9630 * Makefile.util.def (grub-mkstandalone): New script.
9631 * docs/man/grub-mkstandalone.h2m: New file.
9632 * util/grub-mkstandalone.in: Likewise.
9634 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9636 Support ATA disks with 4K sectors.
9638 * include/grub/ata.h (grub_ata): New member log_sector_size.
9639 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9640 (grub_ata_identify): Read sector size.
9641 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9643 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9645 * util/grub-install.in: Don't use uhci outside of x86.
9647 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9649 * util/grub-mkrescue.in: Add missing quotes.
9651 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9653 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9656 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9658 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9660 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9662 * include/grub/video.h: add missing EXPORT_FUND on
9663 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9665 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9667 * include/grub/mips/kernel.h: Fix define conflict.
9669 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9671 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9674 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
9676 Preferred resolution detection for VBE.
9678 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9679 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9680 the Flat Panel extension, in line with the X.org VESA driver.
9681 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9683 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9684 (grub_vbe_bios_read_edid): Likewise.
9685 (grub_vbe_get_preferred_mode): Likewise.
9686 (grub_video_vbe_setup): When the mode is "auto", try to get the
9687 preferred mode from VBE, and use the largest mode that is no larger
9688 than the preferred mode (some BIOSes expose a preferred mode that is
9689 not in their mode list!). If this fails, fall back to 640x480 as a
9690 safe conservative choice.
9691 (grub_video_vbe_get_edid): New function.
9692 (grub_video_vbe_adapter): Add get_edid.
9693 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9694 (struct grub_video_adapter): Add get_edid.
9695 (grub_video_edid_checksum): Add prototype.
9696 (grub_video_edid_preferred_mode): Likewise.
9697 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9700 * grub-core/commands/videoinfo.c (print_edid): New function.
9701 (grub_cmd_videoinfo): Print EDID if available.
9703 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9704 is more appropriate on a wider range of platforms than 640x480.
9705 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9708 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9710 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9712 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9714 * po/POTFILES.in: Regenerate.
9716 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9718 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9719 incorrect memory usage.
9721 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9723 * util/grub-install.in: Source grub-mkconfig_lib.
9725 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9727 Remove getroot.c from core on emu platform.
9729 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9731 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9733 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9734 * util/getroot.c (get_win32_path): ... here.
9735 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9736 * util/getroot.c (fini_libzfs): ... here.
9737 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9738 * util/getroot.c (grub_get_libzfs_handle): ... here.
9739 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9741 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9742 * grub-core/kern/emu/misc.c
9743 (grub_make_system_path_relative_to_its_root): Moved from here...
9744 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9745 * grub-core/kern/emu/getroot.c: Moved from here ...
9746 * util/getroot.c: ... here. All users updated.
9747 * grub-core/kern/emu/raid.c: Moved from here ...
9748 * util/raid.c: ... here. All users updated.
9750 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9752 * po/POTFILES.in: Regenerate.
9754 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9756 Fix compilation on GNU/Linux.
9758 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9760 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9761 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9762 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9764 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9765 2011-07-07 Michael Gorven <michael@gorven.za.net>
9766 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9768 LUKS and GELI support.
9770 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9771 grub-core/disk/luks.c, grub-core/disk/geli.c,
9772 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9773 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9774 grub-core/lib/arg.c.
9775 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9776 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9777 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9778 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9779 (grub-bin2h): Add libgcry.a.
9780 (grub-mkimage): Likewise.
9781 (grub-mkrelpath): Likewise.
9782 (grub-script-check): Likewise.
9783 (grub-editenv): Likewise.
9784 (grub-mkpasswd-pbkdf2): Likewise.
9785 (grub-pe2elf): Likewise.
9786 (grub-fstest): Likewise.
9787 (grub-mkfont): Likewise.
9788 (grub-mkdevicemap): Likewise.
9789 (grub-probe): Likewise.
9790 (grub-ofpath): Likewise.
9791 (grub-mklayout): Likewise.
9792 (example_unit_test): Likewise.
9793 (grub-menulst2cfg): Likewise.
9794 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9795 * grub-core/Makefile.core.def (cryptodisk): New module.
9798 * grub-core/disk/AFSplitter.c: New file.
9799 * grub-core/disk/cryptodisk.c: Likewise.
9800 * grub-core/disk/geli.c: Likewise.
9801 * grub-core/disk/luks.c: Likewise.
9802 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9804 (grub_util_get_dm_abstraction): New function.
9805 (grub_util_follow_gpart_up): Likewise.
9806 (grub_util_get_geom_abstraction): Likewise.
9807 (grub_util_get_dev_abstraction): Use new functions.
9808 (grub_util_pull_device): Pull GELI and LUKS.
9809 (grub_util_get_grub_dev): Handle LUKS and GELI.
9810 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9811 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9812 (follow_geom_up): Removed.
9813 (grub_util_fd_seek): New function.
9814 (open_device): Use grub_util_fd_seek.
9815 (nread): Rename to ..
9816 (grub_util_fd_read): ... this. All users updated.
9817 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9818 (grub_crypto_cbc_decrypt): Likewise.
9819 (grub_crypto_hmac_write): Likewise.
9820 (grub_crypto_hmac_buffer): Likewise.
9821 (grub_password_get): Extend to util.
9822 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9824 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9825 * include/grub/cryptodisk.h: New file.
9826 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9827 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9829 (grub_util_follow_gpart_up): New proto.
9830 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9831 (grub_util_fd_read): Likewise.
9832 (grub_cryptodisk_cheat_mount): Likewise.
9833 (grub_util_cryptodisk_print_uuid): Likewise.
9834 (grub_util_get_fd_sectors): Likewise.
9835 * util/grub-fstest.c (mount_crypt): New var.
9836 (fstest): Mount crypto if requested.
9837 (options): New option -C.
9838 (argp_parser): Parse -C.
9839 (main): Init and fini gcry.
9840 * util/grub-install.in: Support cryptodisk install.
9841 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9842 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9844 (prepare_grub_to_access_device): Likewise.
9845 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9846 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9847 (probe_cryptodisk_uuid): New function.
9848 (probe_abstraction): Likewise.
9849 (probe): Use new functions.
9850 * util/import_gcry.py: Create Makefile.utilgcry.def.
9853 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9855 Lazy device scanning.
9857 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9858 (grub-setup): Remove util/raid.c.
9859 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9860 * grub-core/disk/lvm.c (scan_depth): New variable.
9861 (grub_lvm_iterate): Rescan if necessary.
9862 (find_lv): New function based on grub_lvm_open.
9863 (grub_lvm_open): Use find_lv. Rescan on error.
9864 (is_node_readable): New function.
9865 (is_lv_readable): Likewise.
9866 (grub_lvm_scan_device): Skip already found disks.
9867 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9868 Stop if searched device is found and readable.
9869 * grub-core/disk/raid.c (inscnt): New variable.
9870 (scan_depth): Likewise.
9871 (scan_devices): New function based on grub_raid_register. Abort if
9872 looked for device is found.
9873 (grub_raid_iterate): Rescan if needed.
9874 (find_array): NEw function based on -grub_raid_open.
9875 (grub_raid_open): Use find_array and rescan.
9876 (insert_array): Set became_readable_at.
9877 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9878 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9880 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9881 (grub_util_pull_device): New function.
9882 (grub_util_get_grub_dev): Call grub_util_pull_device.
9883 * util/raid.c: Moved to ..
9884 * grub-core/kern/emu/raid.c: ... here.
9885 (grub_util_raid_getmembers): New parameter "bootable".
9886 All users updated. Support 1.x.
9887 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9889 * include/grub/disk.h (grub_disk_pull_t): New enum.
9890 (grub_disk_dev): Change iterate prototype.
9892 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9894 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9895 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9896 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9897 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9899 * include/grub/util/raid.h: Removed.
9901 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9903 * po/POTFILES.in: Regenerate.
9905 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9907 Unify sparc init with other ieee1275.
9909 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9910 instead of kern/sparc64/ieee1275/init.c.
9911 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
9912 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
9913 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
9914 grub/machine/kernel.h.
9915 (grub_ieee1275_original_stack) [__sparc__]: New variable.
9916 (grub_claim_heap) [__sparc__]: Use sparc version.
9917 (grub_machine_init): Moved args parsing to
9918 (grub_parse_cmdline): ...this.
9919 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
9920 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
9922 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
9924 Move BOOTP to separate file.
9926 * grub-core/Makefile.core.def (net): Add net/bootp.c.
9927 * grub-core/net/net.c: Move all BOOTP functions to
9928 * grub-core/net/bootp.c: ... here.
9930 Use frame interface on PXE.
9932 * grub-core/Makefile.core.def (pxecmd): Removed.
9933 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
9934 * grub-core/commands/i386/pc/pxecmd.c: Removed.
9935 * grub-core/i386/pc/pxe.c: Moved from here ...
9936 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
9937 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
9938 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
9940 EFI network support.
9942 * grub-core/Makefile.core.def (efinet): New module.
9943 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
9945 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
9947 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
9948 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
9949 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
9950 * grub-core/net/drivers/efi/efinet.c: New file.
9951 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
9952 (grub_efi_net_config): New extern var.
9954 Various cleanups and bugfixes.
9956 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
9958 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
9959 disk declared as partition.
9960 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
9962 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
9963 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
9964 (grub_debug_zalloc): Likewise.
9965 (grub_debug_realloc): Likewise.
9966 (grub_debug_memalign): Likewise.
9967 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
9968 Check that target is IPv4.
9969 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
9970 local-mac-address as fallback.
9971 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
9973 * grub-core/net/ip.c (ipchksum): Rename to ...
9974 (grub_net_ip_chksum): ... this. All users updated.
9975 (grub_net_recv_ip_packets): Special handling for DHCP.
9976 * util/grub-mkimage.c (generate_image): Zero-out aout header.
9978 Unify prefix handling
9980 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
9981 (grub_machine_get_bootlocation): ... this.
9982 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
9983 (grub_machine_get_bootlocation): ... this.
9984 (grub_prefix): New variable.
9986 (root_dev): New variable.
9988 (main): Use new variables.
9989 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
9991 (grub_machine_get_bootlocation): ... this.
9992 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
9993 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
9994 (grub_machine_get_bootlocation): ... this.
9995 (grub_machine_set_prefix): Removed.
9996 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
9997 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
9999 (grub_machine_get_bootlocation): ... this.
10000 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10001 (grub_set_prefix_and_root): ... this. All users updated.
10002 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10004 (grub_machine_get_bootlocation): ... this.
10005 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10006 (grub_machine_get_bootlocation): New proto.
10007 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10009 Less intrusive and more reliable seek on network implementation.
10011 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10012 (grub_file_seek): Don't call grub_file_net_seek.
10013 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10014 (grub_net_fs_read_real): .. this.
10015 (grub_net_seek_real): Use net->offset.
10016 (grub_net_fs_read): Seek if necessary.
10018 Unify IEEE1275 netwotk config with the other platforms.
10020 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10022 (grub_machine_get_bootlocation): Support network.
10023 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10024 Support type and device parsing.
10025 (grub_ieee1275_get_device_type): New function.
10026 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10028 (grub_ieee1275_net_config_real): ... this.
10029 (grub_ofnet_probecards): Removed.
10030 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10031 * include/grub/ieee1275/ofnet.h: Removed.
10032 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10034 (grub_ieee1275_get_device_type): New function.
10036 Unify network device closing across platforms and make more robust.
10038 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10040 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10042 * grub-core/net/net.c (grub_net_network_level_interface_register):
10044 (grub_net_card_unregister): Close all interfaces.
10045 (receive_packets): Don't poll if no iterfaces are registered.
10047 (grub_net_fini_hw): New function.
10048 (grub_net_restore_hw): Likewise.
10049 (fini_hnd): New variable.
10050 (GRUB_MOD_INIT): Register preboot hook.
10051 (GRUB_MOD_FINI): Run and unregister preboot hook.
10053 Poll network cards when idle.
10055 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10056 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10057 * grub-core/net/net.c (receive_packets): Save last poll time.
10058 (grub_net_poll_cards_idle_real): New function.
10059 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10060 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10061 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10063 Rename ofnet interfaces.
10065 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10066 (grub_ofnet_findcards): Use ofnet_%s names.
10068 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10070 Cleanup socket opening.
10072 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10073 (grub_net_fs_close): Likewise.
10074 (grub_net_fs_read_real): Use eof member.
10075 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10076 (+grub_net_udp_close): New inline function.
10078 * include/grub/net/tftp.h: Moved to the top of ...
10079 * grub-core/net/tftp.c: ... here.
10080 * include/grub/net/ip.h: Moved mostly to the top of ...
10081 * grub-core/net/ip.c: ... here.
10082 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10083 * grub-core/net/ethernet.c: ... here.
10085 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10087 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10090 * include/grub/net/ip.h (ipv4_ini): Removed.
10091 (ipv4_fini): Likewise.
10093 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10094 (grub_net_send_ip_packets): Likewise.
10096 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10098 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10099 grub_read_cmos prototype.
10101 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10103 VGA text support in qemu-mips
10105 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10106 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10107 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10109 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10110 * grub-core/kern/vga_init.c: ... this.
10111 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10112 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10113 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10115 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10116 GRUB_MACHINE_PCI_IO_BASE.
10118 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10120 MIPS qemu flash support.
10122 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10124 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10125 (grub_machine_init): Probe memory if its size isn't known.
10126 * util/grub-mkimage.c (image_targets): Add flash targets.
10127 (generate_image): Handle flash targets.
10129 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10131 MIPS qemu at_keyboard support.
10133 * gentpl.py (videoinkernel): Add qemu-mips.
10134 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10135 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10136 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10138 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10139 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10140 * grub-core/term/serial.c (grub_serial_register)
10141 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10143 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10145 CMOS support on sparc.
10147 * gentpl.py (cmos): Add powerpc and sparc.
10148 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10150 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10151 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10152 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10153 grub_set_datetime_cmos.
10154 * grub-core/lib/ieee1275/cmos.c: New file.
10155 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10156 (find_rtc): Set no_ieee1275_rtc on error.
10157 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10158 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10159 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10160 fail. Move value to argument. All users updated
10161 (grub_cmos_write): Likewise.
10162 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10163 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10164 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10165 grub_get_datetime_cmos and grub_set_datetime_cmos.
10167 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10169 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10170 sourcing grub-mkconfig_lib.
10171 * util/update-grub_lib.in: Likewise.
10172 * util/grub.d/00_header.in: Likewise.
10173 * util/grub.d/10_hurd.in: Likewise.
10174 * util/grub.d/10_kfreebsd.in: Likewise.
10175 * util/grub.d/10_linux.in: Likewise.
10176 * util/grub.d/10_netbsd.in: Likewise.
10177 * util/grub.d/10_windows.in: Likewise.
10178 * util/grub.d/20_linux_xen.in: Likewise.
10179 * util/grub.d/30_os-prober.in: Likewise.
10181 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
10183 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10184 default_bg_color rather than black.
10185 (grub_gfxterm_fullscreen): Likewise.
10186 (grub_gfxterm_background_color_cmd): Save new background color in
10189 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10191 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10193 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10195 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10198 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10200 Chainloading on coreboot support.
10202 * grub-core/Makefile.core.def (chain): Add coreboot.
10203 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10205 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10207 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10210 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10212 Implement time command.
10214 * grub-core/Makefile.core.def (time): New module.
10215 * grub-core/commands/time.c: New file.
10216 * grub-core/script/parser.y: Remove "time" keyword.
10217 * grub-core/script/yylex.l: Likewise.
10219 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10221 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10223 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10225 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10226 when handling leftovers.
10228 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10230 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10231 so that help2man doesn't fail.
10233 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10235 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10236 type in pointers on sparc64.
10237 (get_card_packet): Likewise.
10239 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
10241 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10243 (grub_cmd_videoinfo): Fetch current video mode.
10245 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10247 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10248 because of underlying system restrictions.
10250 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10252 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10255 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10257 Coreboot video support.
10259 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10261 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10262 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10264 * grub-core/kern/i386/int.S: ... here.
10265 * grub-core/video/i386/pc/vbe.c: Updated includes.
10266 * grub-core/video/i386/pc/vga.c: Likewise.
10267 * include/grub/i386/coreboot/memory.h
10268 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10269 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10270 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10271 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10272 Disable interrupts.
10273 * include/grub/i386/pc/vga.h: Removed. All users updated.
10275 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10277 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10278 definitions for dprintf.
10279 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10281 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10283 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10285 (get_card_packet): Likewise.
10287 2011-06-26 Yves Blusseau <blusseau@zetam.org>
10289 Display the path of the file when file is not found
10291 * grub-core/fs/fat.c: Display the filename when file is not found.
10292 * grub-core/fs/fshelp.c: Likewise.
10293 * grub-core/fs/hfs.c: Likewise.
10294 * grub-core/fs/jfs.c: Likewise.
10295 * grub-core/fs/minix.c: Likewise.
10296 * grub-core/fs/ufs.c: Likewise.
10297 * grub-core/fs/btrfs.c: Likewise.
10298 * grub-core/commands/i386/pc/play.c: Likewise.
10300 2011-06-26 Szymon Janc <szymon@janc.net.pl>
10302 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10303 pointer checks before calling grub_free().
10304 * grub-core/commands/wildcard.c (match_devices): Likewise.
10305 * grub-core/commands/wildcard.c (match_files): Likewise.
10306 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10307 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10308 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10309 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10310 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10311 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10312 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10313 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10314 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10316 2011-06-25 Patrick <p55@mailinator.com>
10318 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10320 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10322 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10323 (grub_pxe_send): Likewise.
10324 (GRUB_MOD_INIT): Fix types.
10326 2011-06-24 Szymon Janc <szymon@janc.net.pl>
10328 * grub-core/io/xzio.c: Fix code style issues
10330 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10331 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
10333 Network infrastructure.
10334 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10336 * include/grub/net/arp.h: New file.
10337 * include/grub/net/device.h: Likewise.
10338 * include/grub/net/ethernet.h: Likewise.
10339 * include/grub/net/ip.h: Likewise.
10340 * include/grub/net/netbuff.h: Likewise.
10341 * include/grub/net/tftp.h: Likewise.
10342 * include/grub/net/udp.h: Likewise.
10343 * include/grub/ieee1275/ofnet.h: Likewise.
10344 * include/grub/emu/export.h: Likewise.
10345 * include/grub/net.h: Likewise.
10346 * grub-core/net/arp.c: Likewise.
10347 * grub-core/net/ethernet.c: Likewise.
10348 * grub-core/net/ip.c: Likewise.
10349 * grub-core/net/udp.c: Likewise.
10350 * grub-core/net/tftp.c: Likewise.
10351 * grub-core/net/netbuff.c: Likewise.
10352 * grub-core/net/net.c: Likewise.
10353 * grub-core/net/drivers/emu/emunet.c: Likewise.
10354 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10355 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10357 * grub-core/Makefile.core.def (net): New module.
10360 (emunet): Likewise.
10361 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10363 * grub-core/kern/device.c (grub_net_open) : New variable.
10364 (grub_device_open): Handle network device.
10365 (grub_device_close): Likewise.
10366 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10367 (grub_grubnet_fini): Likewise.
10368 (grub_file_seek): Seek in network device.
10369 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10370 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10372 (grub_machine_fini): Call grub_grubnet_fini.
10373 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10375 (grub_ieee1275_get_aliasdevname): New function.
10376 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10377 Add unofficial Solaris network info.
10378 (grub_multiboot_make_mbi): Likewise.
10379 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10380 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10381 * include/grub/device.h (grub_fs): Removed.
10382 * include/grub/err.h (grub_err_t): Add network-related values.
10383 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10384 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10385 (grub_ieee1275_get_aliasdevname): New proto.
10386 * include/grub/net.h: Rewritten.
10388 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10390 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10393 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10395 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10396 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10397 it truncates the output.
10398 Reported by: Ximin Luo.
10400 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10402 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10404 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10406 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10407 partmap before abstraction.
10409 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10411 * util/grub-mkconfig_lib.in: Add missing quotes.
10413 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10415 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10416 old method if mountinfo would return /dev/root and /dev/root doesn't
10419 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10423 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10424 (decomp_table): Add zlib entries.
10425 (zio_read): USe 8 bits for compression function rather than 3.
10426 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10428 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10430 * grub-core/disk/ahci.c: Add missing license statements.
10431 * grub-core/fs/romfs.c: Likewise.
10432 * grub-core/lib/ia64/setjmp.S: Likewise.
10433 * grub-core/loader/i386/pc/freedos.c: Likewise.
10434 * grub-core/loader/ia64/efi/linux.c: Likewise.
10435 * grub-core/video/colors.c: Likewise.
10436 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10438 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10442 * grub-core/Makefile.core.def (ata_pthru): Removed.
10443 (ahci): New module.
10445 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10447 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10449 (grub_hdparm_do_check_powermode_cmd): Likewise.
10450 (grub_hdparm_do_smart_cmd): Likewise.
10451 (grub_hdparm_set_val_cmd): Likewise.
10452 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10453 * grub-core/disk/ahci.c: New file.
10454 * grub-core/disk/ata.c: Factor out the low-level part into ...
10455 * grub-core/disk/pata.c: ... here.
10456 * grub-core/disk/ata_pthru.c: Contents moved to ...
10457 * grub-core/disk/pata.c: ... here.
10458 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10459 (grub_scsi_iterate): Use grub_scsi_names.
10460 (grub_scsi_open): Likewise.
10461 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10462 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10463 (grub_ata_regs_t): New struct.
10464 (grub_disk_ata_pass_through_parms): Likewise.
10465 (grub_ata_device): Renamed to ...
10466 (grub_ata): ... this.
10467 (grub_ata_dev): New struct.
10468 Removed all low-level inline functions.
10469 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10470 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10471 iterate hooks and open. All users updated.
10472 * util/grub-install.in: Handle AHCI disk module.
10474 2011-06-23 Szymon Janc <szymon@janc.net.pl>
10476 Add support for DRI and RSTn markers in JPEG files.
10478 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10479 (JPEG_MARKER_RST0): Likewise.
10480 (JPEG_MARKER_RST1): Likewise.
10481 (JPEG_MARKER_RST2): Likewise.
10482 (JPEG_MARKER_RST3): Likewise.
10483 (JPEG_MARKER_RST4): Likewise.
10484 (JPEG_MARKER_RST5): Likewise.
10485 (JPEG_MARKER_RST6): Likewise.
10486 (JPEG_MARKER_RST7): Likewise.
10487 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10488 (grub_jpeg_decode_dri): New function.
10489 (grub_jpeg_decode_sos): Move image data related part into
10490 grub_jpeg_decode_data function.
10491 (grub_jpeg_decode_data): New function.
10492 (grub_jpeg_reset): New function.
10493 (grub_jpeg_decode_jpeg): Handle new markers.
10495 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10497 * util/ieee1275/ofpath.c (check_sas): Close fd.
10498 (main): Free of_path.
10499 Reported by: David Volgyes <dvolgyes>.
10501 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10503 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10504 Reported by: David Volgyes <dvolgyes>.
10506 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10508 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10510 Reported by: David Volgyes <dvolgyes>.
10512 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10514 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10516 Reported by: David Volgyes <dvolgyes>.
10518 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10520 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10521 Prevent memory leak.
10523 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10525 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10526 (main): Close file.
10527 Reported by: David Volgyes <dvolgyes>.
10529 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10531 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10532 to continue if allocation is failed.
10534 Reported by: David Volgyes <dvolgyes>.
10536 2011-06-23 David Volgyes <dvolgyes>
10538 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10541 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10543 Fix spurious warning.
10545 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10546 (acorn_partition_map_find): Use .bin member.
10548 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10550 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10551 /dev/root as a valid device.
10553 2011-06-23 Jim Meyering <meyering@redhat.com>
10555 Avoid NULL deref in grub_device_open.
10557 * grub-core/kern/device.c (grub_device_open): Don't dereference
10558 a NULL pointer upon failed grub_env_get.
10560 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10562 Support non-512B sectors and agglomerate reads.
10564 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10565 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10566 (disk_io_guid): Removed.
10567 (make_devices): Locate solely by BlockIO.
10568 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10569 (grub_efidisk_read): Use read_blocks.
10570 (grub_efidisk_write): Use write_blocks.
10571 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10573 (get_safe_sectors): Handle non-512B sectors.
10574 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10576 (grub_biosdisk_write): Handle non-512B sectors.
10577 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10578 (grub_scsi_read): Remove special non-512B block handling (now handled
10580 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10581 and do sanity checks.
10582 (grub_disk_adjust_range): Handle non-512B sectors.
10583 (transform_sector): New function.
10584 (grub_disk_read_small): Likewise.
10585 (grub_disk_read): Rewritten.
10586 (grub_disk_write): Handle non-512B sectors.
10587 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10589 (open_device): Use log_sector_size.
10590 (grub_util_biosdisk_read): Likewise.
10591 (grub_util_biosdisk_write): Likewise.
10592 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10594 (pc_partition_map_embed): Likewise.
10595 * include/grub/disk.h (grub_disk): New field log_sector_size.
10596 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10597 (GRUB_DISK_CACHE_BITS): Increased to 6.
10598 * util/grub-fstest.c (fstest): New command testload.
10599 (argp_parser): Likewise.
10601 2011-06-16 Robert Millan <rmh@gnu.org>
10603 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10604 `ata' driver on kernel of FreeBSD 9.
10606 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10607 (get_ataraid_disk_name): New functions.
10608 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10609 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10610 get_ataraid_disk_name() and get_ada_disk_name().
10612 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
10614 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10617 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
10619 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10620 `ftp.gnu.org' for `alpha.gnu.org'.
10622 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10624 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10625 partitions under /dev/disk/by-id/.
10627 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10629 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10630 after ten consecutive open failures. Scanning all the way up to
10631 10000 is excessive and can cause serious performance problems in
10632 some configurations.
10633 Fixes Ubuntu bug #787461.
10635 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10637 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10640 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
10641 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10643 Don't stat devices unless we have to.
10645 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10646 dir == /dev/mapper.
10647 (grub_guess_root_device): Use already known os_dev if possible.
10648 * grub-core/kern/emu/hostdisk.c
10649 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10650 if device is known to be a dm one.
10652 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
10654 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10655 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10656 Reported by: Pawel Tecza.
10658 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10660 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10661 (lsefisystab): Likewise.
10663 (lsefimmap): Likewise.
10664 (hdparm): Enable on qemu-mips.
10665 (setjmp): Add ia64 nodist.
10666 (serial): Simplify tags.
10668 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10670 * Makefile.util.def (grub-ofpathname): Install manual page.
10672 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10674 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10676 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10678 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10680 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10682 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10685 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10687 Use full 64-bit division.
10689 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10690 (grub_divmod64): ... this.
10691 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10694 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10696 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10699 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10701 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10702 to avoid accidents when debugging with 'sh -x'.
10703 * grub-core/gensyminfo.sh.in: Likewise.
10704 * tests/example_scripted_test.in: Likewise.
10705 * tests/grub_cmd_regexp.in: Likewise.
10706 * tests/grub_script_blanklines.in: Likewise.
10707 * tests/grub_script_dollar.in: Likewise.
10708 * tests/grub_script_expansion.in: Likewise.
10709 * tests/grub_script_final_semicolon.in: Likewise.
10710 * tests/partmap_test.in: Likewise.
10711 * tests/util/grub-shell-tester.in: Likewise.
10712 * tests/util/grub-shell.in: Likewise.
10714 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10716 Move gfxmenu color handling to video, so that gfxterm can use it
10719 * grub-core/gfxmenu/named_colors.c: Move to ...
10720 * grub-core/video/colors.c: ... here. Rename
10721 grub_gui_get_named_color to grub_video_get_named_color.
10722 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10723 * grub-core/video/colors.c (my_isxdigit): ... here.
10724 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10726 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10727 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10729 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10731 * include/grub/gui.h (grub_gui_color_t): Move to ...
10732 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10733 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10734 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10735 * include/grub/gui.h (grub_gui_map_color): Move to ...
10736 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10737 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10739 * include/grub/video.h (grub_video_get_named_color): ... here.
10740 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10741 * include/grub/video.h (grub_video_parse_color): ... here.
10743 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10745 (gfxmenu): Remove gfxmenu/named_colors.c.
10746 (video) [videomodules]: Add video/colors.c.
10748 Add a background_color command.
10750 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10752 (GRUB_MOD_INIT): Register background_color command.
10753 (GRUB_MOD_FINI): Unregister background_color command.
10754 (redraw_screen_rect): Allow blend/replace of text layer to be
10755 controlled independently from whether there is a background bitmap.
10756 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10759 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10761 Patch BPB in ntldr and chainloader --bpb.
10763 * grub-core/fs/fat.c: Include grub/fat.h.
10764 (grub_fat_bpb): Moved to ...
10765 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10766 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10768 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10770 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10772 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10774 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10775 (GRUB_MOD_INIT): Show --bpb.
10776 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10777 * grub-core/normal/main.c (features): New variable.
10778 (GRUB_MOD_INIT): Set feature_* variables.
10779 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10781 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10783 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10785 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10788 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10790 FreeDOS direct loading support.
10792 * docs/grub.texi (Supported OS): Add FreeDOS.
10793 * grub-core/Makefile.core.def (freedos): New module.
10794 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10796 (grub_relocator16_boot): Handle %ebx.
10797 * grub-core/lib/i386/relocator16.S: Likewise.
10798 * grub-core/loader/i386/pc/freedos.c: New file.
10800 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10802 Long Linux command line support.
10804 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10805 (maximal_cmdline_size): New variable.
10806 (allocate_pages): Use maximal_cmdline_size.
10807 (grub_cmd_linux): Set and use maximal_cmdline_size.
10808 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10809 (allocate_pages): Use maximal_cmdline_size.
10810 (grub_cmd_linux): Set and use maximal_cmdline_size.
10811 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10812 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10815 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10816 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10818 Improve devmapper support
10820 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10821 (grub_util_is_lvm): New function.
10822 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10823 than lvm if not dmraid.
10824 Handle mapped md nodes.
10825 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10826 (grub_util_device_is_mapped): ... this. Make always available. All users
10828 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10829 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10831 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10833 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10835 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10837 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10838 * grub-core/modinfo.sh.in: New file.
10839 * grub-core/Makefile.core.def (modinfo.sh): New script.
10840 * util/grub-mknetdir.in: Use modinfo.sh.
10841 * util/grub-mkrescue.in: Likewise.
10843 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10845 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10846 Fix potential usage of Elf32 instead of Elf64 when compiling on
10847 32-bit architecture. Add endianness macros while on it.
10849 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10851 Use mipsel- rather than mips- in directories involving mipsel ports to
10852 allow both endiannesses coexist.
10854 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10855 mips. All conditions adjusted.
10856 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10858 * util/grub-install.in: Adjust conditions to take renaming into account.
10859 * util/grub-mkimage.c (image_targets): Likewise. New target
10860 mips-qemu_mips-elf for bigendian mips.
10862 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10864 Avoid unnecessary copying on MIPS.
10866 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10867 early if src == dest.
10868 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10869 compression is none.
10871 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10873 Reduce memory footprint on SGI by putting modules before the kernel
10874 as opposed to after.
10876 * grub-core/Makefile.core.def (kernel): Increase linking address.
10877 (none_decompress): Likewise.
10878 (xz_decompress): Likewise.
10879 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10881 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10883 (grub_arch_modules_addr): New function.
10884 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10885 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10886 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10888 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10889 (grub_total_modules_size): ... this. Make global.
10890 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10891 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10893 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10894 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10895 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10896 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10897 * util/grub-mkimage.c (image_target_desc): New flag
10898 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10899 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10900 (generate_image): Handle images with modules before kernel.
10902 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10904 Prevent potential loss of memory map by overwrite on qemu-mips.
10906 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10907 Save ram size in $s4.
10908 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10909 All users changed to grub_arch_memsize.
10910 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
10912 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
10913 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
10914 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
10917 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10919 * .bzrignore: Remove grub-dumpbios.
10921 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10923 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
10924 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
10925 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
10926 existing options which append).
10927 * docs/grub.texi (Simple configuration): Document new options.
10928 Reported by: Ian Jackson. Fixes Debian bug #617538.
10930 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10932 * util/grub-fstest.c (cmd_cat): New function.
10933 (fstest): Handle CMD_CAT.
10934 (options): Add cat.
10935 (argp_parser): Handle cat.
10937 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10939 * Makefile.util.def (grub-bin2h): Don't install.
10940 * docs/man/grub-bin2h.h2m: Remove.
10942 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10944 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
10947 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10949 Reenable qemu-mips port.
10951 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
10952 Fix small arc bug while on it.
10953 * gentpl.py: Handle qemu_mips.
10954 * grub-core/Makefile.am: Likewise.
10955 * grub-core/Makefile.core.def: Likewise.
10956 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
10957 inappropriate includes.
10958 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
10959 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
10960 * grub-core/kern/main.c (grub_modules_get_end)
10961 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
10962 * grub-core/kern/mips/qemu-mips: Moved to ..
10963 * grub-core/kern/mips/qemu_mips: ... this.
10964 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
10965 (grub_machine_init): Call terminfo_init and serial_init.
10966 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
10967 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10969 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
10971 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
10972 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
10973 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
10974 * include/grub/mips/qemu_mips/cmos.h: New file.
10975 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
10976 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
10978 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
10979 Use correct mips-style address.
10980 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
10981 (GRUB_TICKS_PER_SECOND): Removed.
10982 (grub_get_rtc): Likewise.
10983 (grub_cpu_idle): Likewise.
10984 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
10986 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
10987 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
10988 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
10989 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
10990 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10991 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10992 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
10993 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
10995 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10999 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11000 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11002 * configure.ac: New target mips-arc.
11003 * gentpl.py: Likewise.
11004 * grub-core/Makefile.am: Likewise.
11005 * grub-core/Makefile.core.def: Likewise.
11006 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11007 (none_decompress): Likewise.
11008 (lsdev): New module.
11009 (datetime): Use lib/arc/datetime.c on ARC.
11010 (part_dvh): New module.
11011 * grub-core/commands/arc/lsdev.c: New file.
11012 * grub-core/disk/arc/arcdisk.c: Likewise.
11013 * grub-core/kern/mips/arc/init.c: Likewise.
11014 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11016 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11018 (grub_arch_dl_relocate_symbols): Likewise.
11019 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11020 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11021 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11023 * grub-core/lib/arc/datetime.c: New file.
11024 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11025 pci.h on non-loongson.
11026 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11027 (grub_linux_boot): Set unused registers to 0.
11028 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11029 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11030 * grub-core/mmap/mips/uppermem.c: ...here.
11031 * grub-core/partmap/dvh.c: New file.
11032 * grub-core/term/arc/console.c: Likewise.
11033 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11034 (grub_terminfo_set_current): Add terminal "arc".
11035 (grub_terminfo_readkey): Support ARC sequences.
11036 * include/grub/arc/arc.h: New file.
11037 * include/grub/arc/console.h: Likewise.
11038 * include/grub/disk.h (grub_disk_dev_id): Add
11039 GRUB_DISK_DEVICE_ARCDISK_ID.
11040 * include/grub/mips/arc/kernel.h: New file.
11041 * include/grub/mips/arc/memory.h: Likewise.
11042 * include/grub/mips/arc/time.h: Likewise.
11043 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11044 * include/grub/mips/kernel.h (grub_halt): ... here.
11045 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11047 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11048 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11049 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11050 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11052 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11054 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11055 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11056 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11057 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11058 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11059 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11060 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11061 (grub_phys_addr_t): Moved from here ...
11062 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11063 (grub_vtop): Moved from here ...
11064 * include/grub/mips/memory.h (grub_vtop): ... here.
11065 (grub_map_memory): Moved from here ...
11066 * include/grub/mips/memory.h (grub_map_memory): ... here.
11067 (grub_unmap_memory): Moved from here ...
11068 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11069 (grub_machine_mmap_iterate): Moved from here ...
11070 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11071 (grub_mmap_get_lower): Moved from here ...
11072 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11073 (grub_mmap_get_upper): Moved from here ...
11074 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11075 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11077 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11078 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11080 * include/grub/mips/time.h (grub_get_rtc): ... here.
11081 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11083 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11084 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11086 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11087 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11089 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11090 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11091 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11092 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11093 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11094 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11095 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11096 (GRUB_MACHINE_LINK_ADDR): Likewise.
11097 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11099 * util/grub-install.in: Run dvhtool on ARC.
11100 * util/grub-mkimage.c (image_targets): Add mips-arc.
11101 (generate_image): Handle ECOFF output for mips-arc.
11103 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11105 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11108 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11110 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11111 after enabling port.
11113 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11115 Skip incorrect USB devices.
11117 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11119 * include/grub/usb.h (grub_usb_err_t): New enum value
11120 GRUB_USB_ERR_BADDEVICE.
11122 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11124 Fuloong video init support.
11126 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11128 (grub_vga_read_arx): New function.
11129 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11131 (framebuffer): New members io, mmioptr and mmiobase.
11132 (read_sis_cmd): New function.
11133 (write_sis_cmd): Likewise.
11134 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11135 rather than 640x400.
11136 * grub-core/video/sis315_init.c: New file.
11138 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11140 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11142 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11143 to grub_dl_register_symbol.
11145 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11147 Fix compilation errors.
11149 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11150 potentially unused.
11151 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11152 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11153 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11154 to loongson machines.
11156 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11158 Several FS mtime support.
11160 * grub-core/fs/affs.c (grub_affs_time): New struct.
11161 (grub_affs_file): New field mtime.
11162 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11163 type. Removed 'size'. New field 'di'. All users updated.
11164 (grub_affs_mount): Simplify checsum checking.
11165 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11166 (grub_affs_dir): Handle mtime.
11167 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11168 (grub_cpio_dir): Likewise.
11169 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11170 (grub_hfs_filerec): New field mtime.
11171 (grub_hfs_dir): Handle mtime.
11172 (grub_hfs_mtime): New function.
11173 (grub_hfs_fs): Register grub_hfs_mtime.
11174 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11175 (grub_iso9660_dir): New field mtime.
11176 (grub_fshelp_node): New field dirent.
11177 (iso9660_to_unixtime): New function.
11178 (iso9660_to_unixtime2): Likewise.
11179 (grub_iso9660_read_symlink): Use node->dirent.
11180 (grub_iso9660_iterate_dir): Likewise.
11181 (grub_iso9660_dir): Set mtime.
11182 (grub_iso9660_mtime): New function.
11183 (grub_iso9660_fs): Register grub_iso9660_mtime.
11184 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11185 (grub_jfs_inode): New fields atime, ctime and mtime.
11186 (grub_jfs_dir): Set mtime.
11187 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11188 * grub-core/fs/ntfs.c (list_file): Set mtime.
11189 (grub_ntfs_dir): Likewise.
11190 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11191 (grub_reiserfs_iterate_dir): Set mtime.
11192 (grub_reiserfs_dir): Likewise.
11193 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11194 (grub_fshelp_node): Likewise.
11195 (grub_sfs_iterate_dir): Set mtime.
11196 (grub_sfs_dir): Likewise.
11197 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11198 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11199 (grub_xfs_inode): New fields atime, mtime, ctime.
11200 (grub_xfs_dir): Set mtime.
11201 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11202 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11203 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11205 Support UDF symlinks.
11207 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11208 (grub_ufs_read_symlink): New function. All users updated.
11210 Check amiga partmap checksum.
11212 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11213 (grub_amiga_partition): Likewise.
11214 (amiga_partition_map_checksum): New function.
11215 (amiga_partition_map_iterate): Check checksum.
11217 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11221 * Makefile.util.def (libgrubmods.a): Add romfs.
11222 * grub-core/Makefile.core.def (romfs): New module.
11223 * grub-core/fs/romfs.c: New file.
11225 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11227 Squashfs v4 support.
11229 * Makefile.util.def (libgrubmods.a): Add squash4.
11230 * grub-core/Makefile.core.def (squash4): New module.
11231 * grub-core/fs/squash4.c: New file.
11232 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11233 disk_input_start, disk_input.
11234 (get_byte): Handle disk_input.
11235 (grub_zlib_disk_read): New function.
11236 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11238 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11239 2011-05-15 Feiran Zheng <famcool@gmail.com>
11241 * Makefile.util.def (libgrubmods.a): Add minix3.
11242 * grub-core/Makefile.core.def (minix3): New module.
11243 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11244 (GRUB_MINIX_BSIZE): Removed.
11245 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11246 (grub_minix_ino_t): New type.
11247 (grub_minix_le_to_cpu_ino): New macro.
11248 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11249 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11250 (grub_minix_data): New field block_size.
11251 (grub_minix_read_file): Handle 64-bit correctly.
11252 * grub-core/fs/minix3.c: New file.
11254 2011-05-15 Tristan Gingold <gingold@free.fr>
11255 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
11256 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11260 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11261 * configure.ac: Add ia64-efi target.
11262 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11263 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11264 * gentpl.py: Add ia64_efi platform.
11265 Rename x86_efi to efi and Add ia64-efi. All users updated.
11266 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11267 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11268 Remove kern/generic/rtc_get_time_ms.c on EFI.
11269 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11270 kern/ia64/dl_helper.c on ia64-efi.
11271 Add kern/emu/cache.c on emu.
11272 (linux): Use on loader/ia64/efi/linux.c on ia64.
11273 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11274 whether symbol is a function.
11275 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11276 (grub_symbol): New field 'isfunc'.
11277 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11278 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11279 (grub_dl_load_segments): Place all sections into the same region.
11280 [__ia64__]: Create trampolines and got.
11281 [GRUB_MACHINE_EMU]: Call mprotect.
11282 (grub_dl_resolve_symbols): Resolve symbol type as well.
11283 [__ia64__]: Create function descriptors.
11284 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11285 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11286 (grub_get_rtc): New function.
11287 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11288 * grub-core/kern/emu/cache.S: Renamed to ...
11289 * grub-core/kern/emu/cache_s.S: ... this.
11290 [__ia64__]: Add a nop.
11291 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11292 [__ia64__]: New function.
11293 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11294 * grub-core/kern/ia64/dl.c: New file.
11295 * grub-core/kern/ia64/dl_helper.c: Likewise.
11296 * grub-core/kern/ia64/efi/init.c: New file.
11297 * grub-core/kern/ia64/efi/startup.S: Likewise.
11298 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11299 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11300 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11301 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11302 * grub-core/loader/ia64/efi/linux.c: New file.
11303 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11304 (GRUB_MOD_DEP): Likewise.
11305 (grub_dl) [__ia64__]: New fields got and tramp.
11306 (grub_dl): New field 'base'.
11307 (grub_dl_register_symbol): New argument isfunc. All users updated.
11308 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11309 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11310 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11311 (grub_ia64_dl_get_tramp_got_size): New proto.
11312 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11313 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11314 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11315 * include/grub/efi/api.h: Skip call wrappers on ia64.
11316 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11317 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11318 * include/grub/elf.h (ELF_ST_INFO): New definition.
11319 * include/grub/ia64/efi/kernel.h: New file.
11320 * include/grub/ia64/efi/memory.h: Likewise.
11321 * include/grub/ia64/efi/time.h: Likewise.
11322 * include/grub/ia64/kernel.h: Likewise.
11323 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11324 * include/grub/ia64/time.h: New file.
11325 * include/grub/ia64/types.h: Likewise.
11326 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11327 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11329 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11330 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11331 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11332 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11334 (EFI64_HEADER_SIZE): New definition. All users updated.
11335 (image_targets): Add ia64-efi.
11336 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11337 jumpers_addr. All users updated.
11338 Create function descriptors.
11339 (count_funcs): New function.
11340 (unaligned_uint32): New struct.
11341 (MASK20): New definition.
11342 (MASK19): Likewise.
11343 (MASKF21): Likewise.
11344 (add_value_to_slot_20b): New function.
11345 (add_value_to_slot_21_real): Likewise.
11346 (add_value_to_slot_21): Likewise.
11347 (ia64_kernel_trampoline): New struct.
11348 (nopm): New variable.
11350 (make_trampoline): New function.
11351 (relocate_addresses): Handle ia64.
11352 (make_reloc_section): Likewise.
11353 (load_image): Likewise.
11355 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11357 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11358 warning. Move variables before code while on it.
11360 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11364 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11365 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11366 * grub-core/boot/mips/loongson/fuloong.S: New file.
11367 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11368 Explicitly init CS5536.
11369 [FULOONG]: Don't use serial until CS5536 is available.
11370 Set GPIO based on dumps.
11371 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11372 [FULOONG]: Handle GPIO and memory controller differences.
11373 Parse machine type in $a2.
11374 * grub-core/boot/mips/startup_raw.S: Determine and save the
11376 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11377 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11378 init on architecture type.
11379 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11380 SIS315E. Don't init at_keyboard on fuloong.
11381 (grub_halt): Support Fuloong.
11382 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11383 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11384 (loongson_machtypes): New array.
11385 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11387 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11388 config. All users updated. Handle CS5536 serial.
11389 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11390 default port on machine type. Register serial as inactive.
11391 * grub-core/video/sis315pro.c: New file.
11392 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11394 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11395 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11396 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11397 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11398 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11399 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11401 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11402 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11404 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11405 (grub_arch_machine): New extern var.
11406 * include/grub/mips/loongson/serial.h
11407 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11408 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11409 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11410 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11411 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11412 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11413 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11414 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11415 * include/grub/term.h (grub_term_register_input_inactive): New inline
11417 (grub_term_register_output_inactive): Likewise.
11418 * include/grub/video.h (grub_video_driver_id): New value
11419 GRUB_VIDEO_DRIVER_SIS315PRO.
11420 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11421 New field "names". All users updated.
11422 New field value IMAGE_FULOONG_FLASH.
11423 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11425 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11427 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11428 and add some clarification.
11430 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11432 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11433 platforms if kernel is compressed.
11435 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11437 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11438 unused modules since currently referrence counter isn't reliable and
11439 there isn't much memory to recover there anyway.
11441 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11443 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11444 rather than resetting it to allow modules to reference themselves
11447 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11449 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11450 counter on dependencies since grub_dl_unref already handles this.
11452 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11454 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11455 on error if not already done.
11457 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11459 Fix few potential memory misusage.
11461 * grub-core/font/font.c (load_font_index): Don't free char_index to
11463 (grub_font_load): Zero-fill font at alloc for safety.
11464 Close file on error.
11465 (free_font): Free bmp_idx.
11467 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11469 * docs/grub.texi (Installation): Fix several outdated claims.
11471 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11473 Handle module_license on windows.
11475 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11477 (insert_string): Make argument const char * instead of char *.
11478 (write_section_data): Handle long section names.
11479 Handle module_license.
11481 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11483 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11484 handle class-free menuentries.
11485 (grub_normal_add_menu_entry): Add a check to be sure.
11487 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11489 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11492 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11494 * configure.ac: Bump version to 1.99.
11496 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11498 Give ATA device a bit more time on first try in order to allow disks
11501 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11502 if dev->present is 1. Reset dev->present on failure.
11503 (grub_ata_device_initialize): Set dev->present to 1.
11504 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11505 (grub_ata_device): New member 'present'.
11507 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11509 * util/grub-mkimage.c (generate_image): Update hash.
11511 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11513 Flush caches on DMA memory.
11515 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11516 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11517 (grub_dma_free): Likewise.
11518 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11520 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11522 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11523 to avoid asm treating ld and sd as macros.
11525 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11527 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11530 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11532 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11533 grub_decompress_core since later would fail if grub_decompress_core
11536 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11538 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11539 R_MIPS_JALR since it's used by newer compiler.
11541 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11543 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11545 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11547 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11548 file_path to 0 for surety.
11549 (grub_chainloader_boot): Set exit_data to NULL.
11550 Unset the loader once done.
11551 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11553 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11555 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11556 unknown key into a dprintf.
11558 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11560 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11561 on first non-existant partition.
11563 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11565 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11567 Reported by: Mark Korenberg.
11569 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11571 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11574 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11576 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11577 before closing to ensure that it will be readable by grub-setup.
11579 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11581 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11582 (devpath_1): Use MAKE_PIWG_PATH.
11583 (devpath_2): Likewise.
11584 (devpath_3): Likewise.
11585 (devpath_4): Likewise.
11586 (devpath_5): Likewise.
11587 (devpath_6): Likewise.
11589 The appleldr.mod was checked that to be binary identical to previous
11592 2011-05-05 Zach <mikezackles>
11594 Support 2010 Macbooks.
11596 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11597 (devs): Add devpath_6.
11599 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11601 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11602 /dev/random. /dev/urandom is good enough for our purposes (salting).
11604 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11606 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11608 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11610 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11613 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11615 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11616 and not 0 on failure.
11618 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11620 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11621 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11622 disk; otherwise grub_fs_probe will not fall back to the next
11624 (grub_pxefs_open): Likewise, for consistency.
11625 Reported and tested by: Ezekiel Grave.
11627 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11629 * tests/partmap_test.in: Don't hardcode path to parted.
11630 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11632 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
11634 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11635 of `ls' to find out which devices are available.
11637 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11639 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11640 than source address for efi mmap buffer.
11642 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11644 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11645 wrong action on non-detecting the magic.
11647 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11649 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11650 already supplied by another part of the module (fixes compilation on
11653 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11655 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11656 match the one used by mdadm.
11658 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11660 * po/README: Add instructions for creating po/LINGUAS.
11662 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11664 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11667 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11668 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11669 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11670 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11671 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11672 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11673 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11674 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11675 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11676 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11677 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11678 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11679 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11680 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11681 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11682 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11683 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11684 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11685 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11686 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11687 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11688 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11690 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11692 * grub-core/kern/emu/getroot.c
11693 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11694 test that was incorrectly reintroduced in r3214.
11695 Reported by: Ian Dall. Fixes Savannah bug #33133.
11697 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11699 Fix stack pointer handling in 16-bit relocator.
11701 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11702 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11703 Fixes Ubuntu bug #683904.
11705 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11707 * configure.ac: Bump version to 1.99~rc2.
11709 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11711 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11712 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11713 * grub-core/lib/x86_64/setjmp.S: Likewise.
11714 * grub-core/lib/mips/setjmp.S: Likewise.
11715 * grub-core/lib/powerpc/setjmp.S: Likewise.
11716 * grub-core/lib/sparc64/setjmp.S: Likewise.
11718 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11720 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11721 * grub-core/lib/efi/datetime.c: Likewise.
11723 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11725 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11727 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11728 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11729 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11731 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11733 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11735 (grub_gfxterm_term_init): Likewise.
11737 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11739 Take into account the decorations the computing menu entry width.
11741 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11742 (grub_gfxmenu_create_box): Register get_border_width.
11743 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11745 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11748 2011-04-18 Endres Puschner <code@e7p.de>
11750 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11751 Don't skip first class.
11753 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11755 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11757 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11759 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11761 Complete 64-bit division support.
11763 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11764 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11765 * include/grub/misc.h (grub_divmod64): Rename to ...
11766 (grub_divmod64_full): ... this.
11767 (grub_divmod64): New inline function.
11769 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11771 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11773 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11775 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11776 performing the necessary test.
11778 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11780 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11781 (kfreebsd.elf): Likewise.
11782 (pc-chainloader.elf): Likewise.
11783 (ntldr.elf): Likewise.
11785 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11787 Identify RAID by its UUID rather than (guessed) name.
11789 * grub-core/disk/raid.c (ascii2hex): New function.
11790 (grub_raid_open): Accept mduuid/%s specification.
11791 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11792 (get_mdadm_uuid): ... this.
11793 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11795 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11797 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11800 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11802 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11804 * util/grub.d/20_linux_xen.in: Likewise.
11806 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11808 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11809 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11811 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11812 Build a list of relevant visible mounts using the mnt_id and
11813 parent_mnt_id fields, and then scan that list at the end.
11815 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11817 * docs/grub.texi (normal): New section.
11818 (normal_exit): New section.
11819 (Embedded configuration): Add reference to normal.
11820 (GRUB only offers a rescue shell): Likewise.
11821 * docs/grub-dev.texi (Error Handling): Fix typo.
11823 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11825 * NEWS: Drop obsolete entry about probe-only btrfs support.
11827 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11829 * util/import_gcry.py: Fix typo.
11831 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11833 * NEWS: Add btrfs support.
11835 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11836 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11838 BtrFS support. Written by me (Vladimir) with important bugfixes and
11839 even more important testing by Colin.
11841 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11842 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11843 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11844 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11845 mem_input_off and mem_input. All users updated to accept in-RAM input.
11846 (gzio_seek): New function.
11847 (test_zlib_header): Likewise.
11848 (grub_gzio_read): Likewise.
11849 (grub_zlib_decompress): Likewise.
11850 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11851 Accept partial and non-virtual mounts.
11852 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11853 avoid receiving /dev/dm-X as device.
11854 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11855 Handle bind and partial mounts.
11856 * grub-core/lib/crc.c: New file.
11857 * include/grub/deflate.h: Likewise.
11858 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11860 * include/grub/lib/crc.h: New file.
11862 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11864 Implement automatic module license checking according to new GNU
11867 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11868 (grub_dl_load_core): Use grub_dl_check_license.
11869 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11870 (GRUB_MOD_LICENSE): Likewise.
11871 (GRUB_MOD_DUAL_LICENSE): Likewise.
11872 All modules updated.
11874 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11876 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11877 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11879 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11881 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11883 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11885 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11887 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11890 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11892 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11893 parenthesis in the middle of the filename.
11895 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11897 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11898 rather than trying to put initrd way too high.
11899 Reported by: Ryan Lortie <desrt@desrt.ca>
11901 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11903 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11904 improperly removed string.
11906 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11908 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11910 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
11911 (open_device) Likewise.
11912 (grub_util_biosdisk_close): Likewise.
11913 Reported by: Mark Korenberg.
11915 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
11917 * util/grub-mkconfig_lib.in: Add missing quotes.
11919 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
11921 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
11924 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11926 Dynamically count the number of lines for the lower banner.
11928 * grub-core/normal/menu_entry.c (per_term_screen): New member
11930 (print_down): Use num_entries.
11931 (update_screen): Likewise.
11932 (grub_menu_entry_run): Set num_entries.
11933 * grub-core/normal/menu_text.c (menu_viewer_data): New member
11935 (grub_print_message_indented): Move real part to ...
11936 (grub_print_message_indented_real): ... here. Additional argument
11938 (draw_border): Additional argument num_entries.
11939 (print_message): Additional argument dry_run.
11940 (print_entries): Receive menu viewer data.
11941 (grub_menu_init_page): New argment num_entries.
11942 (menu_text_set_chosen_entry): Use num_entries.
11943 (grub_menu_try_text): Likewise.
11944 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
11946 (grub_ucs4_count_lines): New function.
11947 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
11948 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
11949 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
11950 (grub_term_border_height): Likewise.
11951 (grub_term_num_entries): Likewise.
11953 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11955 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
11956 Remove now unused string.
11958 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
11960 * docs/grub-dev.texi (Finding your way around): Update for 1.99
11962 (Getting started): GRUB is developed in Bazaar now, not Subversion.
11964 (Comment): Fix typo.
11965 (Getting started): General copy-editing.
11966 (Typical Development Experience): Likewise.
11967 (Error Handling): Likewise.
11968 (Video API): Likewise.
11970 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
11972 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
11975 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11977 * util/grub-mkimage.c (main): Handle special naming of yeeloong
11980 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
11982 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
11983 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
11986 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11988 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
11989 grub_strcpy since the lines aren't necessarily 0-terminated.
11991 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11993 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
11996 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11998 * grub-core/commands/probe.c (options): Argument to set isn't optional.
11999 (GRUB_MOD_INIT): DEVICE isn't optional.
12001 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12003 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12004 word on new line if it's too long anyway. Fixes a hang.
12006 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12008 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12010 * util/grub-setup.c (main): Reuse md device name if available.
12011 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12012 not GRUB name as argument.
12013 Based on patch by: Florian Wagner <fwagner>.
12015 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12017 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12018 Place mbi on low memory for better compatibility.
12020 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12022 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12024 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12025 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
12027 * autogen.sh: Ensure that collate and ctype locale is C.
12028 * conf/Makefile.common: Likewise.
12030 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12032 * grub-core/normal/menu.c: Add missing include.
12034 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12036 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
12038 2011-04-08 Martin Zuther <mzuther@mzuther.de>
12040 * util/grub-mkconfig.in: Ignore emacsen backup.
12042 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12044 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12046 (grub_util_biosdisk_close): Likewise.
12048 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12050 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12051 const attribute and use grub_isdigit.
12053 2011-04-06 Andrey <dev_null@ukr.net>
12055 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12058 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12060 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12061 useful grub_dprintf's.
12063 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12065 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12067 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12069 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12071 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12073 Output errors if theme loading failed.
12075 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12076 grub_gfxterm_fullscreen on error paths to ...
12077 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12078 theme loading error.
12080 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12082 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12083 space for older compilers.
12084 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12086 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12088 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12089 and report them as not RAID members since they are useless for GRUB.
12090 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12092 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12094 Increase LVM implementation robustness in order not to crash on
12095 configurations like pvmove. Previously code assumed that in some places
12096 only lvs or only pvs are used whereas it seems that they are used
12099 * grub-core/disk/lvm.c (read_node): New function.
12100 (read_lv): Use read_node.
12101 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12102 Match volumes only at the end when all lvs are found. Take both
12103 pvs (first) and lvs (second) into account.
12104 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12105 mirror_* into node_*. All users updated.
12106 (grub_lvm_stripe): Merge this ...
12107 (grub_lvm_mirror): ... and this ...
12108 (grub_lvm_node): ... into this. All users updated.
12110 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12112 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12113 of function to allow further scanning for LVMs.
12115 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12117 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12118 on failed seek as it breaks open fd reusage.
12120 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12122 * util/grub-install.in: Add a recommendation to use --recheck before
12125 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12127 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12130 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12132 GRUB developper manual based on existing Internals section and
12133 contributions by the various authors with active copyright assignment.
12135 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12136 * docs/font_char_metrics.png: New file.
12137 * docs/font_char_metrics.txt: Likewise.
12138 * docs/grub-dev.texi: Likewise.
12139 * docs/grub.texi (Internals): Move from here ...
12140 * docs/grub-dev.texi: ... here.
12142 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12144 Store the loopback device as data on loopback grub_disk structures,
12145 rather than the file it points to. This fixes use of freed memory
12146 if an existing loopback device is replaced.
12148 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12149 disk->data, not dev->file.
12150 (grub_loopback_read): Adjust file assignment to match.
12151 Fixes Ubuntu bug #742967.
12153 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12155 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12156 when replacing an existing device.
12158 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12160 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12161 memory corruptions.
12163 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12165 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12166 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12167 (grub_jfs_read_inode): Likewise.
12168 (grub_jfs_opendir): Likewise. Remove now useless casts.
12169 (grub_jfs_getent): Likewise.
12170 Make ino a grub_uint32_t rather than int.
12171 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12172 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12173 division and module with bit operations.
12174 (grub_jfs_find_file): Make ino a grub_uint32_t.
12175 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12177 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12179 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12180 warning. (This was in fact always initialised before use, but GCC
12181 wasn't smart enough to prove that.)
12182 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12184 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12186 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12188 (efi_wrap_1): Likewise.
12189 (efi_wrap_2): Likewise.
12190 (efi_wrap_3): Likewise.
12191 (efi_wrap_4): Likewise.
12192 (efi_wrap_5): Likewise.
12193 (efi_wrap_6): Likewise.
12194 (efi_wrap_10): Likewise.
12195 Based on information by: Red Hat/Peter Jones.
12197 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12199 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12200 set-but-not-used variable.
12202 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12204 * docs/grub.texi (Simple configuration): Be more explicit about
12205 GRUB_DEFAULT, and add an example.
12206 Reported by: Leslie Rhorer.
12208 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12210 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12213 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12215 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12216 * util/grub.d/20_linux_xen.in: Likewise.
12218 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12220 * util/grub.d/10_linux.in: Try alternative config filenames where
12221 we parse config file.
12222 * util/grub.d/20_linux_xen.in: Likewise.
12224 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12226 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12227 * util/grub.d/20_linux_xen.in: Likewise.
12229 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12231 * grub-core/disk/raid.c (insert_array): Add few potentially
12232 useful grub_util_info.
12233 (grub_raid_register): Likewise.
12235 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12237 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12238 Preserve partition number in mdadm code path.
12240 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12242 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12243 few potentially useful grub_util_info.
12245 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12247 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12249 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12251 * docs/grub.texi (default): Use @example rather than nested
12252 itemized lists to avoid breaking gendocs.
12254 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12256 * docs/grub.texi (Future): Update.
12258 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12260 * docs/grub.texi (Environment): New chapter.
12261 (Changes from GRUB Legacy): Link to "Environment block" section for
12262 details of limitations.
12263 (Simple configuration): Likewise. Link to documentation of gfxmode
12264 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12266 (Shell-like scripting): Note that normal variables are stored in the
12268 (gettext): Link to documentation of lang and locale_dir.
12269 (list_env): New section.
12270 (load_env): New section.
12271 (save_env): New section.
12273 (Reporting bugs): Fix typo.
12275 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12277 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12280 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12282 * grub-core/term/at_keyboard.c (set_scancodes)
12283 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12285 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12287 * docs/grub.texi (Menu-specific commands): Remove some semantics
12288 that were true in GRUB Legacy but not in GRUB 2.
12289 (submenu): New section.
12290 (false): New section.
12291 (read): New section.
12292 (true): New section.
12294 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12296 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12298 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12300 * docs/grub.texi (Simple configuration): Explain some of the
12301 current limitations of grub-mkconfig.
12302 Reported by: Leslie Rhorer.
12304 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12306 Old macs search for boot.efi rather than for bootia32.efi.
12308 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12309 * util/grub-mkrescue.in: Likewise.
12310 Suggested by: Peter Jones.
12312 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12314 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12316 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12318 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12319 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12320 (grub_lvm_mirror): New struct.
12321 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12322 (grub_lvm_iterate): Iterate only visible volumes.
12323 (grub_lvm_read): Factor out to ..
12324 (read_lv): ... this. Support mirrors.
12325 (grub_lvm_read): New wrapper function.
12326 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12327 stripped or mirrored.
12329 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12331 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12333 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12335 * docs/grub.texi (loopback): New section.
12337 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12339 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12342 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12344 * docs/grub.texi (BIOS installation): New section, partly based on
12345 previous text in other sections.
12346 (Installing GRUB using grub-install): Replace BIOS discussion with a
12348 (Images): Likewise.
12350 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12352 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12353 [HAVE_DIOCGDINFO]: Add safety checks.
12355 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12357 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12358 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12360 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12362 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12363 real_sb->size is zero (e.g. RAID-0), get the disk size from
12364 real_sb->data_size instead.
12365 Fixes Ubuntu bug #743136.
12367 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12369 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12370 printf clauses for printing size and start.
12372 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12374 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12375 Reported and tested by: Timothy Nikkel.
12377 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12379 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12380 (dirty_region_add_real): ... this.
12381 (dirty_region_add): Don't discard margin refresh when performing
12384 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12386 * grub-core/lib/relocator.c (allocate_regstart)
12387 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12388 terminals are capabple of malloc-free operation.
12389 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12390 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12392 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12394 * util/grub-setup.c: Copy the partition table zone if floppy support
12395 is disabled, even if no partition table is found.
12397 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12398 during POST if an invalid partition table is contained in the PBR
12399 of the active partition when GRUB is installed to a partition.
12401 2011-03-28 Colin Watson <cjwatson@debian.org>
12403 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12406 2011-03-28 Colin Watson <cjwatson@debian.org>
12408 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12409 to be specific about what kind of RAID device we're scanning for.
12411 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12413 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12414 return freed string.
12416 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12418 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12420 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12422 Use libgeom on FreeBSD to detect partitions.
12424 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12425 (grub-mkrelpath): Likewise.
12426 (grub-script-check): Likewise.
12427 (grub-editenv): Likewise.
12428 (grub-mkpasswd-pbkdf2): Likewise.
12429 (grub-fstest): Likewise.
12430 (grub-mkfont): Likewise.
12431 (grub-mkdevicemap): Likewise.
12432 (grub-probe): Likewise.
12433 (grub-setup): Likewise.
12434 (grub-ofpathname): Likewise.
12435 (grub-mklayout): Likewise.
12436 (example_unit_test): Likewise.
12437 (grub-menulst2cfg): Likewise.
12438 * grub-core/Makefile.core.def (grub-emu): Likewise.
12439 (grub-emu-lite): Likewise.
12440 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12441 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12442 define HAVE_DIOCGDINFO.
12443 (follow_geom_up) [FreeBSD]: New function.
12444 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12445 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12446 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12447 unconditionally of HAVE_DIOCGDINFO.
12449 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12451 Fix FreeBSD compilation problem.
12453 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12454 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12456 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
12458 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12459 Switch back to page zero before loading a kernel, since some kernel
12460 drivers expect that.
12461 Thanks to: Felix Kuehling.
12463 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12465 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12466 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12467 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12469 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12471 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12472 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12474 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12476 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12477 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12478 malloc is disabled.
12480 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12482 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12483 for modules headers when counting the needed allocation size.
12485 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12487 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12488 if no ASCII character is found to prevent crash.
12490 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12492 * grub-core/video/bitmap.c (match_extension): Ignore case.
12494 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12496 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12498 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12500 * grub-core/script/parser.y: Declare "time" as valid argument.
12502 2011-03-23 Peter Jones <pjones@redhat.com>
12504 Fix incorrect assert failure reporting.
12506 * grub-core/tests/example_functional_test.c (example_test): Add
12508 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12509 (failure_start): ...this. Check that malloc succeeded.
12510 Don't call xvasprintf. Return failure struct.
12511 (failure_append_vtext): New function.
12512 (failure_append_text): Likewise.
12513 (add_failure): Likewise.
12514 (grub_test_assert_helper): Likewise.
12515 * include/grub/test.h (grub_test_assert_helper): New declaration.
12516 (grub_test_assert): Macro rewritten.
12518 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12520 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12522 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12524 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12526 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12528 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12529 into GRUB-style one.
12531 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12533 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12534 error and not grub_errno.
12535 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12537 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12539 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12540 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12542 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12544 * grub-core/efiemu/i386/pc/cfgtables.c
12545 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12546 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12547 (grub_xnu_unlock): Likewise.
12548 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12550 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12552 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12553 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12554 * grub-core/commands/hashsum.c (aliases): Likewise.
12555 * grub-core/commands/setpci.c (pci_registers): Likewise.
12556 * grub-core/disk/usbms.c (attach_hook): Likewise.
12557 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12558 (zio_checksum_table): Likewise.
12559 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12560 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12561 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12562 * grub-core/lib/relocator.c (leftovers): Likewise.
12563 (extra_blocks): Likewise.
12564 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12565 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12566 (modules_last): Likewise.
12567 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12568 (devices): Likewise.
12569 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12570 (modules_last): Likewise.
12571 * grub-core/normal/auth.c (users): Likewise.
12572 * grub-core/normal/context.c (initial_menu): Likewise.
12573 (current_menu): Likewise.
12574 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12575 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12576 (grub_serial_terminfo_input_template): Likewise.
12577 (grub_serial_terminfo_output_template): Likewise.
12578 (grub_serial_terminfo_input): Likewise.
12579 (grub_serial_terminfo_output): Likewise.
12580 (registered): Likewise.
12581 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12583 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12585 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12586 grub_video_mode_type_t.
12587 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12588 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12589 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12591 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12593 * util/grub-install.in: Correct the x86-64 name as x86_64.
12595 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
12597 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12598 initial chunk read from the kernel always includes GRUB's multiboot
12599 header, which is now outside the first sector.
12601 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12603 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12604 cached mmap_size, so that this works correctly when called multiple
12606 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12608 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12610 * docs/grub.texi (Simple configuration): Tidy up formatting.
12612 2011-03-07 Szymon Janc <szymon@janc.net.pl>
12614 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12615 Set-but-not-used variable removed.
12617 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12619 Workaround yet another IEEE1275 bug.
12621 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12622 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12623 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12624 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12626 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12627 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12629 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12631 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12634 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
12636 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12637 empty, since in that case we can only generate either nothing or a
12638 syntactically invalid configuration file.
12639 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12641 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12643 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12644 (Making a GRUB bootable CD-ROM): Likewise.
12645 (Invoking grub-mkrescue): New section.
12646 Reported by: Yann Dirson. Fixes Debian bug #612585.
12648 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12650 * util/grub-install.in: Remove unnecessary brackets from tr
12652 * util/grub.d/10_hurd.in: Likewise.
12653 * util/grub.d/10_kfreebsd.in: Likewise.
12654 * util/grub.d/10_linux.in: Likewise.
12655 * util/grub.d/20_linux_xen.in: Likewise.
12656 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12658 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
12660 * include/grub/file.h (not_easly_seekable): Rename to ...
12661 (not_easily_seekable): ... this. Update all users.
12663 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
12665 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12668 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12670 * util/grub-mkimage.c (generate_image): Refuse to create the images
12671 bigger than the actual flash (512K) in Loongson machines. 512K is also
12672 the biggest chip supported by them.
12674 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12676 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12678 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
12680 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12681 super_offset field.
12683 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12685 * util/grub-install.in: Ignore install device on platforms
12686 where it doesn't make sense. Always use UUIDs except on pc, efi and
12688 Reported by: Daniel Kahn Gillmor.
12690 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12692 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12694 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12696 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12697 (iterate_real): Don't rely on partition being non-NULL.
12699 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12701 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12702 supported platforms. Put a compile time assert for this rather than
12703 generate a warning with 32-bit shift.
12705 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12707 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12708 logical expression more readable.
12710 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12712 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12713 even if some elements have a name.
12714 Reported by: Alexander GQ Gerasiov.
12716 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12718 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12719 path unreadable if `grub-probe -t abstraction' fails, for example if
12720 memberlist fails on an LVM volume group.
12721 Reported by: Darius Jahandarie.
12723 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12725 * docs/grub.texi (Simple configuration): Document
12726 GRUB_PRELOAD_MODULES.
12728 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
12730 * .bzrignore: Remove nonexistent grub-pbkdf2.
12732 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12734 * configure.ac: Bump version to 1.99~rc1.
12736 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12738 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12741 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12743 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12746 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12748 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12750 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12752 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12755 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12757 Fix compilation on cygwin.
12759 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12760 -R .drectve on cygwin.
12761 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12762 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12763 (COND_CYGWIN): New condition.
12764 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12765 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12766 not @TARGET_OBJ2ELF@.
12767 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12768 type to determine whether aux is to be used.
12770 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12772 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12773 realpath'ed device string.
12774 Handle floppy (somewhat).
12775 Issue error in unknown case rather than garbage.
12776 Reported by: Axel Beckert.
12778 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12780 * util/grub.d/00_header.in (load_video): Handle the case when no video
12782 Thanks to: Axel Beckert.
12784 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12786 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12787 variable. Fixes problem on big endian platforms.
12789 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12791 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12792 It doesn't work well there.
12794 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12796 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12798 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12799 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12802 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12804 Use alias->path rather than buggy "canon".
12806 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12807 (ofdisk_hash_add): New argument curcan. All users updated.
12809 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12811 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12813 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12815 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12816 loadmask before doing any calculations. Use correct type for offset.
12817 (grub_linux_load64): Likewise.
12819 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12821 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12823 (console_grub_equivalences_unshift): Likewise.
12824 Reported by: Daniel Dehennin.
12826 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12828 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12829 (set_env_limn_ro): Likewise.
12830 (GRUB_MOD_INIT): Likewise.
12831 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12832 ARRAY_SIZE while on it.
12833 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12834 * grub-core/normal/context.c (grub_env_export): Move from here ...
12835 * grub-core/kern/env.c (grub_env_export): ... here.
12836 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12838 * grub-core/kern/main.c (grub_main): Export root and prefix.
12839 * include/grub/env.h (grub_env_export): Export.
12840 Reported by: Seth Goldberg.
12842 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12844 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12845 Take into account space used by ELF sections and multiboot palette.
12846 Reported by: Grégoire Sutre.
12848 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12852 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12854 Pass more appropriate video id to Linux.
12856 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12857 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12859 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12860 shift params->lfb_size.
12861 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12863 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12865 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12867 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12869 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12870 separator and pass bootpath/devid even if only one of them is available.
12871 Reported by: Seth Goldberg.
12873 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12875 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12876 implementations bug on them.
12878 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12880 (filter_memory_map): Likewise.
12882 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12884 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12885 Reported by: nebuchadnezzar.
12887 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12889 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12890 Reported by: nebuchadnezzar.
12892 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12894 Submenu default support.
12896 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12897 auto_boot. All users updated.
12899 Handle chosen and default with submenus.
12900 (grub_menu_execute_with_fallback): Declared static.
12901 Don't notify failure if autobooted. Upper level does it.
12902 (menuentry_eq): New function.
12903 (get_entry_number): Use menuentry_eq.
12904 (show_menu): New parameter "autobooted". All users updated.
12905 (grub_show_menu): Likewise.
12906 * include/grub/normal.h (grub_show_menu): Likewise.
12907 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12908 (grub_menu_execute_with_fallback): Likewise.
12910 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12912 * util/grub-mklayout.c (usage): Update help text.
12914 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12916 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
12918 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12920 * util/grub-menulst2cfg.c (main): Trim the line.
12922 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12924 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
12925 (grub_machine_init): Don't check amount of low memory as reportedly
12926 INT 12h can be broken and if low memory is too low we wouldn't have
12927 gotten into grub_machine_init anyway.
12929 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12931 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
12932 (grub_machine_mmap_iterate): Take low memory into account
12934 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12936 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
12938 Reported by: TiCPU.
12940 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12942 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
12945 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12947 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
12948 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
12950 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12952 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
12953 openbsd and netbsd types being in part_bsd module.
12955 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12957 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
12958 (_FILE_OFFSET_BITS): Likewise.
12959 Reported by: Seth Goldberg.
12961 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12963 * configure.ac: Check for libdevmapper header.
12965 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12967 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
12969 (fzap_lookup): Likewise.
12970 (dnode_get): Likewise.
12971 (make_mdn): Likewise.
12972 (zfs_mount): Likewise.
12973 (fzap_iterate): Use temporary pointer to avoid aliasing.
12974 (grub_zfs_read): Likewise.
12975 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
12976 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
12977 pointers to avoid aliasing.
12978 (grub_cmd_xnu_kernel64): Likewise.
12979 (grub_xnu_load_driver): Likewise.
12981 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12983 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
12985 (grub_cmd_terminal_output): Likewise.
12986 Reported and tested by: Grégoire Sutre.
12988 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12990 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
12992 Reported and tested by: Grégoire Sutre.
12994 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12996 * configure.ac: Do CPU substitution even if it's specified explicitly.
12997 Reported and tested by: Alain Greppin.
12999 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13001 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13002 Reported and tested by: Alain Greppin.
13004 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13006 Satisfy some bison versions need for inttypes.h.
13008 * grub-core/lib/posix_wrap/inttypes.h: New file.
13009 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13010 (int16_t): Likewise.
13011 (int32_t): Likewise.
13012 (int64_t): Likewise.
13013 Reported and tested by: Alain Greppin.
13015 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13017 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13018 Silence spurious warning.
13019 Reported and tested by: Alain Greppin.
13021 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13023 * docs/grub.texi (Support automatic decompression): Update with xz
13024 decompression support.
13026 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13028 Improve loaders' kernel command line handling.
13030 * grub-core/lib/cmdline.c: New file.
13031 * include/grub/lib/cmdline.h: Likewise.
13032 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13033 grub_create_loader_cmdline to create kernel command line.
13034 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13035 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13036 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13037 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13038 (linux): Add lib/cmdline.c on common.
13040 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13042 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13043 inopos might be unaligned.
13045 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13047 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13048 endian transformations.
13049 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13050 Based on report by: Doug Nazar.
13052 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
13054 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13055 array->members[i].start_sector.
13056 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13058 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13060 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13061 Reported and tested by: Grégoire Sutre.
13063 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13065 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13066 avoid causing test failures by clearing the screen.
13068 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13070 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13071 Fix prefix check to handle the case where dir ends with a slash
13072 (most significantly, "/" itself).
13073 Reported by: Michael Vogt.
13075 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13077 Run terminfo_cls on initing terminfo output to clear the screen and
13078 move the cursor to (0,0).
13080 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13081 Call grub_terminfo_output_init.
13082 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13083 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13084 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13086 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13088 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13091 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13093 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13096 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13098 The E820 type 5 is BADRAM, not EXEC_CODE.
13100 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13101 (GRUB_E820_BADRAM): New define.
13102 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13103 into reserved. Propagate BADRAM.
13104 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13105 (GRUB_E820_BADRAM): New define.
13107 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13109 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13110 Ignore the memory post-4G.
13111 (grub_relocator_firmware_alloc_region): Additional debug statement.
13113 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13115 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13117 Reported by: David Pravec.
13119 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13121 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13124 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13126 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13128 (grub_reed_solomon_recover): Likewise.
13130 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13132 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13134 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13136 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13139 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
13141 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13142 descriptions of extract_legacy_entries_source and
13143 extract_legacy_entries_configfile.
13144 Reported by: Seung Soo, Ha.
13146 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
13148 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13149 on devices that do not implement function 0.
13151 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13153 * grub-core/fs/hfsplus.c: Make parent unsigned.
13154 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13156 (grub_hfsplus_cmp_extkey): Likewise
13158 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13160 * util/grub-install.in: Correctly use bootloader_id and not
13161 GRUB_DISTRIBUTOR on efibootmgr line.
13163 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13165 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13167 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
13169 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13170 Xen and reorder menu item wording to make it clearer that this entry
13171 will launch Xen. Print separate messages when loading Xen and
13174 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13176 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13177 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13178 loop in case of incorrect amiga partmap.
13180 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13182 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13183 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13186 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13188 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13190 Reported by: crocket
13192 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13194 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13196 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13198 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13200 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13202 (grub_cmd_xnu_kextdir): Likewise.
13203 (grub_cmd_xnu_splash): Likewise.
13205 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13207 Avoid using Reed-Solomon with 0 redundancy.
13209 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13210 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13212 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13213 (grub_reed_solomon_recover): Likewise.
13215 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13217 Don't use disk subsystem in freebsd_boot.
13219 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13220 (freebsd_biosdev): Likewise.
13221 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13222 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13224 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13226 Handling of files of unknown size is currently limited. They can't be
13227 used e.g. for initrd or modules. Moreover gzip handling of not
13228 easily seekable files is buggy. Disable unknown file size for now. May
13229 be inefficient but works.
13231 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13232 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13234 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13236 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13239 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13241 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13243 2010-12-25 Shea Levy <shlevy>
13245 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13247 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13249 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13250 Windows Server 2008.
13251 Reported by: Devin Giddings.
13253 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13255 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13256 writing an error message because of async power management.
13257 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13258 (grub_reboot): Likewise.
13260 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13262 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13263 keep unit tests from failing when they shouldn't.
13265 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13267 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13268 previous patch increased the size of the RS code by 20 bytes (at
13269 least with gcc-4.4), so increase this by 20 bytes to match.
13270 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13272 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13274 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13275 scratch area. Make sure to initialise chosen in standalone mode as
13276 well as non-standalone.
13277 Reported by: Robert Hooker and Andy Whitcroft.
13278 Tested by: Andy Whitcroft.
13280 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13282 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13283 constructing a new unescaped string and passing it to grub_xputs in
13284 one go, rather than passing characters to grub_printf one at a time.
13286 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13288 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13289 initialising utf16.
13291 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13293 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13294 comment. Add an extra layer of quotation, requiring the output of
13295 this function to be used in a printf format string.
13296 (gettext_printf): New function.
13297 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13298 Extract translatable strings from here-documents and use a temporary
13299 variable instead, so that xgettext can find them.
13300 * util/grub.d/10_kfreebsd.in: Likewise.
13301 * util/grub.d/10_linux.in: Likewise.
13302 * util/grub.d/20_linux_xen.in: Likewise.
13304 * po/grub.d.sed: New file.
13305 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13306 arguments. Set c-format flags on all strings extracted from
13307 util/grub.d/ (xgettext refuses to include these itself for strings
13308 it extracted from a shell file, but these really are c-format).
13310 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13312 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13313 Avoid next pointing to nowhere.
13315 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13317 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13318 rather than assuming than rootblock is exactly in the middle.
13319 (grub_affs_label): Likewise.
13321 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13323 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13324 reserved_first_sector to 0.
13325 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13326 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13327 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13329 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13331 Fix handling of UTF-16 UDF labels.
13333 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13334 (read_string): .. here.
13335 (grub_udf_label): Use read_string.
13337 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13339 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13340 editor under argument scope.
13341 Reported by: Jordan Uggla
13343 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13345 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13347 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
13349 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13350 line, and other keys scroll an entire page (previous handling was
13351 for \r and \n to scroll a page and other keys to scroll two lines).
13353 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13355 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13356 Set ptrdest to correct get_physical_target_address rather than
13357 incorrect get_virtual_current_address.
13359 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13361 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13362 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13364 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13366 * .bzrignore: Ignore grub-core/rs_decoder.S.
13368 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13370 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13371 .mo/.mo.gz opening sequence to ...
13372 (grub_mofile_open_lang): ... here.
13373 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13374 * util/grub.d/00_header.in (grub_lang): Include country part of
13376 Reported by: Mario Limonciello.
13378 2010-12-09 Robert Millan <rmh@gnu.org>
13380 * NEWS: Document addition of ZFS support.
13382 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
13384 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13385 rather than `/ 2', as the latter requires -Wa,--divide which would
13386 require bumping our minimum binutils version.
13388 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13390 * util/grub-script-check.c (main): Print script line number on
13393 2010-12-01 Robert Millan <rmh@gnu.org>
13395 * grub-core/fs/zfs/zfs.c: New file.
13396 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13397 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13398 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13399 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13401 * include/grub/zfs/dmu.h: Likewise.
13402 * include/grub/zfs/dmu_objset.h: Likewise.
13403 * include/grub/zfs/dnode.h: Likewise.
13404 * include/grub/zfs/dsl_dataset.h: Likewise.
13405 * include/grub/zfs/dsl_dir.h: Likewise.
13406 * include/grub/zfs/sa_impl.h: Likewise.
13407 * include/grub/zfs/spa.h: Likewise.
13408 * include/grub/zfs/uberblock_impl.h: Likewise.
13409 * include/grub/zfs/vdev_impl.h: Likewise.
13410 * include/grub/zfs/zap_impl.h: Likewise.
13411 * include/grub/zfs/zap_leaf.h: Likewise.
13412 * include/grub/zfs/zfs.h: Likewise.
13413 * include/grub/zfs/zfs_acl.h: Likewise.
13414 * include/grub/zfs/zfs_znode.h: Likewise.
13415 * include/grub/zfs/zil.h: Likewise.
13416 * include/grub/zfs/zio.h: Likewise.
13417 * include/grub/zfs/zio_checksum.h: Likewise.
13419 * Makefile.util.def: Build ZFS into libgrubmods.
13420 * grub-core/Makefile.core.def: Build zfs.mod.
13422 2010-11-30 Szymon Janc <szymon@janc.net.pl>
13424 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13426 * grub-core/commands/wildcard.c (match_files): Likewise.
13428 2010-11-30 Robert Millan <rmh@gnu.org>
13430 * grub-core/loader/i386/bsd.c
13431 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13432 whether kernel is loaded using grub_loader_is_loaded(), rather
13433 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13434 certain error conditions.
13436 2010-11-30 Robert Millan <rmh@gnu.org>
13438 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13439 (grub_cmd_echo): Call grub_refresh() after printing a message.
13441 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13443 Avoid using tricks for initialising endian variables.
13445 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13447 (GRUB_MOD_INIT): Don't byte-swap.
13448 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13449 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13450 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13451 (grub_swap_bytes32_compile_time): Likewise.
13452 (grub_cpu_to_le32_compile_time): Likewise.
13453 (grub_cpu_to_le16_compile_time): Likewise.
13455 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13457 * util/grub-setup.c (setup): Stop recommending --force. People who
13458 understand the dangers of blocklists are able to find this option
13459 anyway and the ones who don't shouldn't use it anyway.
13461 2010-11-26 Robert Millan <rmh@gnu.org>
13463 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13466 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
13468 Fix LVM-on-RAID probing.
13470 * util/grub-probe.c (probe): Remember which disk was detected as
13471 RAID (perhaps an LVM physical volume). Use that disk's raidname
13472 rather than that of the top-level disk.
13474 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
13476 Fix cmdline argument quotes for setparams command of menuentry
13479 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13480 quotes for arguments.
13481 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
13482 grub_strchrsub function instead.
13484 * include/grub/misc.h (grub_strchrsub): New function.
13486 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13488 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13489 effort by skipping "." and ".." entries up-front.
13490 Suggested by: Michael Lazarev.
13492 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13494 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13495 ldflags to ldadd, to fix link line ordering.
13496 (none_decompress): Likewise.
13498 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13500 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13502 (grub-emu-lite): Remove kern/emu/cache.S.
13504 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13506 * util/deviceiter.c (compare_devices): If the by-id link for a
13507 device couldn't be resolved, fall back to sorting by the by-id link
13508 rather than segfaulting.
13509 Reported and tested by: Daniel Mierswa.
13511 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13513 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13514 ldflags, to fix link line ordering.
13516 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13518 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13519 linkers are picky about this.
13521 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13523 * grub-core/Makefile.am (command.lst): Adjust sed expression
13524 ordering so that extended and priority commands aren't treated as
13527 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13529 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13530 Remove byte-swapping function calls, which are not valid in
13531 structure initialisers.
13532 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13534 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13535 grub_gpt_partition_type_bios_boot.
13537 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13539 Fix test program build on GNU/kFreeBSD.
13541 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13542 $(LIBNVPAIR)' library dependencies.
13544 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13546 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13548 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13550 * util/grub-install.in: Remove excessive quoting that broke
13551 installations to RAID devices.
13553 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13555 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13556 bootloader version instead of 0.
13558 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13560 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13563 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13565 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13566 retrieve the metadat sector if size isn't known.
13567 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13569 2010-11-18 Robert Millan <rmh@gnu.org>
13571 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13572 with grub_memcmp().
13574 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13576 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13578 Reported by: Jordan Uggla.
13580 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13582 Make better UTF compliant.
13584 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13585 sequences as incorrect.
13586 (grub_is_valid_utf8): Likewise.
13587 (grub_utf8_to_ucs4): Likewise.
13588 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13589 (grub_ucs4_to_utf8_alloc): Likewise.
13590 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13592 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13594 Make legacy_source behave like source.
13596 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13598 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13600 2010-11-16 Colin Watson <cjwatson@debian.org>
13602 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13603 (-Wunused implies -Wunused-parameter, but not vice versa).
13605 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
13607 * configure.ac: Make error messages less confusing by testing for
13608 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13609 accepted, but produces a diagnostic if something else is wrong).
13611 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13613 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13614 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13616 (grub_keyboard_controller_init)
13617 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13618 read the initial state since controller isn't inited yet.
13620 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13622 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13623 allocate_regbeg may need to create new chunk header.
13625 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13627 Fix quoting in legacy parser.
13629 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13631 (grub_legacy_parse): Likewise.
13632 Reported by: Jordan Uggla.
13633 Tested by: Jordan Uggla.
13635 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13637 Don't add -lgcc on i386 and x86_64.
13639 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13640 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13641 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13643 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13645 * configure.ac: Add -Wno-trampolines when supported.
13647 2010-11-14 Modestas Vainius <modax@debian.org>
13649 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13652 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13654 Add generic logical block size support for UDF.
13656 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13657 (GRUB_UDF_BLKSZ): Removed.
13658 (struct grub_udf_data): New field "lbshift" to hold the logical block
13659 size of the file system in log2 format. All users updated.
13660 (sblocklist): Change type to unsigned.
13661 (grub_udf_mount): Change type of "sblklist" to unsigned.
13662 Move AVDP search before VRS recognition, because the latter requires
13663 knowledge of the logical block size, which is detected during the
13665 Detect and validate logical block size during AVDP search, adding
13666 support for block sizes 512, 1024 and 4096.
13667 Make VRS recognition independent of block size.
13669 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13671 Properly handle deleted files on UDF.
13673 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13674 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13677 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13679 Support reading files larger than 2 GiB.
13681 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13682 "offset" to grub_off_t.
13683 (grub_udf_read_file): Likewise for parameter "pos".
13685 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13687 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13689 (Simple configuration): Refer to Changes from GRUB Legacy about
13690 save_env availability.
13692 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13694 * util/grub-install.in: Ignore empty partition table detection
13695 instead of trying to include part_ module.
13697 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13699 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13700 LVM on RAID support.
13702 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13704 Properly define WORDS_BIGENDIAN in wrapped environments.
13706 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13708 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13710 Reported by: Manoel Rebelo Abranches.
13711 Tested by: Manoel Rebelo Abranches.
13713 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13715 * util/grub-mkconfig.in: Fix quoting.
13717 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13719 Support big ext2 files.
13721 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13722 (grub_ext2_read_block): Support triple indirect blocks.
13723 (grub_ext2_read_file): Use 64-bit types and read size_high.
13724 (grub_ext2_open): Read size_high.
13725 Reported by: Ximin Luo.
13726 Tested by: Manoel Rebelo Abranches.
13728 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13730 * util/grub-install.in: Handle filenames containing spaces.
13731 Reported by: Jordan Uggla.
13732 Tested by: Jordan Uggla.
13734 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13736 * util/grub-mkconfig.in (grub_script_check): New variable.
13737 Use grub_script_check instead of grub-script-check.
13738 Reported by: Barry Jackson.
13740 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13742 * docs/grub.texi (menu): Correct the order.
13743 Reported by: D. Hugh Redelmeier.
13745 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13747 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13750 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13752 * include/grub/elfload.h (grub_elf32_size): New parameter.
13754 Return maximum segments alignment.
13755 (grub_elf64_size): Likewise.
13756 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13757 Return maximum segments alignment.
13758 (grub_elf64_size): Likewise.
13759 * grub-core/loader/powerpc/ieee1275/linux.c:
13760 (grub_linux_claimmap_iterate): New function. Uses the
13761 "available" property in the "memory" node for memory allocation
13762 for kernel in the PowerPC loader.
13763 (grub_linux_load32): Correctly find linux entry point offset.
13764 (grub_linux_load64): Likewise.
13766 2010-11-07 Robert Millan <rmh@gnu.org>
13768 On mips-yeeloong, build with -march=loongson2f when this flag is
13769 available (GCC >= 4.4).
13770 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13772 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13773 or otherwise add -march=mips3.
13775 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13777 Suppress shell expansion on echo '*' and echo "*" like cases.
13778 Reported by: Jordan Uggla.
13780 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13781 string arguments before shell expansion.
13782 * tests/grub_cmd_echo.in: New testcases.
13784 2010-11-07 Robert Millan <rmh@gnu.org>
13786 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13789 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13791 * grub-core/kern/emu/hostdisk.c
13792 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13794 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13796 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13797 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13798 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13800 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13802 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13804 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13806 * util/grub-install.in: Replace useless recomendation to pass
13807 --modules with a recomendation to report a bug.
13809 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13811 Properly register serial terminfo.
13812 Reported by: Jordan Uggla
13814 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13816 (grub_serial_terminfo_output_template): Likewise.
13817 (grub_cmd_serial): Register "serial" with terminfo.
13818 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13819 grub_serial_terminfo_output.
13821 2010-11-05 Robert Millan <rmh@gnu.org>
13823 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13826 2010-11-05 Robert Millan <rmh@gnu.org>
13828 On Yeeloong, pass machine type information to Linux.
13830 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13831 (LOONGSON_MACHTYPE): New macro, set to
13832 "machtype=lemote-yeeloong-2f-8.9inches".
13833 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13834 additional argument to Linux.
13836 2010-11-04 Robert Millan <rmh@gnu.org>
13838 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13839 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13840 (its SATA disks are detected as slaveless IDE master drives on
13842 Reported by Carsten Aulbert.
13844 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
13846 * util/bin2h.c (main): Fix spelling error in generated output.
13848 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13850 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13852 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13854 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13855 vga= option is supplied.
13857 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13859 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13860 * util/grub.d/10_kfreebsd.in: Likewise.
13861 * util/grub.d/10_linux.in: Likewise.
13862 * util/grub.d/20_linux_xen.in: Likewise.
13864 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13866 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13867 argument as an argument to no-argument option.
13869 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13871 * util/grub.d/10_linux.in: Add missing load_video with explicit
13872 GRUB_GFXPAYLOAD_LINUX.
13874 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13876 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13878 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13880 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13881 elements with invlid index.
13882 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13883 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13885 * include/grub/raid.h (grub_raid_member): New struct.
13886 (grub_raid_array): Transform devices and start_sector into usage of
13887 grub_raid_member. All users updated
13888 (allocated_devs): New member.
13890 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13892 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13895 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13897 NetBSD build fix for getline function conflict from gnulib.
13899 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13900 components that depend on gnulib headers.
13901 (libgrubmods.a): Renamed from earlier libgrub.a.
13902 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13904 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13906 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13907 install rather than creating a broken install.
13909 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13911 * util/grub-setup.c (argp): Remove misleading example of installing to
13914 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13916 * util/grub-setup.c (setup): Clarify the error message.
13918 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13920 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
13922 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13924 * grub-core/kern/emu/misc.c
13925 (grub_make_system_path_relative_to_its_root)
13926 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
13928 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13930 * grub-core/kern/emu/misc.c
13931 (grub_make_system_path_relative_to_its_root): Revert r2882.
13933 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13935 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
13936 useless field head. All users updated.
13937 (free_subchunk): Correct handling of IN_REGION subchunk.
13939 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
13941 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
13942 (Supported kernels): Likewise.
13944 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13946 Make mktemp invocations portable.
13948 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
13949 exit if mktemp fails.
13950 * tests/grub_script_blockarg.in: Likewise.
13951 * tests/partmap_test.in: Likewise.
13952 * tests/util/grub-shell-tester.in: Likewise.
13953 * tests/util/grub-shell.in: Likewise.
13954 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13955 * Makefile.am: Likewise, and chain shell commands with `&&'
13957 * util/grub-mkrescue.in: Use the same explicit template as above, and
13958 exit if mktemp fails.
13960 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
13962 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
13963 Linux kernel, reported by Dennis Schridde.
13965 2010-10-17 Szymon Janc <szymon@janc.net.pl>
13967 * grub-core/normal/auth.c (grub_auth_check_authentication):
13968 Set-but-not-used variable removed.
13970 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13972 * docs/grub.texi (GNU/Linux): Document APM unavailability with
13973 32-bit linux protocol.
13975 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13977 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
13978 cursor shape for sanity.
13980 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13982 * docs/grub.texi (Installation): Document buggy BIOS install.
13984 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13986 * docs/grub.texi (Installation): Indent.
13988 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13990 * util/grub-setup.c (setup): New parameter allow_floppy.
13991 (arguments): New member allow_floppy.
13992 (argp_parser): Handle --allow-floppy.
13993 (main): Pass allow_floppy.
13994 * util/grub-install.in: New option --allow-floppy passed though to
13997 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13999 * util/grub-install.in: Handle partitionless disks.
14001 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14003 * util/grub-setup.c (setup): Don't clean blocklists before readability
14006 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14008 * docs/grub.texi (Installation): Document embedding zone. Remove
14009 obsolete grub-install example.
14011 2010-10-16 Szymon Janc <szymon@janc.net.pl>
14013 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14014 Set-but-not-used variable ifdef'ed.
14015 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14016 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14018 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14019 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14020 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14021 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14022 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14023 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14024 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14025 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14026 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14027 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14028 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14031 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14033 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14034 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14037 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14039 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14040 synonym to _S5_. Needed for some DSDTs.
14042 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14044 Userspace ACPI parser debugging.
14046 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14047 headers and add relevant defines. Don't include standard headers.
14048 (main) [GRUB_DSDT_TEST]: New function.
14049 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14050 Don't declare functions.
14052 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14054 Remove dead grub_efi_mm_fini.
14056 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14057 (ALLOCATED_PAGES_SIZE): Likewise.
14058 (MAX_ALLOCATED_PAGES): Likewise.
14059 (allocated_pages): Likewise.
14060 (grub_efi_allocate_pages): Don't record allocated pages.
14061 (grub_efi_free_pages): Likewise.
14062 (grub_efi_mm_init): Likewise.
14063 (grub_efi_mm_fini): Removed.
14065 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14067 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14068 (grub_efi_mm_init): Take into account the memory map size increase.
14070 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14072 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14073 (serial_hw_put): Wait based on real time rather than port reads. Don't
14075 * include/grub/serial.h (grub_serial_port): New field broken.
14077 2010-10-16 Robert Millan <rmh@gnu.org>
14079 * grub-core/kern/emu/misc.c
14080 (grub_make_system_path_relative_to_its_root): Fix premature return
14081 when processing non-root ZFS filesystems.
14082 Reported by Sergio Talens-Oliag.
14084 2010-10-15 Robert Millan <rmh@gnu.org>
14086 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14087 guarantee compressed ones are processed first.
14089 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14091 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14092 grub_efiemu_autocore.
14094 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14096 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14098 (grub_console_getkey): Use correct jae opcode rather than ja.
14100 2010-10-12 Robert Millan <rmh@gnu.org>
14102 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14103 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14104 variable. All references updated.
14106 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14108 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14110 Correctly distinguish mdraid flavours.
14112 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14113 (insert_array): New argument raid.
14114 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14115 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14116 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14118 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14120 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14121 handling of special keys.
14123 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14125 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14126 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
14128 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14130 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14131 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14133 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
14134 Use right endpoint when querying descriptor.
14136 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14138 Clear out 0x80 color bit on EFI.
14140 Reported by: decoder and meta tech.
14142 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14143 (grub_console_setcolorstate): Clear out 0x80 bit.
14144 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14145 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14146 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14148 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14150 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14153 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14155 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14156 mo_file after freeing.
14158 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14160 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14162 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14164 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14167 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14169 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14172 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14174 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14176 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14177 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14178 and terminfo.h when needed.
14179 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14180 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14181 (terminfo): Enable only on terminfokernel.
14182 (extcmd): Likewise.
14183 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14184 * include/grub/lib/arg.h: Likewise.
14185 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14186 incorrect usage of ->.
14188 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14190 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14191 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14193 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14195 Fix coreboot compilation.
14197 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14198 Take VBE info into account even if only text is supported.
14199 (fill_vbe_info): Take into account the case when only VGA text
14201 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14202 on coreboot, multiboot and qemu.
14204 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14206 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14208 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14210 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14212 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14215 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14217 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14218 if they were BSD-style.
14220 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14222 * grub-core/boot/i386/pc/lnxboot.S: Replace
14223 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14224 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14226 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14228 Write embedding zone using Reed-Solomon.
14230 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14231 * grub-core/Makefile.am (rs_decoder.S): New target.
14232 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14233 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14234 (multiboot): Move to RS part.
14235 (post_reed_solomon): New label.
14236 (grub_boot_drive): Move to non-RS part since it's modified in memory
14238 Include rs_decoder.S.
14239 * grub-core/lib/reed_solomon.c: New file.
14240 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14242 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14243 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14244 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14245 * include/grub/partition.h (grub_partition_map): Change prototype of
14246 embed to allow returning additional sectors.
14247 * include/grub/reed_solomon.h: New file.
14248 * util/grub-setup.c (setup): Handle Reed-Solomon.
14250 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
14252 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14253 i386 and x86-64 definedness tests.
14255 2010-09-27 Yves Blusseau <blusseau@zetam.org>
14257 Fix generation of kernel_syms.lst
14259 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14262 2010-09-26 Robert Millan <rmh@gnu.org>
14264 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14266 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14267 the pool is an array of devices, iterate through it and return the
14268 first device that passes a stat() test (instead of blindly returning
14271 2010-09-26 Robert Millan <rmh@gnu.org>
14273 Build fixes for GNU/kFreeBSD.
14275 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14276 to programs that require ZFS conversion.
14277 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14278 kernels that don't have FLOPPY_MAJOR.
14280 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14282 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14284 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14286 Fix grub-emu build.
14288 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14289 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14290 mdraid09 and mdraid1x.
14292 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
14294 Re-enable grub-extras.
14296 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14297 avoid confusing Automake. Run autogen only twice, once for the top
14298 level and once for grub-core. Add Makefile.util.def and
14299 Makefile.core.def from extra modules to the appropriate autogen
14300 invocations. If Makefile.common exists in an extra module, include
14301 it in both Makefile.util.am and grub-core/Makefile.core.am;
14302 similarly, include any Makefile.util.common file in Makefile.util.am
14303 and any Makefile.core.common file in grub-core/Makefile.core.am.
14304 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14305 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14306 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14307 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14309 * gentpl.py (gvar_add): Turn GVARS into a set.
14310 (global_variable_initializers): Sort global variables on output.
14311 (vars_init): New function.
14312 (first_time): Likewise.
14313 (library): Ensure that non-global variable initialisations are
14314 emitted before the first time we emit code for a library block.
14315 Append to variables rather than setting them. Only emit
14316 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14317 each conditional path.
14318 (program): installdir() emits an Autogen macro, so must be passed to
14319 var_add rather than gvar_add.
14321 (script): Likewise.
14322 (rules): New function, centralising handling for different target
14323 types. Set up Guile association lists for first_time and vars_init,
14324 and send most output to a diversion so that variable initialisations
14325 can be emitted first.
14326 (module_rules): Use new rules function.
14327 (kernel_rules): Likewise.
14328 (image_rules): Likewise.
14329 (library_rules): Likewise.
14330 (program_rules): Likewise.
14331 (script_rules): Likewise.
14332 (data_rules): Likewise.
14334 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14336 * .bzrignore: Add contrib and grub-core/contrib. Remove
14337 grub-core/Makefile.gcry.am.
14339 2010-09-24 Yves Blusseau <blusseau@zetam.org>
14341 * grub-core/lib/LzFind.c: Add missing include.
14342 * grub-core/lib/LzmaEnc.c: Likewise.
14343 * grub-core/script/lexer.c: Likewise.
14344 * grub-core/script/yylex.l: Likewise.
14345 * util/grub-macho2img.c: Likewise.
14346 * util/grub-menulst2cfg.c: Likewise.
14347 * util/grub-mklayout.c: Likewise.
14348 * util/grub-mkpasswd-pbkdf2.c
14349 * util/grub-mkrelpath.c: Likewise.
14350 * util/resolve.c: Likewise.
14352 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14354 * Makefile.util.def (example_unit_test): Add
14355 grub-core/gnulib/libgnu.a.
14357 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14359 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14361 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14363 Support xz compression on yeeloong.
14365 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14366 * configure.ac: Check for LZMA.
14367 * grub-core/Makefile.core.def (xz_decompress): New target.
14368 (none_decompress): Likewise.
14369 * grub-core/boot/decompressor/minilib.c: New file.
14370 * grub-core/boot/decompressor/none.c: Likewise.
14371 * grub-core/boot/decompressor/xz.c: Likewise.
14372 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14373 * grub-core/kern/mips/cache_flush.S: Likewise.
14374 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14375 * grub-core/kern/mips/startup.S: Move first stage to ...
14376 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14378 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14379 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14380 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14381 Allocate statically.
14382 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14383 Allocate statically or use scratch. Don't check CRC32.
14384 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14385 Allocate statically. Don't check CRC32.
14386 * include/grub/decompressor.h: New file.
14387 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14389 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14390 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14391 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14392 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14393 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14394 * util/grub-mkimage.c (grub_compression_t): New type.
14395 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14396 (image_target_desc): New field default_compression.
14397 (image_targets): Adjust yeeloong targets.
14398 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14399 (compress_kernel): New parameter comp.
14400 (generate_image): Likewise. Handle new compression case.
14401 (options): New option --compression
14403 (main): Handle new option.
14405 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14407 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14409 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
14411 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14412 typo in __i386__ conditional.
14414 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14416 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14419 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14421 Implement EFI and ACPI multiboot2 extensions.
14423 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14424 new tags as supported.
14425 (acpiv2_size): New function.
14426 (grub_multiboot_get_mbi_size): Take new tags into account.
14427 (grub_multiboot_make_mbi): Add new tags.
14428 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
14430 2010-09-21 Aleš Nesrsta <starous@volny.cz>
14432 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14433 Added missing configuration of USB device.
14435 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14437 * grub-core/normal/menu_entry.c (run): Make sure we always return
14440 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14442 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14443 NumberOfPages is UINT64 according to the UEFI specification, not
14444 UINTN. Fix printf format.
14446 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14448 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14449 `err' to grub_usb_err_t.
14450 Reported and tested by: KESHAV P.R.
14452 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14454 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14455 tpart non-const, so that we can assign to it. (Since this is a
14456 typedef, the constness refers to the pointer rather than what it
14459 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14461 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14462 $(top_srcdir)/grub-core/gnulib as well as
14463 $(top_builddir)/grub-core/gnulib.
14464 Reported by: KESHAV P.R.
14466 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14468 * util/grub-install.in: Fix the bootloader ID option to be
14469 consistently --bootloader-id, not --bootloader_id.
14470 Reported by: KESHAV P.R.
14472 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14474 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14475 check hash checksum." consistently translatable.
14477 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14479 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14482 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14484 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14485 (GRUB_MOD_INIT): Register sha1sum command.
14486 (GRUB_MOD_FINI): Unregister sha1sum command.
14488 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14490 Keep boot and grub directory names in sync with utils scripts
14492 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14493 * config.h.in: Add previous macros.
14494 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14495 * util/grub-install.in: Use $bootdir and $grubdir variables.
14497 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14499 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14500 convert partition names to disk names if the new `convert' parameter
14502 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14503 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14504 disk in its own right. This can happen with Xen disk images.
14506 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14508 * util/grub-editenv.c: Update strings to avoid warnings when generating
14510 * util/grub-setup.c: Likewise.
14512 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14514 * configure.ac: Change version to 1.99~beta0.
14516 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14518 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14520 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14522 * include/multiboot.h: Resynced with specification.
14523 * include/multiboot2.h: Likewise.
14525 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14527 Fix po directory handling.
14529 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14530 * grub-core/gnulib/Makefile.am: Import gettext module.
14531 * m4/gnulib-cache.m4: Likewise.
14532 * m4/gnulib-comp.m4: Likewise.
14533 * m4/gettext.m4: New file, from gnulib.
14534 * m4/glibc2.m4: Likewise.
14535 * m4/iconv.m4: Likewise.
14536 * m4/intdiv0.m4: Likewise.
14537 * m4/intl.m4: Likewise.
14538 * m4/intldir.m4: Likewise.
14539 * m4/intlmacosx.m4: Likewise.
14540 * m4/intmax.m4: Likewise.
14541 * m4/inttypes-pri.m4: Likewise.
14542 * m4/lcmessage.m4: Likewise.
14543 * m4/lib-ld.m4: Likewise.
14544 * m4/lib-link.m4: Likewise.
14545 * m4/lib-prefix.m4: Likewise.
14546 * m4/lock.m4: Likewise.
14547 * m4/nls.m4: Likewise.
14548 * m4/po.m4: Likewise.
14549 * m4/printf-posix.m4: Likewise.
14550 * m4/progtest.m4: Likewise.
14551 * m4/threadlib.m4: Likewise.
14552 * m4/uintmax_t.m4: Likewise.
14553 * m4/visibility.m4: Likewise.
14554 * po/Makefile.am: Remove.
14555 * po/Makefile.in.in: New file, from gettext.
14556 ($(DOMAIN).pot-update): Support POTFILES-shell.
14557 * po/Makevars: New file.
14558 * po/POTFILES-shell: Rename to ...
14559 * po/POTFILES-shell.in: ... this. Update.
14560 * po/POTFILES: Rename to ...
14561 * po/POTFILES.in: ... this. Update.
14562 * po/Rules-quot: New file, from gettext.
14563 * po/boldquot.sed: Likewise.
14564 * po/en@boldquot.header: Likewise.
14565 * po/en@quot.header: Likewise.
14566 * po/insert-header.sin: Likewise.
14567 * po/quot.sed: Likewise.
14568 * po/remove-potcdate.sin: Likewise.
14570 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14572 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14574 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14576 * util/grub.d/20_linux_xen.in: Use submenus.
14578 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14582 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14583 parameter submenu. All users updated.
14584 * grub-core/normal/main.c (free_menu): Rename to ...
14585 (grub_normal_free_menu): ... this. Made global.
14586 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14588 * grub-core/normal/menu_entry.c (screen): New field submenu.
14589 (make_screen): Set submenu.
14590 (run): Open new context if requested.
14591 * include/grub/menu.h (grub_menu_entry): New field submenu.
14592 * include/grub/normal.h (grub_normal_free_menu): New proto.
14594 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14596 Menu entries extractor.
14598 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14600 (GRUB_MOD_INIT): Register new variants.
14601 (GRUB_MOD_FINI): Unregister new variants.
14602 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14603 into grub_cmd_legacy_source.
14604 (grub_cmd_legacy_source): Implement extractor variants.
14605 (GRUB_MOD_INIT): Register new variants.
14606 (GRUB_MOD_FINI): Unregister new variants.
14607 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14609 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14610 search as an extractor.
14611 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14612 test as an extractor.
14613 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14615 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14616 (grub_env_new_context): New function.
14617 (grub_env_context_open): Likewise.
14618 (grub_env_extractor_open): Likewise.
14619 (grub_env_extractor_close): Likewise.
14620 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14621 grub_extractor_level.
14622 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14623 * include/grub/env.h (grub_env_extractor_open): New proto.
14624 (grub_env_extractor_close): Likewise.
14625 * include/grub/normal.h (grub_extractor_level): New external variable.
14627 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14629 Make cutmem accept a region specification.
14630 Suggested by: Samuel Thibault
14632 * grub-core/mmap/mmap.c (parsemem): New function.
14633 (grub_cmd_cutmem): Handle new arguments.
14635 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14637 New command cutmem.
14639 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14640 (GRUB_MOD_INIT): Register new command.
14641 (GRUB_MOD_FINI): Unregister new command.
14643 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14645 Support some annoying BSD and Minix subpartitions.
14647 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14648 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14649 Properly handle concatenation.
14650 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14651 * grub-core/normal/completion.c (iterate_partition): Likewise.
14652 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14653 contain partition. All users updated.
14654 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14656 (grub_openbsdlabel_partition_map): Likewise.
14657 (bsdlabel_partition_map_iterate): Rename to ..
14658 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14659 (bsdlabel_partition_map_iterate): New function.
14660 (netopenbsdlabel_partition_map_iterate): Likewise.
14661 (netbsdlabel_partition_map_iterate): Likewise.
14662 (openbsdlabel_partition_map_iterate): Likewise.
14663 (GRUB_MOD_INIT): Register new partmaps.
14664 (GRUB_MOD_FINI): Unregister new partmaps.
14665 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14666 (grub_partition_msdos_iterate): ... this. All users updated.
14667 Don't support embedding other than in a minix partition.
14668 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14670 * include/grub/partition.h (grub_partition): New field msdostype.
14671 * util/grub-install.in: Handle openbsd and netbsd types being in
14674 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14676 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14678 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14679 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14680 (mdraid09): ... this.
14681 (mdraid1x): New module.
14682 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14683 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14685 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14687 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14690 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14692 * grub-core/commands/efi/lsefimmap.c: Correct header.
14695 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14697 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14698 as printf format strings; the translations might contain '%' which
14699 could cause a crash.
14701 * util/grub-fstest.c (argp_parser): Likewise.
14702 * util/grub-setup.c (argp_parser): Likewise.
14705 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14707 Use argp in grub-fstest.
14709 * util/grub-fstest.c: Don't include getopt.h.
14711 (root): New variable.
14712 (args_count): Likewise.
14714 (num_disks): Likewise.
14715 (images): Likewise.
14717 (debug_str): Likewise.
14719 (options): Transformed to argp.
14721 (main): Split argument parsing into ...
14722 (argp_parser): ... this. Changed to argp format.
14723 (argp): New variable.
14724 (main): Use argp_parse.
14726 2010-09-20 Tristan Gingold <gingold@free.fr>
14727 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
14728 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14730 * grub-core/commands/efi/lsefimmap.c: New file.
14731 * grub-core/Makefile.core.def (lsefimmap): New module.
14732 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14734 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14736 Pause the execution (10s max) if any errors are displayed so the user
14737 has a chance to see them.
14739 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14740 (grub_print_error): Increment grub_err_printed_errors.
14741 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14742 execution if any errors were displayed.
14743 (show_menu): Remove old code for pause.
14744 * grub-core/normal/menu_entry.c (run): Likewise.
14745 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14747 (grub_normal_get_char_counter): Likewise.
14748 * include/grub/err.h (grub_err_printed_errors): New external variable.
14749 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14751 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14753 Support multiboot VBE info.
14755 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14756 Take VBE info into account.
14757 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14758 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14759 Call fill_vbe_info when appropriate.
14760 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14761 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14763 (grub_multiboot_get_mbi_size): Take new tags into account.
14764 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14765 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14766 Call fill_vbe_tag when appropriate.
14767 (grub_multiboot_make_mbi): Properly align tags.
14768 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14770 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14772 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14774 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14776 Suport manual terminal geometry specification.
14778 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14779 Save state in grub_ofconsole_terminfo_output.
14780 (grub_ofconsole_term): Use grub_terminfo_getwh.
14781 (grub_ofconsole_getwh): Removed.
14782 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14783 (grub_serial_term): Use grub_terminfo_getwh.
14784 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14785 (options): New struct.
14786 (OPTION_*): New enum.
14787 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14788 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14790 (grub_terminfo_getwh): New proto.
14791 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14793 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14795 Handle legacy "terminal" command.
14797 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14799 (legacy_commands): Add terminal and title.
14800 (grub_legacy_parse): Handle terminal. Simplify title handling.
14802 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14804 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14805 parameters overflow.
14807 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14809 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14812 * docs/grub.texi (Shell-like scripting): Document `!'.
14813 (Network): Simplify using new i386-pc-pxe format. Mention
14818 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14820 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14821 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14824 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14826 * grub-core/commands/efi/lsefisystab.c: Correct header.
14827 * grub-core/commands/efi/lssal.c: Likewise.
14828 * grub-core/commands/testload.c: Likewise.
14830 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14832 * util/grub-mkrescue.in: Add explicit root argument to --set to
14833 prevent the UUID being interpreted as an argument to --set (matches
14834 previous change to prepare_grub_to_access_device).
14836 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14838 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14839 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14840 the verbosity of later #ifs.
14841 (find_partition_start): Define this function on FreeBSD too.
14842 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14844 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14847 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14849 * util/grub-editenv.c: Use argp instead of getopt.
14851 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14853 * util/grub-setup.c: Use argp instead of getopt.
14855 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14857 Use gnulib-tool to create gnulib source files.
14859 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14860 grub-core/gnulib directories
14861 * .bzignore: Add **/.deps and autogenerated gnulib files
14862 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14863 of gnulib macros, add grub-core/gnulib/Makefile
14864 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14865 include m4 directory to aclocal.
14866 * Makefile.util.def: Remove direct compilation of gnulib source files
14867 and use the new grub-core/gnulib/libgnu.a.
14868 * build-aux/config.rpath: move config.rpath from top directory to
14870 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14872 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14873 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14874 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14876 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14879 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14881 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14882 grub-core/genmod.sh and grub-core/gensyminfo.sh
14884 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14886 Add a test for echo command options.
14888 * tests/grub_cmd_echo.in: New test.
14889 * Makefile.util.def: Rules for new test.
14891 2010-09-20 Szymon Janc <szymon@janc.net.pl>
14893 Remove crc.mod and move crc command to hashsum.mod.
14894 Remove lib/crc.c - users updated to use gcrypt implementation.
14896 * grub-core/commands/crc.c: Removed.
14897 * grub-core/Makefile.core.def (crc): Module removed.
14898 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14899 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14900 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14901 * grub-core/lib/crc.c: Removed.
14902 * include/grub/lib/crc.h: Removed.
14903 * Makefile.util.def (crc): Remove lib/crc.c
14904 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14905 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14906 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14907 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14908 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14909 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14911 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14913 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
14915 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14917 Split config.h for util and core.
14919 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
14920 (ADDR32): Likewise.
14921 (DATA32): Likewise.
14922 (BSS_START_SYMBOL): Likewise.
14923 (END_SYMBOL): Likewise.
14924 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
14925 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
14926 * config.h.in: New file.
14927 * configure.ac: Use config-util.h as config define file.
14928 Rename MACHINE into GRUB_MACHINE. All users updated.
14929 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
14931 (NESTED_FUNC_ATTR): Likewise.
14932 Substitue new variables.
14933 (COND_HAVE_ASM_USCORE): New conditional.
14934 * grub-core/Makefile.am (ASM_PREFIX): New variable.
14935 (kernel_syms.lst): Use ASM_PREFIX.
14936 * grub-core/kern/emu/console.c: Include config-util.h.
14937 * grub-core/kern/emu/misc.c: Likewise.
14938 * grub-core/kern/emu/mm.c: Likewise.
14939 * include/grub/emu/misc.h: Likewise.
14940 * include/grub/libgcc.h: Likewise.
14942 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14944 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
14946 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
14947 Fix GRUB_TERM_KEY_* constants usage.
14948 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
14950 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14952 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
14954 * grub-core/bus/usb/uhci.c: Remove empty define.
14955 (grub_uhci_check_transfer): Add missing cast.
14956 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
14958 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
14960 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
14962 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14964 * grub-core/Makefile.core.def (legacycfg): Add
14965 lib/i386/pc/vesa_modes_table.c on emu.
14967 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14969 Reduce number of temporary files generated by build system.
14971 * grub-core/gencmdlist.sh: Removed.
14972 * grub-core/genfslist.sh: Removed.
14973 * grub-core/genhandlerlist.sh: Removed.
14974 * grub-core/genmodsrc.sh: Removed.
14975 * grub-core/genpartmaplist.sh: Removed.
14976 * grub-core/genparttoollist.sh: Removed.
14977 * grub-core/gentermiinallist.sh: Removed.
14978 * grub-core/genvideolist.sh: Removed.
14980 * grub-core/genmod.sh.in: New file.
14981 * grub-core/gensyminfo.sh.in: New file.
14983 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
14984 * conf/Makefile.extra-dist: Update with new files.
14985 * gentpl.py: Remove rules related to unnecessary temporary files.
14986 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
14988 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
14990 * grub-core/bus/usb/uhci.c: Remove empty #define.
14991 * grub-core/genmoddep.awk: Updated with new syminfo format.
14992 * util/bash-completion.d/Makefile.am: Add config.log to
14995 2010-09-19 Yves Blusseau <blusseau@zetam.org>
14997 * Makefile.util.def: Add forgotten $(LIBINTL) library.
14999 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15001 * util/grub-mkconfig.in: Check the config script for syntax errors
15004 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
15005 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15007 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15009 * util/grub-install.in: Add EFI and IEEE1275 support.
15010 * util/i386/efi/grub-install.in: Removed.
15011 * util/ieee1275/grub-install.in: Likewise.
15013 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15015 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15016 (grub_cmd_cmosclean): Likewise.
15017 (GRUB_MOD_INIT): Register command cmosclean.
15018 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15019 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15021 2010-09-18 Carles Pina i Estany <carles@pina.cat>
15022 2010-09-18 Aleš Nesrsta <starous@volny.cz>
15023 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15025 Add keyboard layouts support.
15027 * Makefile.util.def (grub-mklayout): New file.
15028 (grub-kbdcomp): New script.
15029 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15030 Add keyboard_layouts.h.
15031 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15032 commands/boot.c on yeeloong.
15033 (keylayouts): New module.
15034 * grub-core/bus/usb/ohci.c
15035 * grub-core/bus/usb/uhci.c
15036 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15037 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15038 (attach_root_port): Likewise.
15039 (poll_nonroot_hub): Likewise.
15040 (grub_usb_poll_devices): Likewise.
15041 (detach_device): Close transfer.
15042 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15044 (grub_usb_bulk_setup_readwrite): Likewise.
15045 (grub_usb_bulk_finish_readwrite): Likewise.
15046 * grub-core/commands/keylayouts.c: New file.
15047 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15048 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15050 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15051 support scancode 2.
15052 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15053 * include/grub/keyboard_layouts.h: New file.
15054 * util/grub-mklayout.c: New file.
15055 * util/grub-kbdcomp.in: Likewise.
15057 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15059 Unify memory types.
15061 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15062 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15064 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15065 (grub_upper_mem): Likewise.
15066 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15067 * include/grub/memory.h (grub_memory_type_t): New enum.
15070 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15072 * grub-core/Makefile.core.def (lsapm): New module.
15073 * grub-core/commands/i386/pc/lsapm.c: New file.
15074 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15075 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15077 * include/grub/i386/pc/apm.h: New file.
15078 * include/multiboot.h (multiboot_apm_info): New struct.
15080 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15082 GRUB-legacy configuration file support.
15084 * Makefile.util.def (grub-menulst2cfg): New util.
15085 * docs/man/grub-menulst2cfg.h2m: New file.
15086 * grub-core/Makefile.core.def (legacycfg): New module.
15087 * grub-core/commands/legacycfg.c: New file.
15088 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15089 (grub_normal_add_menu_entry): ... this.
15090 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15091 (grub_normal_set_password): ...this.
15092 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15093 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15094 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15095 * grub-core/lib/legacy_parse.c: New file.
15096 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15097 * include/grub/i386/pc/vesa_modes_table.h: New file.
15098 * include/grub/legacy_parse.h: Likewise.
15099 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15100 * util/grub-menulst2cfg.c: New file.
15102 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15104 * grub-core/kern/emu/hostdisk.c
15105 (convert_system_partition_to_system_disk): Initialise node.
15107 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15109 * grub-core/kern/emu/hostdisk.c
15110 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15112 Reported and based on patch by: Modestas Vainius.
15114 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15116 Fix DM-RAID probing with recent versions of device-mapper udev
15119 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15120 canonicalise device paths under /dev/mapper/.
15121 (convert_system_partition_to_system_disk): Compare the
15122 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15123 path, since device nodes under /dev/mapper/ are often symlinks.
15125 2010-09-17 Yves Blusseau <blusseau@zetam.org>
15127 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15129 2010-09-16 Yves Blusseau <blusseau@zetam.org>
15131 * configure.ac: Avoid some annoying error messages if freetype-config
15132 program is not found.
15134 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15136 Support RAID on virtio devices, and others.
15138 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15140 [__MINGW32__] (grub_find_device): ... this.
15141 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15142 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15143 reasonable default if dir is NULL.
15144 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15146 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15147 (grub_guess_root_device): Update callers.
15148 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15150 * util/raid.c (grub_util_getdiskname): Remove.
15151 (grub_util_raid_getmembers): Use grub_find_device rather than
15152 grub_util_getdiskname.
15154 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15156 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15157 needing to be compiled with serial support.
15158 (ls): Indicate that multiple files are accepted.
15159 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15160 indicate that multiple files are accepted.
15162 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15164 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15165 libgrub_a_init.c, and util/bash-completion.d/grub.
15167 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15169 * util/grub-setup.c (setup): Fix incorrect container semantics.
15171 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15173 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15175 Reported by: J. Nick Terry
15177 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15179 Move embedding routines to partmap sources files.
15181 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15182 [GRUB_UTIL]: New variable.
15183 (gpt_partition_map_iterate): Set part.parent.
15184 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15185 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15186 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15188 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15189 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15190 (grub_partition_map) [GRUB_UTIL]: New field embed.
15191 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15192 (setup): Use ->embed.
15194 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15196 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15198 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15199 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15201 2010-09-15 Yves Blusseau <blusseau@zetam.org>
15203 Add function to get completions from usage.
15205 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15206 completions from usage. Use LC_ALL=C to get options properly.
15208 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15210 * grub-core/gnulib/basename-lgpl.c: Imported.
15211 * grub-core/gnulib/basename.c: Likewise.
15212 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15213 * grub-core/gnulib/dirname.c: Likewise.
15214 * grub-core/gnulib/dirname.h: Likewise.
15215 * grub-core/gnulib/stripslash.c: Likewise.
15217 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15219 * grub-core/gnulib/error.c: Resynced.
15220 * grub-core/gnulib/getopt.c: Likewise.
15221 * grub-core/gnulib/getopt_int.h: Likewise.
15222 * grub-core/gnulib/regex.h: Likewise.
15223 * grub-core/gnulib/regex_internal.c: Likewise.
15224 * grub-core/gnulib/regex_internal.h: Likewise.
15226 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15228 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15229 CRC calculations and validity checks.
15230 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15233 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15235 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15237 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15239 Fix incorrect echo options handling.
15240 Reported by: Yves Blusseau.
15242 * include/grub/command.h (grub_command_flags_t): New flags
15243 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15244 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15245 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15247 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15249 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15251 (GRUB_COMMAND_FLAG_MENU): Likewise.
15252 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15253 (GRUB_COMMAND_FLAG_TITLE): Removed.
15254 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15255 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15256 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15257 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15258 (grub_command_flags_t): New enum. All users updated.
15260 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15262 Fix solaris compilation.
15264 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15265 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15266 (grub-emu-list): Likewise.
15268 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15270 Remove deprecated root command.
15272 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15275 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15277 * util/i386/pc/grub-setup.c: Merge this ...
15278 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15279 * util/grub-setup.c: ... into this.
15280 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15283 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15285 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15288 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15290 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15293 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15295 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15296 explicit root argument to set to prevent UUID to be interpreted as
15299 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15301 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15303 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15305 Don't export grub_gate_a20.
15307 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15308 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15310 (grub_gate_a20): ... this. All users updated.
15311 * include/grub/i386/pc/init.h: Removed. All users updated.
15313 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15315 Create euro.pf2 which supports most European languages.
15317 * Makefile.am (grubdata_DATA): Add euro.pf2.
15318 (euro.pf2): New target.
15319 (CLEANFILES): Add euro.pf2.
15321 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15323 * configure.ac: Disable emu-usb by default to prevent inadvertent
15326 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15328 Disable usbserial on grub-emu since our libusb code isn't good enough
15331 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15332 (usbserial_pl2303): Likewise.
15333 (usbserial_ftdi): Likewise.
15335 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15337 * include/grub/disk.h (grub_disk): Remove has_partitions.
15339 * disk/loopback.c (grub_loopback): Remove has_partitions.
15341 (options): Remove partitions. All users updated.
15342 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15343 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15344 actual partition table is found.
15346 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15348 Remove readability checks (too many false negatives).
15350 * util/grub-install.in: Remove readability checks.
15351 * util/grub-mkconfig.in: Likewise.
15352 * util/grub.d/10_hurd.in: Likewise.
15353 * util/grub.d/10_kfreebsd.in: Likewise.
15354 * util/grub.d/10_linux.in: Likewise.
15355 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15358 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15360 Enable acpi shutdown on all ACPI platforms.
15362 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15363 on coreboo, multiboot and EFI.
15364 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15365 (grub_acpi_halt): Likewise.
15366 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15367 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15368 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15369 * grub-core/lib/i386/halt.c (grub_halt)
15370 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15372 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15374 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15377 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15379 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15380 * grub-core/video/efi_uga.c: Likewise.
15382 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15384 Filter devaliases and never open same device twice.
15386 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15387 (last_ihandle): Likewise.
15388 (ofdisk_hash_ent): New member shortest.
15389 (ofdisk_hash_add): Add canonical path too.
15390 (scan): New function.
15391 (grub_ofdisk_iterate): Iterate over hashed entries.
15392 (compute_dev_path): Don't add :0.
15393 (grub_ofdisk_open): Don't really open the disk.
15394 (grub_ofdisk_close): Avoid closing unrelated disk.
15395 (grub_ofdisk_read): Implement reopen logic.
15396 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15398 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15401 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15405 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15406 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15407 right address. Add sparc64_ieee1275_ldflags.
15408 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15409 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15410 to grub_host_to_target_addr
15411 (load_image): Likewise.
15413 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15415 * grub-core/normal/completion.c (complete_file): Handle device
15417 Fix based on patch by Doug Nazar.
15419 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15421 grub-mknetdir script.
15423 * Makefile.util.def (grub-mknetdir): New module.
15424 * tests/util/grub-shell.in: Support boot=net
15425 * util/grub-mknetdir.in: New file.
15427 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15429 videoinfo on non-vbe.
15431 * grub-core/Makefile.core.def (vbeinfo): Removed.
15432 (vbetest): Removed.
15433 (videoinfo): New module.
15434 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15435 * grub-core/commands/i386/pc/vbetest.c: Removed.
15436 * grub-core/commands/videoinfo.c: New file.
15437 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15439 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15441 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15442 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15443 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15444 mode_number. New parameter mode. All users updated.
15445 (grub_video_gop_iterate): New function.
15446 (grub_video_efi_gop): New member iterate.
15447 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15448 (grub_vbe_set_video_mode): Remove setting useless fields.
15449 (vbe2videoinfo): New function.
15450 (grub_video_vbe_iterate): Likewise.
15451 (grub_video_vbe_setup): Use vbe2videoinfo.
15452 (grub_video_vbe_print_adapter_specific_info): New function.
15453 (grub_video_vbe_adapter): New fields iterate and
15454 print_adapter_specific_info.
15455 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15457 (grub_video_mode_info): New field mode_number.
15458 (grub_video_adapter): New fields iterate and
15459 print_adapter_specific_info.
15461 2010-09-13 Tristan Gingold <gingold@free.fr>
15462 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
15463 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15465 * grub-core/commands/efi/lsefisystab.c: New file.
15466 * grub-core/commands/efi/lssal.c: Likewise.
15467 * grub-core/Makefile.core.def (lsacpi): New module.
15468 (lsefisystab): Likewise.
15469 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15470 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15471 (grub_efi_sal_system_table): New struct.
15472 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15473 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15474 (grub_efi_sal_system_table_platform_features): Likewise.
15475 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15476 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15477 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15478 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15480 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15482 Support explicit user claim that a device is BIOS-visible.
15484 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15485 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15486 * grub-core/kern/emu/hostdisk.c
15487 (convert_system_partition_to_system_disk): Support mdX.
15488 (find_system_device): New parameter add. All users updated.
15489 (grub_util_biosdisk_is_present): New function.
15490 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15493 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15495 Search hints support.
15497 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15500 2010-09-13 Yves Blusseau <blusseau@zetam.org>
15502 Bash completion script for util commands
15504 * Makefile.am: Add util/bash-completion.d directory
15505 * configure.ac: Likewise.
15506 * util/bash-completion.d/Makefile.am: New file.
15507 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15509 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15511 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15512 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15513 Reported by: Yves Blusseau.
15515 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15517 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15518 partition size and offset.
15520 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15522 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15524 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15526 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15528 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15530 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15531 (grub_xvasprintf): Likewise.
15533 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15535 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15537 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15539 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15540 args ending with NULL.
15542 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15544 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15547 2010-09-11 Szymon Janc <szymon@janc.net.pl>
15549 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15551 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15553 Shutdown using ACPI.
15555 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15556 * grub-core/commands/acpihalt.c: New file.
15557 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15558 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15559 (grub_acpi_halt): New proto.
15560 (GRUB_ACPI_SLP_EN): New const.
15561 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15562 (GRUB_ACPI_OPCODE_*): New enum.
15563 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15565 2010-09-11 Tristan Gingold <gingold@free.fr>
15566 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
15567 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15569 * commands/lsacpi.c: New file.
15570 * grub-core/Makefile.core.def (lsacpi): New module.
15571 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15572 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15573 (grub_acpi_madt_entry_header): New struct.
15574 (grub_acpi_madt): Likewise.
15575 (grub_acpi_madt_entry_interrupt_override): Likewise.
15576 (grub_acpi_madt_entry_sapic): Likewise.
15577 (grub_acpi_madt_entry_lsapic): Likewise.
15578 (grub_acpi_madt_entry_platform_int_source): Likewise.
15579 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15580 (PRIuGRUB_UINT32_T): Likewise.
15581 (PRIxGRUB_UINT64_T): Likewise.
15583 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15585 Implement loading palette on ieee1275_fb.
15587 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15588 (have_setcolors): Likewise.
15589 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15590 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15591 (grub_video_ieee1275_set_palette): Implement.
15593 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15594 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
15596 * util/grub-install.in (grub_partition): New variable.
15597 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15598 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15599 Fixes a bug reported by Yves Blusseau.
15601 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15605 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15606 =grub_cpu_flush_cache on all mips and not only yeeloong.
15607 * configure.ac (COND_mips): New conditional.
15608 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15610 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15611 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15612 [GRUB_LINKER_HAVE_INIT]: New function.
15613 (grub_emu_post_init): Likewise.
15614 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15615 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15616 * include/grub/cache.h (_mips): Include mips/cache.h.
15617 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15618 LVM and RAID prototypes.
15619 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15620 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15623 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15625 * util/grub-install.in: Don't try to verify core.img until after
15626 running grub-mkimage to create it.
15628 2010-09-10 Robert Millan <rmh@gnu.org>
15630 * util/grub.d/10_hurd.in: Add misc readability checks.
15631 * util/grub.d/10_kfreebsd.in: Likewise.
15632 * util/grub.d/10_linux.in: Likewise.
15634 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15636 * util/grub-install.in: ${imgext} won't be defined here until the
15637 install branch is merged. For the meantime, only verify core.img on
15638 i386-pc and sparc64-ieee1275 platforms.
15640 2010-09-10 Robert Millan <rmh@gnu.org>
15642 Solaris support in grub_find_zpool_from_dir(). Thanks
15643 Seth Goldberg for referring to getextmntent() facility.
15645 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15647 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15649 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15650 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15651 method for finding zpool name.
15653 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15655 grub-fstest needs the host and hostfs modules while other utilities
15656 actively require those modules to be absent, so grub-fstest needs
15657 its own initialisation and finalisation code.
15659 * Makefile.am (grub_fstest.pp): New target.
15660 (grub_fstest_init.lst): Likewise.
15661 (grub_fstest_init.c): Likewise.
15662 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15664 2010-09-10 Robert Millan <rmh@gnu.org>
15666 * configure.ac: Check for `struct statfs.f_fstypename' and
15667 `struct statfs.f_mntfromname'.
15669 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15670 kFreeBSD-specific code.
15672 2010-09-10 Robert Millan <rmh@gnu.org>
15674 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15675 on ZFS. Now non-main filesystems are supported as / too.
15677 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
15679 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15680 and grub-core/disk/host.c to ...
15681 (grub-fstest): ... here. Having the host disk implementation
15682 present confuses grub-probe and other utility programs.
15684 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15685 when writing to a file, not when writing to stdout.
15687 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15689 * tests/partmap_test.in: New test for partitions.
15690 * Makefile.util.def: Rules for new test.
15692 2010-09-09 Robert Millan <rmh@gnu.org>
15694 * util/grub-probe.c (probe): Fix a pair of unhandled error
15697 2010-09-09 Robert Millan <rmh@gnu.org>
15699 Basic Btrfs support (detection and UUID).
15701 * grub-core/fs/btrfs.c: New file.
15702 * Makefile.util.def (library): Register btrfs.c.
15703 * grub-core/Makefile.core.def: Likewise.
15705 2010-09-08 Robert Millan <rmh@gnu.org>
15707 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15708 with (optional) parameters to specify device and relative path.
15709 * util/grub-install.in: Use is_path_readable_by_grub() to
15710 verify readability of a few critical files.
15711 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15712 verify readability of grub.cfg.new.
15714 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15716 Split minix.mod into minix.mod and minix2.mod.
15718 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15719 * grub-core/Makefile.core.def (minix2): New module.
15720 * grub-core/fs/minix.c: Use definitions instead of runtime version
15722 * grub-core/fs/minix2.c: New file.
15724 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15726 Add new --boot-directory option to replace --root-directory
15728 * util/grub-install.in: Add new --boot-directory option
15729 * util/grub-reboot.in: Likewise.
15730 * util/grub-set-default.in: Likewise.
15732 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15734 * util/grub-mkconfig.in: Use new variable.
15736 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15738 * configure.ac: Define some useful variables.
15740 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15742 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15743 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15744 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15745 Use terminfo and don't use cursor-on/cursor-off unless it's known
15747 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15748 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15750 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
15752 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15753 starts with "(,", fill the drive containing the loaded image in
15754 between those two characters, but expect that a full partition
15755 specification including partition map names will follow.
15757 2010-09-08 Robert Millan <rmh@gnu.org>
15759 * configure.ac: Remove `--enable-grub-fstest' option.
15760 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15762 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15763 `grub-fstest' instead of `grub-probe' for readability verification.
15764 * util/grub-probe.c (probe): Remove readability verification kludge.
15766 2010-09-08 Robert Millan <rmh@gnu.org>
15768 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15769 initializing `GRUB_FS'.
15771 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15773 Not command (!) support to GRUB script.
15775 * tests/grub_script_not.in: New test.
15776 * Makefile.util.def: Rules for new test.
15778 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15779 ! command as a special case.
15780 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15782 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15784 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15787 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15789 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15791 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15793 * docs/grub.texi (Shell-like scripting): Documentation for break,
15794 continue, shift and return commands.
15796 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15798 Rename CD-ROM to cd on BIOS.
15800 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15802 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15804 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15806 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15807 * util/grub-probe.c (main): Likewise.
15808 * util/i386/pc/grub-setup.c (main): Likewise.
15809 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15810 Reported and debugged by: alexxy
15812 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15814 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15817 2010-09-05 Jo Shields <directhex@apebox.org>
15819 * util/grub.d/30_os-prober.in: Add missing classes.
15821 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15823 * docs/grub.texi (Theme file format): Document new position format.
15825 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15827 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15828 a table. Use @code instead of @verbatim.
15830 2010-09-05 Colin D Bennett <colin@gibibit.com>
15832 Gfxmenu documentation.
15834 * docs/grub.texi (Theme file format): New chapter.
15836 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15838 * grub-core/Makefile.core.def (xzio): New module.
15839 * grub-core/io/xzio.c: New file.
15840 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15841 * grub-core/lib/xzembed/xz_config.h: Likewise.
15842 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15843 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15844 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15845 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15846 * grub-core/lib/xzembed/xz_private.h: Likewise.
15847 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15848 * include/grub/file.h (grub_file_filter_id): New compression filter
15849 GRUB_FILE_FILTER_XZIO.
15851 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15853 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15854 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15857 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15859 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15860 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15862 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15864 Uncompressed checksum support.
15866 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15867 (check_list): New parameter uncompress.
15868 (grub_cmd_hashsum): Handle --uncompress.
15870 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15872 Reintroduce testload.
15874 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15876 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15877 (GRUB_MOD_INIT): New function.
15878 (GRUB_MOD_FINI): Likewise.
15879 * grub-core/Makefile.core.def (testload): New module.
15881 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15883 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15884 (uint8_t): New type.
15885 (uint16_t): Likewise.
15886 (uint32_t): Likewise.
15887 (uint64_t): Likewise.
15889 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15891 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15893 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15895 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15897 (grub_gzfile_open): Removed. All users updated.
15898 (GRUB_MOD_INIT): New function.
15899 (GRUB_MOD_FINI): Likewise.
15900 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15901 (grub_file_filters_enabled): Likewise.
15902 (grub_file_open): Handle filters.
15903 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15904 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15905 * include/grub/file.h (grub_file_filter_id_t): New type.
15906 (grub_file_filter_t): Likewise.
15907 (grub_file_filters_all): New extern variable.
15908 (grub_file_filters_enabled): Likewise.
15909 (grub_file_filter_register): New inline function.
15910 (grub_file_filter_unregister): Likewise.
15911 (grub_file_filter_disable): Likewise.
15912 (grub_file_filter_disable_compression): Likewise.
15913 * include/grub/gzio.h: Removed.
15915 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15917 Filename expansion support for wildcards in GRUB script.
15919 * tests/grub_script_expansion.in: New test.
15920 * Makefile.util.def: Rule for new test.
15922 * grub-core/commands/wildcard.c: New file, implements filename
15923 expansion support for GRUB script.
15924 * grub-core/Makefile.core.def: Rule update for regexp.mod.
15925 * grub-core/script/argv.c: Cosmetic changes.
15926 * grub-core/script/execute.c (grub_script_arglist_to_argv):
15927 Refactored to perform wildcard expansion on arguments.
15928 * include/grub/script_sh.h (grub_script_wildcard_translator): New
15931 * tests/util/grub-shell.in: Fix quoting for read input.
15933 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15935 Support for updating environment variables with matched substrings
15938 * tests/grub_cmd_regexp.in: New test.
15939 * Makefile.util.def: Rule for new test.
15941 * grub-core/commands/regexp.c: New option -s to update environment
15942 variables with regexp matches.
15944 2010-09-04 Szymon Janc <szymon@janc.net.pl>
15946 * include/grub/file.h (grub_file): New member not_easly_seekable.
15947 (grub_file_seekable): New inline function.
15948 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
15950 (grub_gzio_open): Set not_easly_seekable.
15951 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
15952 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
15954 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15956 Support for options to appear multiple times on cmdline.
15958 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
15959 * grub-core/commands/extcmd.c: Support for repeatable option.
15960 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
15961 repeatable option support.
15963 Refactor menuentry into a regular command.
15965 * grub-core/commands/menuentry.c: New file, menuentry command
15967 * grub-core/Makefile.core.def: Rule update for normal.mod.
15968 * grub-core/normal/main.c: Moved menuentry creation to
15969 grub-core/commands/menuentry.c.
15970 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
15971 (grub_menu_execute_entry_real): Removed.
15972 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
15974 (grub_script_execute_menuentry): Removed.
15975 * grub-core/script/parser.y (menuentry): Removed.
15976 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
15977 * grub-core/script/yylex.l (menuentry): Removed.
15978 * include/grub/menu.h (grub_menu_init): New prototype.
15979 (grub_menu_fini): New prototype.
15980 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
15981 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
15982 (grub_script_execute_sourcecode): New prototype.
15984 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15986 "return" command for GRUB script functions.
15988 * tests/grub_script_return.in: New test.
15989 * Makefile.util.def: Rules for new test.
15991 * grub-core/script/execute.c (grub_script_return): New function.
15992 * grub-core/script/main.c: Register/unregister return commaond.
15993 * include/grub/script_sh.h (grub_script_return): New prototype.
15995 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15997 "setparams" command to update positional parameters.
15999 * tests/grub_script_setparams.in: New test.
16000 * Makefile.util.def: Rules for new test.
16002 * grub-core/script/argv.c (grub_script_argv_make): New function.
16003 * grub-core/script/execute.c (replace_scope): New function.
16004 (grub_script_setparams): New function.
16005 * grub-core/script/lexer.c: Remove unused variables.
16006 * grub-core/script/main.c: Register/unregister setparams command.
16007 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16008 (grub_script_setparams): New prototype.
16010 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16012 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16015 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16017 Support for passing block of commands as an argument to extcmds.
16019 * Makefile.util.def: Rules for new test.
16020 * tests/grub_script_blockarg.in: New test.
16021 * grub-core/tests/test_blockarg.c: New file, block argument
16022 command used in the test.
16024 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16025 (grub_register_extcmd_prio): New function prototype.
16026 (grub_extcmd_dispatcher): New function prototype.
16027 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16029 * include/grub/script_sh.h (struct grub_script): New members
16030 `children', `next_siblings' and `refcnt' for block arguments and
16031 reference counting.
16032 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16033 (grub_script_arg): New member `script' for block argument.
16034 (grub_script_argv): New member `script' for block argument.
16035 (grub_parser_param): New member `scripts' for block argument.
16036 (grub_script_mem_free): New extern function prototype.
16037 (grub_script_ref): New function prototype.
16038 (grub_script_unref): New function prototype.
16040 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16041 extcmd form to support block arguments.
16042 * grub-core/script/argv.c: Block arguments support.
16043 * grub-core/script/execute.c: Likewise.
16044 * grub-core/script/lexer.c: Likewise.
16045 * grub-core/script/main.c: Likewise.
16046 * grub-core/script/script.c: Likewise.
16047 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16050 * grub-core/commands/acpi.c: Update extcmd implementations with
16051 grub_extcmd_context_t.
16052 * grub-core/commands/cat.c: Likewise.
16053 * grub-core/commands/echo.c: Likewise.
16054 * grub-core/commands/extcmd.c: Likewise.
16055 * grub-core/commands/hashsum.c: Likewise.
16056 * grub-core/commands/hdparm.c: Likewise.
16057 * grub-core/commands/help.c: Likewise.
16058 * grub-core/commands/hexdump.c: Likewise.
16059 * grub-core/commands/i386/cpuid.c: Likewise.
16060 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16061 * grub-core/commands/i386/pc/halt.c: Likewise.
16062 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16063 * grub-core/commands/iorw.c: Likewise.
16064 * grub-core/commands/keystatus.c: Likewise.
16065 * grub-core/commands/loadenv.c: Likewise.
16066 * grub-core/commands/ls.c: Likewise.
16067 * grub-core/commands/lspci.c: Likewise.
16068 * grub-core/commands/memrw.c: Likewise.
16069 * grub-core/commands/probe.c: Likewise.
16070 * grub-core/commands/search_wrap.c: Likewise.
16071 * grub-core/commands/setpci.c: Likewise.
16072 * grub-core/commands/sleep.c: Likewise.
16073 * grub-core/disk/loopback.c: Likewise.
16074 * grub-core/hello/hello.c: Likewise.
16075 * grub-core/loader/i386/bsd.c: Likewise.
16076 * grub-core/loader/xnu.c: Likewise.
16077 * grub-core/term/gfxterm.c: Likewise.
16078 * grub-core/term/serial.c: Likewise.
16079 * grub-core/tests/lib/functional_test.c: Likewise.
16081 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16083 Multi-line quoted strings support.
16085 * grub-core/script/lexer.c (append_newline): Removed.
16086 (grub_script_lexer_yywrap): Refactored.
16087 (grub_script_lexer_init): Refactored.
16088 * grub-core/script/yylex.l (yywrap): New function.
16089 (grub_lexer_resplit): New function.
16090 (grub_lexer_unput): New function.
16091 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16093 * tests/grub_script_echo1.in: Added few more testcases.
16095 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16097 * grub-core/kern/misc.c: Don't add abort alias in utils.
16098 Reported by: echoline.
16100 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16102 Add missing files into "make dist" tarball for other platforms.
16104 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16105 * conf/Makefile.common (dist_noinst_DATA): New variable.
16106 * conf/Makefile.extra-dist: Added missing make dist files.
16107 * grub-core/Makefile.core.def: Likewise.
16109 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16111 Compress grub_prefix.
16113 * grub-core/boot/i386/pc/lnxboot.S: Use
16114 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16115 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16116 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16117 GRUB_MACHINE_PREFIX_END. All users updated.
16118 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16119 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16121 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16122 * util/grub-mkimage.c (image_target_desc): Change data_end to
16123 prefix_end. All users updated.
16125 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16127 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16129 (grub_openbsd_boot): Likewise.
16130 (grub_netbsd_boot): Likewise.
16131 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16132 (grub_xnu_boot): Likewise.
16134 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16136 * configure.ac: Clean LIBS variable after tests.
16138 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16140 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16142 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16144 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16145 echo if libdevmapper will be used.
16147 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16149 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16150 constant for the same file.
16152 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16154 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16156 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16158 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16161 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16163 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16164 required by the boot protocol.
16166 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16167 ebp and edi members.
16168 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16169 state.ebp and state.edi.
16170 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16171 %ebp and %edi according to grub_relocator32_ebp and
16172 grub_relocator32_edi respectively.
16173 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16176 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16178 Add i386-pc-pxe image target.
16180 * util/grub-mkimage.c (image_target_desc): New enum value
16182 (image_targets): New target i386-pc-pxe.
16183 (generate_image): Handle i386-pc-pxe image.
16185 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16189 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16190 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16192 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16193 (grub_pxe_pxenv): Correct type.
16195 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16197 * NEWS: Document most of the important changes since 1.98.
16199 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16201 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16202 generated manual page) a little.
16204 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16206 * docs/grub.texi: Add myself as an author.
16208 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16210 * Makefile.util.def (libgrub.a): Add missing sunpc.
16211 Reported by: Seth Goldberg.
16213 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16215 Interrupt wrapping and code simplifications.
16217 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16218 x86_noieee1275 which are functionaly equivalent in this case.
16219 (grub-install): Make source on each platform explicit. Enable on
16221 * gentpl.py (x86_efi_pc): Removed group.
16222 (x86_noefi): Likewise.
16223 (i386_noefi): Likewise.
16224 (x86_noieee1275): Likewise.
16225 (i386_noieee1275): Likewise.
16226 (i386_noefi_noieee1275): Likewise.
16227 (i386_pc_qemu_coreboot): Likewise.
16228 (i386_coreboot_multiboot): Likewise.
16229 (i386_pc_coreboot_multiboot_qemu): Likewise.
16230 (x86_noefi_mips): Likewise.
16231 (noieee1275): Likewise.
16232 (ieee1275_mips): Likewise.
16233 (noemu_noieee1275): Likewise.
16236 (videoinkernel): Likewise.
16237 (videomodules): Likewise.
16238 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
16239 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16240 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16241 include/grub/loader.h, include/grub/msdos_partition.h,
16242 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16243 include/grub/machine/console.h, include/grub/machine/vga.h,
16244 include/grub/machine/vbe.h, include/grub/machine/init.h,
16245 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16246 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
16247 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
16248 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16249 * grub-core/Makefile.core.def (kernel): Explicit the source for
16250 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16251 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16252 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16253 Use videoinkernel tag.
16254 (usb): Enable on all usb.
16255 (usbserial_common): Likewise.
16256 (usbserial_pl2303): Likewise.
16257 (usbserial_ftdi): Likewise.
16258 (uhci): Enable on all x86.
16259 (ohci): Enable on all pci.
16260 (cmostest): Enable on all CMOS.
16261 (acpi): Include commands/acpi.c on all platforms.
16262 (halt): Add relevant lib/*/halt.c.
16263 (hdparm): Enable on all pci.
16265 (usbtest): Enable on all usb.
16266 (ata): Enable on all pci.
16267 (ata_pthru): Likewise.
16268 (usbms): Enable on all usb.
16269 (usb_keyboard): Likewise.
16270 (font): Use tag videomodules.
16272 (datetime): Use tag cmos. Enable on all noemu.
16273 (mmap): Use tags common and x86.
16274 (gfxterm): Use tag videomodules.
16275 (bitmap): Likewise.
16276 (bitmap_scale): Likewise.
16277 (video_fb): Likewise.
16279 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16280 adjust padding accordingly. All users updated.
16281 (grub_ohci_transaction): Fix bad format specification.
16282 (GRUB_MOD_INIT): Add asserts for struct size.
16283 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16284 (grub_alloc_td): Likewise.
16285 (grub_free_queue): Likewise.
16286 (grub_uhci_transfer): Likewise.
16287 (grub_uhci_transaction): Fix bad format specification.
16288 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16289 (grub_usb_bulk_readwrite): Likewise.
16290 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16291 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16293 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16295 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16296 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16297 Transformed into C.
16298 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16299 Moved from here ...
16300 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16301 ... here. Transformed into C. Made static.
16302 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16303 Moved from here ...
16304 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16305 ... here. Transformed into C. Made static.
16306 * grub-core/kern/i386/pc/startup.S
16307 (grub_biosdisk_check_int13_extensions): Moved from here ...
16308 * grub-core/disk/i386/pc/biosdisk.c
16309 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16311 * grub-core/kern/i386/pc/startup.S
16312 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16313 * grub-core/disk/i386/pc/biosdisk.c
16314 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16315 Transformed into C. Made static.
16316 * grub-core/kern/i386/pc/startup.S
16317 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16318 * grub-core/disk/i386/pc/biosdisk.c
16319 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16320 Transformed into C. Made static.
16321 * grub-core/kern/i386/pc/startup.S
16322 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16323 * grub-core/disk/i386/pc/biosdisk.c
16324 (grub_biosdisk_get_diskinfo_standard): ... here.
16325 Transformed into C. Made static.
16326 * grub-core/kern/i386/pc/startup.S
16327 (grub_biosdisk_get_num_floppies): Moved from here ...
16328 * grub-core/disk/i386/pc/biosdisk.c
16329 (grub_biosdisk_get_num_floppies): ... here.
16330 Transformed into C. Made static.
16331 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16333 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16334 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16335 Transformed into C. Made static.
16336 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16337 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16338 Transformed into C. Made static.
16339 * grub-core/kern/i386/ieee1275/init.c: Removed.
16340 * grub-core/kern/i386/misc.S: Likewise.
16341 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16342 Splitted from here ...
16343 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16344 Transformed into C. Made static. All users updated.
16345 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16346 Transformed into C. Made static. All users updated.
16347 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16349 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16350 Transformed into C. Made static. All users updated.
16351 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16353 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16354 Transformed into C. Made static. All users updated.
16355 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16356 Removed (replaced by C version).
16357 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16359 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16360 Transformed into C. Made static.
16361 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16363 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16364 ... here. Transformed into C.
16365 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16367 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16368 ... here. Transformed into C.
16369 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16371 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16372 ... here. Transformed into C. Made static.
16373 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16375 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16376 ... here. Transformed into C.
16377 * grub-core/kern/i386/pc/startup.S
16378 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16379 * grub-core/video/i386/pc/vbe.c
16380 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
16381 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16383 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16384 ... here. Transformed into C.
16385 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16387 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16388 ... here. Transformed into C.
16389 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16391 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16392 ... here. Transformed into C.
16393 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16395 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16396 ... here. Transformed into C.
16397 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16399 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16400 ... here. Transformed into C. Made static.
16401 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16403 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16404 ... here. Transformed into C. Made static.
16405 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16407 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16408 ... here. Transformed into C. Made static.
16409 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16410 pxe_rm_entry as third argument.
16411 (grub_bios_interrupt): New function.
16412 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16413 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16414 of calling grub_stop.
16415 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16416 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16417 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16418 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16419 * grub-core/lib/i386/halt.c: Moved from here ...
16420 * grub-core/lib/i386/halt.c: ... here.
16421 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16422 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16423 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16425 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16426 * include/grub/i386/coreboot/init.h: Removed.
16427 * include/grub/i386/multiboot/init.h: Likewise.
16428 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16429 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16430 * include/grub/i386/pc/int.h: New file.
16431 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16432 (grub_pxe_scan): Removed.
16433 (grub_pxe_call): Update prototype.
16434 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16436 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16437 * include/grub/i386/qemu/init.h: Removed.
16438 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16440 (grub_halt): Likewise.
16441 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16442 (grub_reboot): Likewise.
16443 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16444 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
16445 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16447 2010-08-30 Robert Millan <rmh@gnu.org>
16449 * NEWS: Document addition of ZFS support in `grub-install' and
16452 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16454 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16457 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16459 Remove leftover embedding of font objects.
16461 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16462 * util/grub-install.in (font): Removed.
16463 * util/grub-mkimage.c (generate_image): Remove font support. All users
16466 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16468 Remove leftover embedding of font objects.
16470 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16471 * util/grub-install.in (font): Removed.
16472 * util/grub-mkimage.c (generate_image): Remove font support. All users
16475 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16477 * docs/grub.texi (Network): Fix reference to pxe_blksize.
16478 Reported by: Ian Turner
16480 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16482 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16483 timeout to avoid indefinite boot stalling.
16485 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16487 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16488 (grub_env_write_color_highlight): Likewise.
16490 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16492 * grub-core/normal/term.c (print_more): Return to normal and not
16493 to standard state after printing "---MORE---".
16495 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16497 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16498 Mask out the bit 0x80 since it has other meaning that specifiing color.
16500 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16502 New relocator. Allows for more kernel support and more straightforward
16505 * Makefile.am (BOOTTARGET): New variable.
16506 (QEMU32): Likewise.
16507 (linux.init.x86_64): New target.
16508 (linux.init.i386): Likewise.
16509 (multiboot.elf): Likewise.
16510 (kfreebsd.elf): Likewise.
16511 (kfreebsd.aout): Likewise.
16512 (pc-chainloader.elf): Likewise.
16513 (pc-chainloader.bin): Likewise.
16514 (ntldr.elf): Likewise.
16515 (ntldr.bin): Likewise.
16516 (multiboot2.elf): Likewise.
16517 (kfreebsd.init.x86_64): Likewise.
16518 (kfreebsd.init.i386): Likewise.
16519 (knetbsd.init.i386): Likewise.
16520 (kopenbsd.init.i386): Likewise.
16521 (knetbsd.init.x86_64): Likewise.
16522 (kopenbsd.init.x86_64): Likewise.
16523 (linux-initramfs.i386): Likewise.
16524 (linux-initramfs.x86_64): Likewise.
16525 (kfreebsd-mfsroot.i386.img): Likewise.
16526 (knetbsd.image.i386): Likewise.
16527 (kopenbsd.image.i386): Likewise.
16528 (kopenbsd.image.x86_64): Likewise.
16529 (knetbsd.miniroot-image.i386.img): Likewise.
16530 (kfreebsd-mfsroot.x86_64.img): Likewise.
16531 (knetbsd.image.x86_64): Likewise.
16532 (knetbsd.miniroot-image.x86_64.img): Likewise.
16533 (kfreebsd-mfsroot.i386.gz): Likewise.
16534 (bootcheck-kfreebsd-i386): Likewise.
16535 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16536 (bootcheck-kfreebsd-x86_64): Likewise.
16537 (knetbsd.miniroot-image.i386.gz): Likewise.
16538 (bootcheck-knetbsd-i386): Likewise.
16539 (bootcheck-kopenbsd-i386): Likewise.
16540 (bootcheck-kopenbsd-x86_64): Likewise.
16541 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16542 (bootcheck-knetbsd-x86_64): Likewise.
16543 (bootcheck-linux-i386): Likewise.
16544 (bootcheck-linux-x86_64): Likewise.
16545 (bootcheck-linux16-i386): Likewise.
16546 (bootcheck-linux16-x86_64): Likewise.
16547 (bootcheck-multiboot): Likewise.
16548 (bootcheck-multiboot2): Likewise.
16549 (bootcheck-kfreebsd-aout): Likewise.
16550 (bootcheck-pc-chainloader): Likewise.
16551 (bootcheck-ntldr): Likewise.
16552 (CLEANFILES): Add new targets.
16553 (BOOTCHECKS): New variable.
16554 (.PHONY): Add bootchecks.
16555 (SUCCESSFUL_BOOT_STRING): New variable.
16556 (BOOTCHECK_TIMEOUT): Likewise.
16557 (bootcheck): New target
16558 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16559 * configure.ac: Correct efiemu excuse.
16560 * docs/grub.texi (Supported kernels): New chapter.
16561 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16562 include/grub/mm_private.h. Simplify inclusion of
16563 include/grub/boot.h, include/grub/loader.h
16564 and include/grub/msdos_partition.h
16565 (KERNEL_HEADER_FILES) [i386_coreboot]:
16566 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16567 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16568 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16569 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16570 include/grub/machine/loader.h.
16571 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16572 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16574 (pci.mod): Enable on i386-multiboot.
16575 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16576 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16578 (relocator.mod): Rewritten.
16579 (aout.mod): Enable on all x86.
16580 (bsd.mod): Likewise.
16581 (ntldr.mod): New module.
16582 (linux.mod): Use loader/i386/linux.c on all x86.
16583 (xnu.mod): Enable on all x86.
16584 (vga_text.mod): disable on EFI and QEMU.
16585 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16586 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16587 * grub-core/efiemu/loadcore.c: Likewise.
16588 * grub-core/efiemu/main.c: Likewise.
16589 (grub_efiemu_exit_boot_services): Removed.
16590 (grub_efiemu_finish_boot_services): Likewise.
16591 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16593 * grub-core/efiemu/i386/nocfgtables.c: New file.
16594 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16595 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16596 (grub_efi_finish_boot_services): Moved from here ...
16597 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16598 Fille finish memory map and related data.
16599 (finish_mmap_buf): New variable.
16600 (grub_efi_uintn_t finish_mmap_size): Likewise.
16601 (grub_efi_uintn_t finish_key): Likewise.
16602 (grub_efi_uintn_t finish_desc_size): Likewise.
16603 (grub_efi_uint32_t finish_desc_version): Likewise.
16604 (grub_efi_is_finished): Likewise.
16605 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16607 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16608 (grub_elf64_phdr_iterate): Likewise.
16609 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16610 (grub_os_area_size): Likewise.
16611 (grub_machine_init): Don't reserve os area.
16612 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16613 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16614 * grub-core/kern/i386/loader.S: Removed.
16615 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16616 (grub_os_area_size): Likewise.
16617 (grub_machine_init): Don't reserve os area.
16618 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16619 Don't call grub_dl_unload_all.
16620 Don't include loader.S.
16621 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16622 Declare the memory after _end as available.
16623 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
16624 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
16625 (GRUB_MM_ALLOC_MAGIC): Moved from here...
16626 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16627 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16628 * include/grub/mm_private.h (grub_mm_header): ... here.
16629 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16630 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
16631 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16632 (grub_mm_region): ..here. Removed addr. Added pre_size.
16634 * grub-core/kern/mm.c (base): Renamed to ...
16635 (grub_mm_base): ... this. Made global.
16636 (grub_real_malloc): Alloc from end of region.
16637 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16638 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16639 * grub-core/kern/powerpc/cache_flush.S: ... here.
16640 * grub-core/lib/efi/relocator.c: New file.
16641 * grub-core/lib/i386/relocator.c: Rewritten.
16642 * grub-core/lib/i386/relocator16.S: New file.
16643 * grub-core/lib/i386/relocator32.S: Likewise.
16644 * grub-core/lib/i386/relocator64.S: Likewise.
16645 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16646 * grub-core/lib/i386/relocator_common.S: New file.
16647 * grub-core/lib/ieee1275/relocator.c: Likewise.
16648 * grub-core/lib/mips/relocator.c: Rewritten.
16649 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16650 stylistic adjustments.
16651 * grub-core/lib/powerpc/relocator.c: New file.
16652 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16653 * grub-core/lib/relocator.c: Rewritten.
16654 * grub-core/lib/x86_64/relocator_asm.S: New file.
16655 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16656 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16657 (bsd_tag): New struct.
16658 (tags): New variable.
16659 (tags_last): Likewise.
16660 (netbsd_module): New struct.
16661 (netbsd_mods): New variable.
16662 (netbsd_mods_last): Likewise.
16663 (openbsd_opts): New parameter "serial".
16664 (OPENBSD_SERIAL_ARG): New definition.
16665 (netbsd_opts): New parameter "serial".
16666 (NETBSD_SERIAL_ARG): New definition.
16667 (grub_freebsd_add_meta): Reorganised into ...
16668 (grub_bsd_add_meta): ...this. All users updated.
16669 (grub_freebsd_add_mmap): Reorganised into ...
16670 (generate_e820_mmap): ...this...
16671 (grub_bsd_add_mmap): ...and this. All users updated.
16672 (grub_freebsd_list_modules): Use tags.
16673 (grub_netbsd_add_meta_module): New function.
16674 (grub_netbsd_list_modules): Likewise.
16675 (grub_freebsd_boot): Use relocator and finish EFI.
16676 (grub_openbsd_boot): Likewise.
16677 (grub_netbsd_setup_video): New function.
16678 (grub_netbsd_add_modules): Likewise.
16679 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16681 (grub_bsd_unload): Unload tags.
16682 (grub_bsd_load_aout): Use relocator.
16683 (grub_bsd_elf32_size_hook): New function.
16684 (grub_bsd_elf32_hook): Use relocator.
16685 (grub_bsd_elf64_size_hook): New function.
16686 (grub_bsd_elf64_hook): Use relocator.
16687 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16688 (grub_bsd_load): Zero-out openbsd_ramdisk.
16689 (grub_bsd_load): Use relocator.
16690 (grub_cmd_openbsd): Support serial.
16691 (grub_cmd_netbsd): Support modules.
16692 (grub_cmd_freebsd_module): Use relocator.
16693 (grub_netbsd_module_load): New function.
16694 (grub_cmd_netbsd_module): Likewise.
16695 (grub_cmd_openbsd_ramdisk): Likewise.
16696 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16698 (GRUB_MOD_FINI): Unregister new commands.
16699 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16700 (grub_freebsd_load_elfmodule_obj): Use relocator.
16701 (grub_freebsd_load_elfmodule): Likewise.
16702 (grub_freebsd_load_elf_meta): Likewise.
16703 (grub_netbsd_load_elf_meta): New function.
16704 (grub_openbsd_find_ramdisk): Likewise.
16705 * grub-core/loader/i386/bsd_helper.S: Removed.
16706 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16707 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16708 * grub-core/loader/i386/efi/linux.c: Likewise.
16709 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16710 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16711 (DEFAULT_VIDEO_MODE): Likewise.
16712 (real_mode_target): New variable.
16713 (prot_mode_target): Likewise.
16714 (initrd_mem_target): Likewise.
16715 (relocator): Likewise.
16716 (efi_mmap_buf): Likewise.
16717 (efi_mmap_size): Likewise.
16718 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16719 (free_pages): Use relocator.
16720 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16721 (grub_linux_setup_video): Return error.
16722 (grub_linux_trampoline_start): Removed.
16723 (grub_linux_trampoline_end): Likewise.
16724 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16725 andd video parameters depending on firmware.
16726 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16727 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16728 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16729 (grub_cmd_initrd): Use relocator.
16730 * grub-core/loader/i386/linux_trampoline.S: Removed.
16731 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16732 (elf_sec_entsize): Likewise.
16733 (elf_sec_shstrndx): Likewise.
16734 (elf_sections): Likewise.
16735 (grub_multiboot_load): Use relocator.
16736 (grub_multiboot_get_mbi_size): Account for sections.
16737 (grub_multiboot_make_mbi): Use relocator and support sections.
16738 (grub_multiboot_add_elfsyms): New function.
16739 (grub_multiboot_free_mbi): Free sections.
16740 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16741 (grub_linux_real_target): Likewise.
16742 (grub_linux_real_chunk): Likewise.
16743 (grub_linux16_prot_size): Likewise.
16744 (grub_linux16_boot): Use relocator.
16745 (grub_linux_unload): Unload relocator.
16746 (grub_cmd_linux): Use relocator.
16747 (grub_cmd_initrd): Likewise.
16748 * grub-core/loader/i386/pc/ntldr.c: New file.
16749 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16750 Don't try to guess CPU frequency.
16751 (grub_xnu_set_video): Stretch bitmap.
16752 (grub_xnu_boot): Use relocator.
16753 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16754 (grub_linux_unload): Free relocator.
16755 (grub_linux_load32): Use relocator.
16756 (grub_linux_load64): Likewise.
16757 (grub_cmd_initrd): Likewise.
16758 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16759 (grub_multiboot_unload): Unload relocator.
16760 (grub_cmd_multiboot): Use relocator.
16761 (grub_cmd_module): Likewise.
16762 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16763 Use relocator and support sections.
16764 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16765 (elf_sec_entsize): Likewise.
16766 (elf_sec_shstrndx): Likewise.
16767 (elf_sections): Likewise.
16768 (grub_multiboot_load): Use relocator.
16769 (grub_multiboot_get_mbi_size): Account for sections.
16770 (grub_multiboot_make_mbi): Use relocator and support sections.
16771 (grub_multiboot_add_elfsyms): New function.
16772 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16773 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16774 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16775 Prototype changed. All users updated.
16776 (grub_xnu_align_heap): Simplified.
16777 (grub_xnu_writetree_toheap): Likewise.
16778 (grub_xnu_unload): Unload relocator.
16779 (grub_cmd_xnu_kernel): Use relocator.
16780 (grub_cmd_xnu_kernel64): Likewise.
16781 (grub_xnu_register_memory): Simplified.
16782 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
16783 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16785 (grub_console_checkkey): Likewise.
16786 (grub_console_getkey): Likewise.
16787 (grub_console_getwh): Likewise.
16788 (grub_console_getxy): Likewise.
16789 (grub_console_gotoxy): Likewise.
16790 (grub_console_cls): Likewise.
16791 (grub_console_setcolorstate): Likewise.
16792 (grub_console_setcursor): Likewise.
16793 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16794 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16795 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16796 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16797 * grub-core/tests/boot/kernel-8086.S: Likewise.
16798 * grub-core/tests/boot/kernel-i386.S: Likewise.
16799 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16800 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16801 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16802 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16803 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16804 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16805 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16806 * grub-core/tests/boot/linux.cfg: Likewise.
16807 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16808 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16809 * grub-core/tests/boot/linux16.cfg: Likewise.
16810 * grub-core/tests/boot/multiboot.cfg: Likewise.
16811 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16812 * grub-core/tests/boot/ntldr.cfg: Likewise.
16813 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16814 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16815 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16817 * include/grub/dl.h (grub_dl_unload_all): Removed.
16818 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16819 (grub_efi_finish_boot_services): Change prototype.
16820 (grub_efi_is_finished): New variable.
16821 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16823 (grub_efiemu_finish_boot_services): Removed.
16824 (grub_machine_efiemu_init_tables): New prototype.
16825 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16826 (grub_elf64_phdr_iterate): Likewise.
16827 * include/grub/i386/bsd.h: Include relocator.h.
16828 (freebsd_tag_header): New struct.
16829 (grub_openbsd_bios_mmap): Removed.
16830 (grub_unix_real_boot): Removed.
16831 (grub_freebsd_load_elfmodule32): Changed prototype.
16832 (grub_freebsd_load_elfmodule_obj64): Likewise.
16833 (grub_freebsd_load_elf_meta32): Likewise.
16834 (grub_freebsd_load_elf_meta64): Likewise.
16835 (grub_freebsd_add_meta): Removed.
16836 (grub_netbsd_load_elf_meta32): New prototype.
16837 (grub_netbsd_load_elf_meta64): Likewise.
16838 (grub_bsd_add_meta): Likewise.
16839 (grub_openbsd_ramdisk_descriptor): New struct.
16840 (grub_openbsd_find_ramdisk32): New prototype.
16841 (grub_openbsd_find_ramdisk64): Likewise.
16842 * include/grub/i386/coreboot/loader.h: Removed.
16843 * include/grub/i386/efi/loader.h: Likewise.
16844 * include/grub/i386/ieee1275/loader.h: Likewise.
16845 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16847 * include/grub/i386/loader.h: Removed.
16848 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16850 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16851 (grub_phys_addr_t): New type.
16852 (grub_vtop): New inline function.
16853 (grub_map_memory): Likewise.
16854 (grub_unmap_memory): Likewise.
16855 * include/grub/i386/multiboot/loader.h: Removed.
16856 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16857 (NETBSD_BTINFO_CONSOLE): New definition.
16858 (NETBSD_BTINFO_SYMTAB): Likewise.
16859 (NETBSD_BTINFO_MODULES): Likewise.
16860 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16861 (grub_netbsd_bootinfo): New struct.
16862 (grub_netbsd_btinfo_common): Use explicit bitsize.
16863 (grub_netbsd_btinfo_mmap_entry): Removed.
16864 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16865 (grub_netbsd_btinfo_bootdisk): New struct.
16866 (grub_netbsd_btinfo_symtab): Likewise.
16867 (grub_netbsd_btinfo_serial): Likewise.
16868 (grub_netbsd_btinfo_modules): Likewise.
16869 (grub_netbsd_btinfo_framebuf): Likewise.
16870 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16871 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16873 (grub_openbsd_bootargs): Use explicit bitsize.
16874 (grub_openbsd_bootarg_console): New struct.
16875 (GRUB_OPENBSD_COM_MAJOR): New definition.
16876 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16877 * include/grub/i386/pc/efiemu.h: Removed.
16878 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16879 * include/grub/i386/qemu/loader.h: Removed.
16880 * include/grub/i386/relocator.h: Rewritten.
16881 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16882 * include/grub/mips/memory.h: New file.
16883 * include/grub/mips/multiboot.h: Rewritten.
16884 * include/grub/mips/relocator.h: Rewritten.
16885 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16886 (grub_vtop): New function.
16887 (grub_map_memory): Likewise.
16888 (grub_unmap_memory): Likewise.
16889 * include/grub/misc.h (ALIGN_DOWN): New definition.
16890 * include/grub/mm.h (grub_mm_check_real): New proto.
16891 (GRUB_MM_CHECK): New definition.
16892 * include/grub/mm_private.h: New file.
16893 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16894 (grub_multiboot_get_mbi_size): Removed.
16895 (grub_multiboot_make_mbi): Change prottype.
16896 (grub_multiboot_set_accepts_video): New proto.
16897 (grub_multiboot_add_elfsyms): Likewise.
16898 (grub_multiboot_payload_eip): New variable.
16899 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16901 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16903 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16904 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16905 * include/grub/powerpc/ieee1275/loader.h: Removed.
16906 * include/grub/powerpc/memory.h: New file.
16907 * include/grub/powerpc/relocator.h: Likewise.
16908 * include/grub/relocator.h: Likewise.
16909 * include/grub/relocator_private.h: Likewise.
16910 * include/grub/sparc64/ieee1275/loader.h: Removed.
16911 * include/grub/x86_64/memory.h: New file.
16912 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
16913 (grub_xnu_heap_malloc): Likewise.
16914 (grub_xnu_heap_real_start): Removed.
16915 (grub_xnu_heap_start): Likewise.
16916 (grub_xnu_relocator): New variable.
16917 (grub_xnu_heap_target_start): Likewise.
16918 * tests/util/grub-shell.in: Support non-pc.
16919 * util/grub-mkimage.c (image_targets): Fix multiboot target.
16921 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16923 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
16925 (grub_bidi_logical_to_visual): Check that malloc succeded.
16926 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
16928 (grub_xputs_normal): Likewise.
16930 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16932 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
16935 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16937 * grub-core/efiemu/runtime/efiemu.sh: Removed.
16939 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16941 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
16943 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16945 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
16948 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
16950 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
16952 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16954 * grub-core/normal/term.c (print_more): Fix a memory leak.
16955 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
16956 (grub_xputs_normal): Likewise.
16958 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16960 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
16961 the begining of the string
16963 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16965 * grub-core/script/script.c (grub_script_parse): Free parsed on
16968 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16970 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
16973 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16975 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
16978 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16980 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
16981 (scroll_up): Fix a memory leak.
16983 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16985 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
16988 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
16990 Handle USB pendrives exposed as floppies.
16992 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
16994 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16995 Check for partitions on all devices.
16997 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16999 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17000 (readkey): Likewise.
17002 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17004 Multiple variable names support to "export" command.
17006 * normal/context.c (grub_cmd_export): "export" command supports
17007 multiple variable names.
17009 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17011 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17012 --target=drive output to Mach device name.
17014 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17016 New Automake based build system for GRUB.
17018 * ABOUT-NLS: New file.
17019 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17020 in Makefile.util.def file.
17021 * Makefile.util.def: New file. Autogen build definitions file for
17023 * conf/Makefile.common: New file. Common variables for GRUB host
17024 utils and target modules.
17025 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17026 * docs/Makefile.am: New file. Automake file for docs.
17027 * gentpl.py: New file. Python script to generate Autogen
17029 * grub-core/Makefile.am: New file. GRUB target modules' rules
17030 that doesn't fit in Makefile.core.def file.
17031 * grub-core/Makefile.core.def: New file. Autogen build
17032 definitions file for GRUB target modules.
17033 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17034 specific setjmp.S file.
17035 * po/Makefile.am: New file.
17037 * .bzrignore: New ignores.
17038 * INSTALL: New requirements, without Ruby.
17039 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17040 * autogen.sh: Updated to invoke autogen as necessary.
17041 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17042 and defines for Automake conditionals.
17043 * geninit.sh: Refactoring.
17045 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17047 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17050 * include/grub/test.h: Fix functional test modules' naming.
17051 * grub-core/tests/example_functional_test.c: Fix test module name.
17053 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17054 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17055 * util/grub-editenv.c: Likewise.
17056 * util/grub-fstest.c: Likewise.
17057 * util/grub-mkdevicemap.c: Likewise.
17058 * util/grub-mkfont.c: Likewise.
17059 * util/grub-mkimage.c: Likewise.
17060 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17061 * util/grub-probe.c: Likewise.
17062 * util/grub-script-check.c: Likewise.
17063 * util/i386/pc/grub-setup.c: Likewise.
17064 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17066 * tests/util/grub-shell.in: Fix override directory path.
17067 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17068 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17070 * util/lvm.c: Update #includes.
17071 * util/raid.c: Likewise.
17072 * util/resolve.c: Likewise.
17073 * grub-core/bus/emu/pci.c: Likewise.
17074 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17075 * grub-core/lib/posix_wrap/string.h: Likewise.
17076 * grub-core/kern/emu/main.c: Likewise.
17078 * grub-core/gensymlist.sh: New file. Script for generating kernel
17080 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17082 * grub-core/gentrigtables.c: Fix unused variable warnings.
17084 * Makefile.in: Removed.
17085 * conf/any-emu.rmk: Removed.
17086 * conf/common.rmk: Removed.
17087 * conf/i386-coreboot.rmk: Removed.
17088 * conf/i386-efi.rmk: Removed.
17089 * conf/i386-ieee1275.rmk: Removed.
17090 * conf/i386-multiboot.rmk: Removed.
17091 * conf/i386-pc.rmk: Removed.
17092 * conf/i386-qemu.rmk: Removed.
17093 * conf/i386.rmk: Removed.
17094 * conf/mips-yeeloong.rmk: Removed.
17095 * conf/mips.rmk: Removed.
17096 * conf/powerpc-ieee1275.rmk: Removed.
17097 * conf/sparc64-ieee1275.rmk: Removed.
17098 * conf/tests.rmk: Removed.
17099 * conf/x86-efi.rmk: Removed.
17100 * conf/x86_64-efi.rmk: Removed.
17101 * gendistlist.sh: Removed.
17102 * geninitheader.sh: Removed.
17103 * genkernsyms.sh.in: Removed.
17104 * genmk.rb: Removed.
17105 * gensymlist.sh.in: Removed.
17106 * mkinstalldirs: Removed.
17108 * grub-core/boot: ... to here.
17110 * grub-core/bus: ... to here.
17111 * commands: Moved ...
17112 * grub-core/commands: ... to here.
17114 * grub-core/disk: ... to here.
17115 * efiemu: Moved ...
17116 * grub-core/efiemu: ... to here.
17118 * grub-core/font: ... to here.
17120 * grub-core/fs: ... to here.
17121 * gencmdlist.sh: Moved ...
17122 * grub-core/gencmdlist.sh: ... to here.
17123 * genemuinit.sh: Moved ...
17124 * grub-core/genemuinit.sh: ... to here.
17125 * genemuinitheader.sh: Moved ...
17126 * grub-core/genemuinitheader.sh: ... to here.
17127 * genfslist.sh: Moved ...
17128 * grub-core/genfslist.sh: ... to here.
17129 * genhandlerlist.sh: Moved ...
17130 * grub-core/genhandlerlist.sh: ... to here.
17131 * genmoddep.awk: Moved ...
17132 * grub-core/genmoddep.awk: ... to here.
17133 * genmodsrc.sh: Moved ...
17134 * grub-core/genmodsrc.sh: ... to here.
17135 * genpartmaplist.sh: Moved ...
17136 * grub-core/genpartmaplist.sh: ... to here.
17137 * genparttoollist.sh: Moved ...
17138 * grub-core/genparttoollist.sh: ... to here.
17139 * genterminallist.sh: Moved ...
17140 * grub-core/genterminallist.sh: ... to here.
17141 * gentrigtables.c: Moved ...
17142 * grub-core/gentrigtables.c: ... to here.
17143 * genvideolist.sh: Moved ...
17144 * grub-core/genvideolist.sh: ... to here.
17145 * gettext: Moved ...
17146 * grub-core/gettext: ... to here.
17147 * gfxmenu: Moved ...
17148 * grub-core/gfxmenu: ... to here.
17149 * gnulib: Moved ...
17150 * grub-core/gnulib: ... to here.
17152 * grub-core/hello: ... to here.
17154 * grub-core/hook: ... to here.
17156 * grub-core/io: ... to here.
17158 * grub-core/kern: ... to here.
17160 * grub-core/lib: ... to here.
17161 * loader: Moved ...
17162 * grub-core/loader: ... to here.
17164 * grub-core/mmap: ... to here.
17165 * normal: Moved ...
17166 * grub-core/normal: ... to here.
17167 * partmap: Moved ...
17168 * grub-core/partmap: ... to here.
17169 * parttool: Moved ...
17170 * grub-core/parttool: ... to here.
17171 * script: Moved ...
17172 * grub-core/script: ... to here.
17174 * grub-core/term: ... to here
17175 * tests/example_functional_test.c: Moved ...
17176 * grub-core/tests/example_functional_test.c: ... to here.
17177 * tests/lib/functional_test.c: Moved ...
17178 * grub-core/tests/lib/functional_test.c: ... to here.
17179 * tests/lib/test.c: Moved ...
17180 * grub-core/tests/lib/test.c: ... to here.
17182 * grub-core/video: ... to here.
17184 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17186 Replace --enable-grub-emu-modules with grub-emu-lite.
17188 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17191 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17192 * kern/emu/full.c: New file. For grub-emu specific initialization.
17193 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17194 * kern/emu/main.c: Call initialization function grub_emu_init.
17196 * Makefile.in: Include grub-emu-lite in install.
17197 * commands/parttool.c: Use grub_no_autoload to differentiate
17198 between grub-emu and grub-emu-lite.
17199 * include/grub/misc.h: New variable grub_no_autoload.
17201 * conf/any-emu.rmk: New rules for grub-emu-lite.
17202 * configure.ac: Remove --enable-grub-emu-modules.
17203 * genmk.rb: Cleanup unnecessary rules.
17204 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17206 * normal/main.c: Don't load list files on grub-emu-lite.
17207 * util/misc.c (grub_arch_sync_caches): Removed.
17209 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
17211 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17212 grub-mkimage rather than grub-mkelfimage.
17213 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17215 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17217 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17218 a key after CapsLock or NumLock. It's just a qemu bug.
17220 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17222 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17223 needed by libusb wrapper.
17225 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17227 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17229 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17231 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17232 --nounzip is passed.
17234 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17236 USB hotunplugging and USB serial support.
17238 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17239 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17240 (grub_uhci_transfer): Respect timeout and set *actual.
17241 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17242 non-standard length.
17243 (grub_usb_device_attach): Autoload modules.
17244 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17245 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17246 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17248 (grub_usb_add_hub): Fill nports and children.
17249 (attach_root_port): Receive hub instead of controller.
17250 All users updated. Fill hub->devices.
17251 (grub_usb_root_hub): Allocate hub->devices.
17252 (detach_device): New function.
17253 (poll_nonroot_hub): Fill children and detach devices.
17254 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17255 actual arguments. All users updated.
17256 (grub_usb_bulk_read_extended): New function.
17257 * bus/usb/serial/common.c: New file.
17258 * bus/usb/serial/ftdi.c: Likewise.
17259 * bus/usb/serial/pl2303.c: Likewise.
17260 * commands/terminal.c (handle_command): Support wildcard.
17261 * commands/usbtest.c: Output "Unknown" instead of empty string.
17262 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17263 (usbserial_common_mod_SOURCES): New variable.
17264 (usbserial_common_mod_CFLAGS): Likewise.
17265 (usbserial_common_mod_LDFLAGS): Likewise.
17266 (pkglib_MODULES): Add usbserial_pl2303.mod.
17267 (usbserial_pl2303_mod_SOURCES): New variable.
17268 (usbserial_pl2303_mod_CFLAGS): Likewise.
17269 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17270 (pkglib_MODULES): Add usbserial_ftdi.mod.
17271 (usbserial_ftdi_mod_SOURCES): New variable.
17272 (usbserial_ftdi_mod_CFLAGS): Likewise.
17273 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17274 (pkglib_MODULES): Add serial.mod.
17275 (serial_mod_SOURCES): New variable.
17276 (serial_mod_CFLAGS): Likewise.
17277 (serial_mod_LDFLAGS): Likewise.
17278 * conf/i386-pc.rmk: Likewise.
17279 * conf/mips-yeeloong.rmk: Likewise.
17280 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17281 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17282 * disk/usbms.c (first_available_slot): New variable.
17283 (grub_usbms_attach): Don't reuse free slots due to potential cache
17285 * include/grub/serial.h: Moved to ..
17286 * include/grub/ns8250.h: ...this.
17287 * include/grub/serial.h: New file.
17288 * include/grub/term.h (grub_term_poll_usb): New variable.
17289 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17290 readkey. All users updated.
17291 (grub_terminfo_output_state): Pass term to put.
17292 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17293 (grub_usb_controller_dev): Add timeout and actual arguments to
17294 transfer. All users updated.
17295 (grub_usb_interface): New field detach_data.
17296 (grub_usb_device): New fields children and nports.
17297 (grub_usb_ep_type_t): New type.
17298 (grub_usb_get_ep_type): New function.
17299 (grub_usb_bulk_read_extended): Likewise.
17300 * include/grub/usbdesc.h (grub_usb_desc): New type.
17301 * include/grub/usbserial.h: New file.
17302 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17303 * kern/term.c (grub_term_poll_usb): New variable.
17304 (grub_getkey): Call grub_term_poll_usb if set.
17305 (grub_checkkey): Likewise.
17306 (grub_getkeystatus): Likewise.
17307 * term/serial.c: Moved controller-specific parts to ...
17308 * term/ns8250.c: ... here.
17309 * term/serial.c: Mostly rewritten.
17310 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17313 2010-08-20 Robert Millan <rmh@gnu.org>
17315 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17316 a separate module and maybe other interesting combinations.
17318 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17319 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17320 (kfreebsd_entry): Add generic filesystem module load routine.
17321 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17323 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17325 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17326 "numcenter" (I misunderstood the purpose of this entry).
17327 * docs/grub.texi (sendkey): Likewise.
17329 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17331 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17332 status flag options; simply omitting the option is equivalent and
17333 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17334 (keysym_table): Rename "num5numlock" to "numlock".
17335 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17336 can uniformly say that only the last of multiple `sendkey'
17337 invocations has any effect.
17338 * docs/grub.texi (sendkey): New section.
17340 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
17342 * commands/i386/pc/sendkey.c (options): Fix three typos.
17344 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17346 Implement sendkey support.
17348 * commands/i386/pc/sendkey.c: New file.
17349 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17350 (sendkey_mod_SOURCES): New variable.
17351 (sendkey_mod_CFLAGS): Likewise.
17352 (sendkey_mod_LDFLAGS): Likewise.
17354 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17356 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17357 fix warnings from Autoconf.
17359 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17361 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17362 to avoid false positives with some assemblers that output things
17363 like "someprefix_func" as part of their output.
17365 2010-08-15 Robert Millan <rmh@gnu.org>
17367 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17369 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17370 grub_get_libzfs_handle() errors.
17372 2010-08-14 Robert Millan <rmh@gnu.org>
17374 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17375 filesystem is not ZFS.
17377 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17379 Fix for misspelled color names defaulting to black/black (bug
17380 reported by Doug Nazar)
17382 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17383 status to prototype.
17384 * normal/color.c (grub_parse_color_name_pair): Return failure
17386 (grub_env_write_color_normal): Ignore bad color names.
17387 (grub_env_write_color_highlight): Likewise.
17388 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17390 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17392 "shift" command support to GRUB script.
17394 * include/grub/script_sh.h (grub_script_shift): New prototype.
17395 * script/execute.c (grub_script_shift): New function.
17396 * script/main.c (grub_script_init): Register shift command.
17397 (grub_script_fini): Unregister shift command.
17398 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17400 * tests/grub_script_shift.in: New testcase.
17401 * conf/tests.rmk: Rules for new testcase.
17403 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17405 "continue" command support to GRUB script.
17407 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17408 (grub_script_break): Continue support.
17409 * script/main.c (grub_script_init): Register continue command.
17410 (grub_script_fini): Unregister continue command.
17412 * tests/grub_script_continue.in: New testcase.
17413 * conf/tests.rmk: Rules for new testcase.
17415 2010-08-12 BVK Chaitanya <bvk@dbook>
17417 "break" command support to GRUB script.
17419 * conf/common.rmk: Rule updates to grub-script-check.
17420 * include/grub/misc.h (grub_min): New function.
17421 * include/grub/script_sh.h (grub_script_init): New prototype.
17422 (grub_script_fini): New prototype.
17423 (grub_script_break): New prototype.
17424 * script/main.c (grub_script_init): New function.
17425 (grub_script_fini): New function.
17426 * script/execute.c (grub_script_break): New function.
17427 * normal/main.c: Calls to grub_script_{init,fini}.
17428 * util/grub-script-check.c (grub_script_break): New function.
17430 * tests/grub_script_break.in: New testcase.
17431 * conf/tests.rmk: Rules for new test case.
17433 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17435 Function parameters support to GRUB script.
17437 * script/yylex.l (VARIABLE): Regular expression update.
17438 * script/function.c (grub_script_function_call): Moved ...
17439 * script/execute.c (grub_script_function_call): ... to here.
17440 (grub_script_execute_arglist_to_argv): Removed.
17441 (grub_script_arglist_to_argv): New function.
17442 * script/argv.c: New file.
17443 (grub_script_argv_free): New function.
17444 (grub_script_argv_next): Likewise.
17445 (grub_script_argv_append): Likewise.
17446 (grub_script_argv_split_append): Likewise.
17447 * include/grub/script_sh.h (grub_script_argv): New struct.
17448 (grub_script_argv_free): New function.
17449 (grub_script_argv_next): Likewise.
17450 (grub_script_argv_append): Likewise.
17451 (grub_script_argv_split_append): Likewise.
17453 * conf/common.rmk (normal.mod): New source script/argv.c.
17455 * tests/grub_script_echo1.in: More tests.
17456 * tests/grub_script_vars1.in: Likewise.
17457 * tests/grub_script_functions.in: New test case.
17458 * conf/tests.rmk: Rules for new testcase.
17460 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17462 Remove grub_script_cmdblock struct.
17464 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17465 * script/parser.y: Likewise.
17466 * script/execute.c: Rename cmdblock suffix to cmdlist.
17467 * script/script.c: Likewise.
17468 * util/grub-script-check.c: Likewise.
17470 2010-08-11 Yves Blusseau <blusseau@zetam.org>
17472 * .bzrignore: add grub-macho2img
17474 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17476 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17478 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17480 Remove the dump of sm712 initialisation sequence.
17482 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17483 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17484 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17485 (GRUB_VGA_CR_*): Added many registers.
17486 (GRUB_VGA_SR_*): Likewise.
17487 (GRUB_VGA_GR_*): Likewise.
17488 (grub_vga_write_arx): New function.
17489 (grub_video_hw_config): New struct.
17490 (grub_vga_set_geometry): New function.
17491 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17492 GRUB_PCI_CLASS_SUBCLASS_VGA.
17493 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17494 * video/sm712.c (grub_sm712_write_reg): New function
17495 (grub_sm712_read_reg): Likewise.
17496 (grub_sm712_sr_write): Likewise.
17497 (grub_sm712_gr_write): Likewise.
17498 (grub_sm712_cr_write): Likewise.
17499 (grub_sm712_write_arx): Likewise.
17500 (grub_sm712_cr_shadow_write): Likewise.
17501 (grub_sm712_write_dda_lookup): Likewise.
17502 (grub_video_sm712_setup): Initialise the video rather then
17503 blindly replay the dump.
17504 (main) [TEST]: Add a routine to be able to compile as standalone for
17506 * video/sm712_init.c (sm712_init): Removed.
17507 (sm712_sr_seq1): New array.
17508 (sm712_sr_seq2): Likewise.
17510 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17512 * include/grub/vga.h: Add missing grub/pci.h include.
17514 2010-08-10 Yves Blusseau <blusseau@zetam.org>
17516 * util/grub-macho2img.c (main): fix typo
17518 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17520 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17521 (grub_vga_gr_read): Likewise.
17522 (grub_vga_cr_write): Likewise.
17523 (grub_vga_cr_read): Likewise.
17524 (grub_vga_sr_write): Likewise.
17525 (grub_vga_sr_read): Likewise.
17526 (grub_vga_palette_read): Likewise.
17527 (grub_vga_palette_write): Likewise.
17528 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17529 (grub_sm712_sr_read): New function.
17530 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17531 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17533 2010-08-09 Robert Millan <rmh@gnu.org>
17535 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17536 out unused variables on non-ZFS build.
17538 2010-08-08 Robert Millan <rmh@gnu.org>
17540 Fix path generation for sub-filesystems in ZFS.
17542 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17545 2010-08-08 Robert Millan <rmh@gnu.org>
17547 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17549 2010-08-08 Robert Millan <rmh@gnu.org>
17551 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17552 exist, issue a proper error message (rely on `ls' for translated
17555 2010-08-08 Robert Millan <rmh@gnu.org>
17557 Fix grub-probe invocation.
17559 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17561 2010-08-04 Robert Millan <rmh@gnu.org>
17563 * configure.ac: Remove checks for getfsstat() and getmntany().
17564 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17565 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17566 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17567 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17568 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17570 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17571 via find_mount_point_from_dir() and getfsstat() / getmntany().
17573 2010-08-04 Robert Millan <rmh@gnu.org>
17575 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17576 (grub_find_zpool_from_mount_point): Merge into ...
17577 (grub_find_zpool_from_dir): ... this.
17578 * kern/emu/misc.c: Likewise.
17581 (grub_make_system_path_relative_to_its_root): Replace
17582 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17583 with grub_find_zpool_from_dir().
17584 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17586 2010-08-04 Robert Millan <rmh@gnu.org>
17588 Support OpenSolaris in ZFS device resolution.
17590 * configure.ac: Check for getmntany().
17591 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17592 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17595 2010-08-03 Robert Millan <rmh@gnu.org>
17597 Fix grub-emu build.
17599 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17600 * include/grub/emu/misc.h: ... here.
17602 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17603 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17605 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17606 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17607 (grub_get_libzfs_handle): Move to ...
17608 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17609 (grub_get_libzfs_handle): ... here.
17611 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17613 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17614 as command name case.
17616 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
17618 * disk/raid.c (insert_array): Select unique numbers for named arrays
17619 as well, for use as keys in the disk cache.
17621 2010-08-01 Robert Millan <rmh@gnu.org>
17623 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17624 kFreeBSD device name, except on ZFS where the filesystem label is
17626 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17627 `/boot/zfs/zpool.cache'.
17628 Set mountfrom kernel variable using ${kfreebsd_device}.
17630 2010-08-01 Robert Millan <rmh@gnu.org>
17632 Make it even harder to use uninitialized `libzfs_handle' (and
17633 make the interface a bit simpler).
17635 * include/grub/util/misc.h (grub_util_init_libzfs)
17636 (libzfs_handle): Remove.
17637 (grub_get_libzfs_handle): New prototype.
17639 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17641 (grub_util_init_libzfs): Remove.
17642 (grub_get_libzfs_handle): New function.
17644 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17645 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17646 accessing `libzfs_handle' directly.
17648 2010-08-01 Robert Millan <rmh@gnu.org>
17650 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17651 (grub_find_zpool_from_mount_point): New function prototypes.
17653 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17654 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17656 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17657 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17658 `static' attribute.
17660 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17661 finding zpool from mount point into ...
17662 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17664 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17665 requested path is part of a ZFS pool, use
17666 grub_find_zpool_from_mount_point() to detect its filesystem name,
17667 and generate a path with `/fsname@path' syntax.
17669 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17671 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17672 (void) rather than () so that this is a proper prototype.
17674 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17676 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17678 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17680 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17681 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17683 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17685 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17687 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17689 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17691 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17693 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17694 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17695 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17696 disable gfxpayload.
17697 (Shell-like scripting): Add real content.
17698 (Serial terminal): Suggest `terminal_input serial; terminal_output
17699 serial' rather than putting the two commands on separate lines,
17700 since console input will be inoperative after the first command.
17701 (menuentry): Document --class, --users, and --hotkey options.
17702 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17703 Vladimir Serbinenko).
17705 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17706 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17708 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17710 2010-08-01 Robert Millan <rmh@gnu.org>
17712 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17713 (grub_find_zpool_from_mount_point): New function prototypes.
17715 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17716 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17718 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17719 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17720 `static' attribute.
17722 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17723 finding zpool from mount point into ...
17724 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17726 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17727 requested path is part of a ZFS pool, use
17728 grub_find_zpool_from_mount_point() to detect its filesystem name,
17729 and generate a path with `/fsname@path' syntax.
17731 2010-08-01 Robert Millan <rmh@gnu.org>
17733 Prevent accidental use of uninitialized libzfs_handle.
17735 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17736 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17737 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17739 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17741 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17742 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17744 2010-08-01 Robert Millan <rmh@gnu.org>
17746 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
17748 2010-07-31 Robert Millan <rmh@gnu.org>
17750 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17752 2010-07-31 Robert Millan <rmh@gnu.org>
17754 * kern/emu/misc.c: Add missing license header.
17756 2010-07-31 Robert Millan <rmh@gnu.org>
17758 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17760 * include/grub/util/libnvpair.h: Include `<config.h>'.
17761 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17762 declaring libnvpair prototypes ourselves.
17763 * include/grub/util/libzfs.h: Include `<config.h>'.
17764 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17765 declaring libzfs prototypes ourselves.
17767 (libzfs_handle): Moved to ...
17768 * include/grub/util/misc.h (libzfs_handle): ... here.
17769 Include `<grub/util/libzfs.h>'.
17771 2010-07-30 Robert Millan <rmh@gnu.org>
17773 * include/grub/emu/misc.h: Add missing license header.
17775 2010-07-30 Robert Millan <rmh@gnu.org>
17777 Enable `grub-probe -t device' resolution on ZFS.
17779 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17780 * include/grub/util/libnvpair.h: New file.
17781 * include/grub/util/libzfs.h: New file.
17783 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17784 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17785 `<grub/util/libnvpair.h>'.
17786 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17788 (find_mount_point_from_dir): New static function.
17789 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17791 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17792 find_root_device_from_libzfs() before ressorting to find_root_device().
17794 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17796 * util/misc.c: Include `<grub/util/libzfs.h>'.
17797 (grub_util_init_libzfs): New function.
17798 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17799 [HAVE_LIBZFS] (fini_libzfs): New static function.
17800 (grub_util_init_libzfs): New function.
17801 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17803 2010-07-30 Robert Millan <rmh@gnu.org>
17805 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17806 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17807 `warn_unused_result' attribute.
17808 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17809 (grub_xasprintf, grub_xvasprintf): Likewise.
17810 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17812 2010-07-29 Robert Millan <rmh@gnu.org>
17814 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17815 (probe): Handle `PRINT_FS_LABEL'.
17816 (main): Handle `-t fs_label'.
17818 2010-07-29 Robert Millan <rmh@gnu.org>
17820 * configure.ac: Remove grub-mkisofs checks.
17822 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17824 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17825 Reported by: Lennart Sorensen.
17827 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17829 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17830 prior to terminal_input/terminal_output separation. It's been over 1.5
17831 years and those versions weren't widely deployed.
17833 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
17835 * disk/raid.c (insert_array): Don't count named arrays when looking
17836 for unused array numbers.
17837 Reported and tested by: Michael Guntsche.
17839 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17841 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17842 implementation of this so that grub-emu links again, with a note
17843 that this should support hotplugging in the future.
17845 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17847 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17849 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17851 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17853 (grub_loopback_close): Remove empty function.
17854 (grub_loopback_dev): Remove close method.
17856 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17858 Disable EFI cursor when the EFI console becomes inactive.
17860 * term/efi/console.c (grub_efi_console_init): New function.
17861 (grub_efi_console_fini): New function.
17862 (grub_console_term_output): Register init and fini methods.
17864 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17866 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17869 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17871 * disk/loopback.c (grub_loopback): Replace filename with file.
17872 (delete_loopback): Handle new semantics.
17873 (grub_cmd_loopback): Likewise.
17874 (grub_loopback_iterate): Likewise.
17875 (grub_loopback_close): Likewise.
17877 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17879 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17881 Reported by: Tito Keitel.
17883 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17885 * docs/grub.texi (Naming convention): Document new naming convention.
17887 2010-07-20 Vadim Solomin <vadic052@gmail.com>
17888 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17890 Generate device.map in something closer to the old ordering.
17892 * util/deviceiter.c (struct device): New declaration.
17893 (compare_file_names): Rename to ...
17894 (compare_devices): ... this. Sort by kernel name in preference to
17895 the stable by-id name, but keep the latter as a fallback comparison.
17896 Update header comment.
17897 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17898 of `struct device' rather than of plain file names.
17900 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17902 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17905 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17907 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17909 (setv1table): Likewise.
17911 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17913 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
17914 removing the homehost if present.
17915 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
17916 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
17917 removing the homehost if present.
17918 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
17920 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
17922 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
17923 parameter. Set its pointer target to 0.
17924 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
17925 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
17926 `data_offset' value from the superblock for 1.x metadata.
17927 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
17928 data on the device.
17929 (insert_array): Record the start sector of data on the device.
17930 (grub_raid_register): Pass start_sector parameters to
17931 grub_raid_list->detect and insert_array.
17932 * include/grub/raid.h (struct grub_raid_array): Add start_sector
17934 (struct grub_raid): Add start_sector parameter to `detect'.
17936 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
17937 __attribute__ ((packed)), leaving a comment.
17938 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
17939 (grub_mdraid_detect_09): ... here and ...
17940 (grub_mdraid_detect_1x): ... here.
17942 2010-07-20 Peter Henn <peter.henn@web.de>
17944 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
17945 chunk size and disk size, which are already given as sector counts
17946 as distinct from the 0.90 units. Fetch the correct device number
17947 from the role table instead of using the table index.
17949 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
17951 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
17952 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
17953 (WriteMostly1): New macro.
17954 Set array->name to NULL for metadata format 0.90. Add support for
17955 metadata 1.x. Fix some comments.
17956 * disk/raid.c (): Add support for name based RAID arrays. Fix a
17958 * util/getroot.c (grub_util_get_grub_dev): Add support for
17959 /dev/md/name style devices.
17961 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17963 * .bzrignore: Ignore 20_linux_xen.
17965 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
17967 * util/import_unicode.py: Remove unnecessary imports.
17969 2010-07-17 Aleš Nesrsta <starous@volny.cz>
17971 Hotplugging and USB hub support.
17973 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
17974 (grub_ohci): Likewise.
17975 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
17976 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
17977 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
17978 (GRUB_OHCI_CTRL_EDS): Likewise.
17979 (GRUB_OHCI_BULK_EDS): Likewise.
17980 (GRUB_OHCI_TDS): Likewise.
17981 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
17982 (grub_ohci_ed_phys2virt): New function.
17983 (grub_ohci_virt_to_phys): Likewise.
17984 (grub_ohci_td_phys2virt): Likewise.
17985 (grub_ohci_td_virt2phys): Likewise.
17986 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
17988 (grub_ohci_find_ed): New function.
17989 (grub_ohci_alloc_td): Likewise.
17990 (grub_ohci_free_td): Likewise.
17991 (grub_ohci_free_tds): Likewise.
17992 (grub_ohci_transfer): Use previously allocated memory.
17993 (grub_ohci_portstatus): Reset status changed bit.
17994 (grub_ohci_detect_dev): Supply status changed.
17995 (grub_ohci_fini_hw): Free memory.
17996 (grub_ohci_restore_hw): Reallocate memory.
17997 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
17998 Reset status change.
17999 (grub_uhci_detect_dev): Supply status_change.
18000 * bus/usb/usb.c (attach_hooks): New var.
18001 (grub_usb_device_attach): New function.
18002 (grub_usb_register_attach_hook_class): Likewise.
18003 (grub_usb_unregister_attach_hook_class): Likewise.
18004 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18005 (grub_usb_add_hub): Reset connection changed bit.
18006 (attach_root_port): New function.
18007 (grub_usb_root_hub): Likewise.
18008 (poll_nonroot_hub): Likewise.
18009 (grub_usb_poll_devices): Likewise.
18010 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18011 * disk/usbms.c (grub_usbms_open): Use device hooks.
18012 (grub_usbms_iterate) :Poll devices.
18013 (grub_usbms_finddevs): Split into ...
18014 (grub_usbms_attach): ... this ...
18015 (grub_usbms_attach): ... and this.
18016 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18018 (grub_usb_interface): New fields attached and detach_hook.
18019 (grub_usb_attach_hook_class): New type.
18020 (grub_usb_attach_desc): New struct.
18021 (grub_usb_register_attach_hook_class): New function.
18022 (grub_usb_unregister_attach_hook_class): Likewise.
18023 (grub_usb_poll_devices): Likewise.
18024 (grub_usb_device_attach): Likewise.
18025 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18026 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18028 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18030 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18031 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18032 delta determination style. Works with most NetBSD partitions too.
18034 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18036 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18037 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18039 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18041 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18043 2010-07-14 Anton Blanchard <anton@samba.org>
18045 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18048 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18050 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18052 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18054 * kern/partition.c (grub_partition_check_containment): New function to
18055 check that a partition is physically contained in a parent. Since
18056 offsets are relative (and non-negative), this reduces to checking that
18057 the partition ends before its parent.
18058 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18059 (grub_partition_iterate): Likewise.
18060 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18062 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18063 partitions that start before their parent, and add debug printfs.
18065 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18067 * Makefile.in (.SUFFIX): Spell correctly, as ...
18068 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18069 bare module name without `.mod', e.g. `test') tried to invoke a
18072 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18074 * README: Point to the Info manual.
18076 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
18078 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18079 2nd superblock position from partition size.
18081 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
18083 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18084 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18085 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18088 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18090 Restructure SCSI .id handling.
18091 Reported and tested by: Aleš Nesrsta.
18093 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18094 (grub_atapi_dev): Changed .name to "ata". New field .id.
18095 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18096 (grub_usbms_dev): New field .id.
18097 * disk/scsi.c (grub_scsi_iterate): Generate name.
18098 (grub_scsi_open): Parse name.
18099 * include/grub/scsi.h (grub_make_scsi_id): New function.
18100 (grub_scsi_dev): Change iterate and open to number instead of naming
18101 busses. All users updated.
18102 (grub_scsi): Remove name. Add .bus.
18104 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18106 * commands/help.c (grub_cmd_help): Fix a typo.
18108 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18110 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18111 Reported and tested by: Colin Watson.
18113 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18115 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18118 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18120 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18122 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
18124 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18127 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18129 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18130 and disk/raid6_recover.c.
18131 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18132 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18134 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18136 * term/gfxterm.c (repaint_schedulded): Rename to ...
18137 (repaint_scheduled): ... this. Update all callers.
18138 (repaint_was_schedulded): Rename to ...
18139 (repaint_was_scheduled): ... this. Update all callers.
18141 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18143 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18144 which we expect to be handled by upper layers.
18146 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18148 * bus/usb/usbhub.c: #include time.h header.
18150 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18152 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18153 entry_name also for entries without stat blocks (e.g. ".."); fixes
18154 corruption of the first entry in a directory.
18156 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18158 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18159 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18160 doesn't work otherwise.
18162 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18164 * docs/grub.texi (Features): Update list of supported file systems.
18165 (GNU/Linux): Update for GRUB 2.
18166 (Serial terminal): Remove mention of --disable-serial, which was a
18167 GRUB Legacy configure option. Update instructions to use
18168 `terminal_input' and `terminal_output' rather than `terminal'.
18169 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18170 configuration' and `Installing GRUB using grub-install'.
18171 (Menu entry editor): Update for GRUB 2.
18172 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18173 Document new -a, -u, and -v options.
18174 (initrd): New section.
18175 (initrd16): New section.
18176 (linux): New section.
18177 (linux16): New section.
18178 (search): The `var' argument to `--set' is optional.
18179 (GRUB only offers a rescue shell): Go into a little more detail on
18182 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18184 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18186 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18188 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18189 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18191 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18193 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18194 install_prefix, in line with install_dos_part and install_bsd_part.
18195 Add new prefix variable, which is copied to install_prefix after
18196 comparing core.img in memory with the one read from disk in the
18197 no-embedding case, and use that rather than overwriting
18198 install_prefix immediately when installing to a partition.
18199 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18202 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18204 * configure.ac: Avoid == in test command, it's not portable.
18205 * util/grub.d/30_os-prober.in: Likewise.
18207 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
18209 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18211 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18213 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18214 multiple (top-level) partmaps.
18216 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18218 * util/i386/efi/grub-install.in: Don't use empty grub_device.
18219 Reported by: Tino Keitel.
18221 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18223 Bidi and diacritics support.
18225 * Makefile.in (widthspec.bin): New target.
18226 (widthspec.h): Likewise.
18227 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18228 * autogen.sh: Generate unidata.c.
18229 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18230 * commands/ls.c (grub_ls_list_devices): Likewise.
18231 (grub_ls_list_files): Likewise.
18232 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18233 (grub_mini_cmd_lsmod): Likewise.
18234 * commands/read.c: Likewise.
18235 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18236 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18237 * lib/arg.c (grub_arg_show_help): Likewise.
18238 * lib/crypto.c (grub_password_get): Likewise.
18239 * normal/auth.c (grub_username_get): Likewise.
18240 * normal/misc.c (grub_normal_print_device_info): Likewise.
18241 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18242 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18243 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18244 (normal/charset.c_DEPENDENCIES): New variable.
18245 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18246 (pkglib_MODULES): Remove charset.mod.
18247 (charset_mod_SOURCES): Removed.
18248 (charset_mod_CFLAGS): Likewise.
18249 (charset_mod_LDFLAGS): Likewise.
18250 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18251 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18253 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18254 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18255 (kernel_img_HEADERS): Add terminfo.h.
18256 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18257 Fill ->font. Reverse ascii bitmaps.
18258 (grub_font_get_xheight): New function.
18259 * font/font.c (grub_font_get_string_width): Moved from here ...
18260 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18261 * font/font.c (grub_font_draw_string): Moved from here ...
18262 * gfxmenu/font.c (grub_font_draw_string): ... here.
18263 * font/font.c (grub_font_dup_glyph): New function.
18264 (grub_font_blit_glyph): Likewise.
18265 (grub_font_blit_glyph_mirror): Likewise.
18266 (blit_comb): Likewise.
18267 (grub_font_construct_dry_run): Likewise.
18268 (grub_font_get_constructed_device_width): Likewise.
18269 (grub_font_construct_glyph): Likewise.
18270 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18271 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18272 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18273 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18274 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18275 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18276 (grub_font_get_xheight): New proto.
18277 (grub_font_get_constructed_device_width): Likewise.
18278 (grub_font_construct_glyph): Likewise.
18279 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18280 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18281 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18282 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18283 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18284 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18285 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18286 (grub_console_getcharwidth): Likewise.
18287 * include/grub/misc.h (grub_xputs): New proto.
18288 (grub_puts): Inlined.
18289 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18290 (grub_normal_get_line_counter): Removed.
18291 (grub_install_newline_hook): Likewise.
18292 (grub_normal_get_char_counter): New proto.
18293 (grub_normal_reset_more): Likewise.
18294 (grub_xputs_normal): Likewise.
18295 * include/grub/powerpc/ieee1275/console.h: Removed.
18296 * include/grub/sparc64/ieee1275/console.h: Likewise.
18297 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18298 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18299 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18300 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18301 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18302 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18303 (grub_term_input): Pass reference to self. All users updated.
18304 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18305 Pass reference to self. New fields normal_color, highlight_color and
18306 data. All users updated.
18307 (grub_putchar): Removed.
18308 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18309 (grub_unicode_estimate_width): New function.
18310 (grub_term_getcharwidth): Add defaults.
18311 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18312 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18313 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18314 (grub_cls): Remove EXPORT_FUNC.
18315 (grub_setcolorstate): Inline.
18316 (grub_newline_hook): Removed.
18317 * include/grub/terminfo.h: Rewritten. All users updated.
18318 * include/grub/unicode.h: New file.
18319 * include/grub/video.h (grub_video_signed_rect): New type.
18320 * kern/emu/console.c (grub_console_highlight_color): Removed.
18321 (grub_console_normal_color): Likewise.
18322 (grub_console_standard_color): Made static.
18323 (grub_ncurses_putchar): Remove mapping.
18324 (grub_ncurses_getcharwidth): Removed.
18325 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18326 (grub_ncurses_setcolor): Removed.
18327 (grub_ncurses_getcolor): Likewise.
18328 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18329 (grub_console_putchar): ... this.
18330 (grub_console_putchar): Handle argument difference.
18331 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18332 console_init_early and console_init_lately.
18333 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18334 * kern/misc.c (grub_puts): Removed.
18335 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18336 (grub_vsnprintf_real): Remove str = NULL support.
18337 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18338 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18339 * kern/term.c (grub_putcode): Renamed to ...
18340 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18341 (grub_putchar): Removed.
18342 (grub_xputs_dumb): New function.
18343 (grub_xputs): New variable.
18344 * lib/charset.c: Move from here ...
18345 * normal/charset.c: ... to here.
18346 (grub_ucs4_to_utf8): New function.
18347 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18348 (join_types): New variable.
18349 (unpack_join): New function.
18350 (bidi_types): New variable.
18351 (unpack_bidi): New function.
18352 (get_bidi_type): Likewise.
18353 (get_join_type): Likewise.
18354 (is_mirrored): Likewise.
18355 (grub_unicode_get_comb_type): Likewise.
18356 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18357 (is_type_after): Likewise.
18358 (grub_unicode_aglomerate_comb): Likewise.
18359 (bidi_line_wrap): Likewise.
18360 (grub_bidi_line_logical_to_visual): Likewise.
18361 (grub_bidi_logical_to_visual): Likewise.
18362 (grub_unicode_mirror_code): Likewise.
18363 (grub_unicode_shape_code): Likewise.
18364 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18365 Don't use grub_putchar.
18366 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18367 (grub_normal_reader_init): Likewise.
18368 (grub_xputs_saved): New variable.
18369 (GRUB_MOD_INIT): Set grub_xputs.
18370 (GRUB_MOD_FINI): Restore grub_xputs.
18371 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18372 (menu_init): Avoid printing gfxmenu error.
18373 (show_menu): Use grub_normal_get_char_counter.
18374 * normal/menu_entry.c (update_screen): Fix out-of-array.
18375 (complete): Avoid NULL dereferencing.
18376 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18377 * normal/menu_text.c (print_spaces): Removed.
18378 (grub_print_ucs4): Likewise.
18379 (grub_print_message_indented): Use grub_print_ucs4.
18380 (print_message): Use grub_putcode.
18381 (print_entry): Hanlde diacritics.
18382 * normal/term.c (term_state): New type.
18383 (grub_more_lines): Removed.
18384 (term_states): New variable.
18385 (grub_normal_line_counter): Renamed to ..
18386 (grub_normal_char_counter): ...this. All users updated.
18387 (grub_normal_get_line_counter): Renamed to ...
18388 (grub_normal_get_char_counter): ... this.
18389 (grub_normal_reset_more): New function.
18390 (process_newline): Removed.
18391 (print_more): New function.
18392 (grub_install_newline_hook): Removed.
18393 (map_code): New function.
18394 (grub_puts_terminal): Use grub_print_ucs4.
18395 (putglyph): New function.
18396 (putcode_real): Likewise.
18397 (grub_putcode): Use putcode_real.
18398 (get_maxwidth): New function.
18399 (get_startwidth): Likewise.
18400 (print_ucs4_terminal): Likewise.
18401 (find_term_state): Likewise.
18402 (put_glyphs_terminal): Likewise.
18403 (print_backlog): Likewise.
18404 (print_ucs4_real): Likewise.
18405 (grub_print_ucs4): Likewise.
18406 (grub_xputs_normal): Likewise.
18407 * term/efi/console.c (grub_console_putchar): Output diacritics.
18408 (grub_console_getcharwidth): Removed.
18409 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18410 * term/gfxterm.c (clear_char): Free chars.
18411 (scroll_up): Avoid leaking memory.
18412 (grub_gfxterm_putchar): Support diacritics.
18413 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18414 * term/i386/pc/console.c (grub_console_term_output): Declare as
18415 GRUB_TERM_CODE_TYPE_VGA.
18416 * term/i386/pc/vga.c (grub_vga_term): Declare as
18417 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18418 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18419 GRUB_TERM_CODE_TYPE_VGA.
18420 * term/i386/vga_common.c (map_char): Removed.
18421 (grub_console_putchar): Likewise.
18422 (grub_console_getcharwidth): Likewise.
18423 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18424 (colors): Reordered to match terminfo.
18425 (grub_ofconsole_normal_color): Removed.
18426 (grub_ofconsole_writeesc): Likewise.
18427 (grub_ofconsole_highlight_color): Likewise.
18428 (grub_ofconsole_getcharwidth): Likewise.
18429 (grub_ofconsole_setcolorstate): Likewise.
18430 (grub_ofconsole_setcolor): Likewise.
18431 (grub_ofconsole_getcolor): Likewise.
18432 (grub_ofconsole_readkey): Renamed to ...
18433 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18435 (grub_ofconsole_checkkey): Removed.
18436 (grub_ofconsole_getkey): Likewise.
18437 (grub_ofconsole_getxy): Likewise.
18438 (grub_ofconsole_gotoxy): Likewise.
18439 (grub_ofconsole_cls): Likewise.
18440 (grub_ofconsole_refresh): Likewise.
18441 (grub_ofconsole_terminfo_input): New struct.
18442 (grub_ofconsole_terminfo_output): Likewise.
18443 (grub_ofconsole_term_input): Use terminfo.
18444 (grub_ofconsole_term_output): Likewise.
18445 (grub_console_init): Split into ...
18446 (grub_console_init_early): ...this and ...
18447 (grub_console_init_lately): ...this. Use terminfo.
18448 (grub_ofconsole_putchar): Renamed to ...
18449 (put): ... this. Remove mapping.
18450 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18451 * term/serial.c: Simplify using terminfo.
18454 (keep_track): Likewise.
18455 (registered): Likewise.
18456 (input_buf): Likewise.
18457 (npending): Likewise.
18458 (serial_translate_key_sequence): Likewise.
18459 (fill_input_buf): Likewise.
18460 (grub_serial_checkkey): Likewise.
18461 (grub_serial_getkey): Likewise.
18462 (grub_serial_getxy): Likewise.
18463 (grub_serial_gotoxy): Likewise.
18464 (grub_serial_putchar): Likewise.
18465 (grub_serial_cls): Likewise.
18466 (grub_serial_setcolorstate): Likewise.
18467 (grub_serial_setcursor): Likewise.
18468 (serial_hw_init): Use serial_hw_fetch.
18469 (grub_serial_terminfo_input): New variable.
18470 (grub_serial_terminfo_output): Likewise.
18471 (grub_serial_term_input): Use terminfo.
18472 (grub_serial_term_output): Likewise.
18473 * term/terminfo.c (putstr): Use put.
18474 (grub_terminfo_all_free): New function
18475 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18476 (grub_terminfo_output_register): New function.
18477 (grub_terminfo_output_unregister): Likewise.
18478 (grub_terminfo_getxy): Likewise.
18479 (grub_terminfo_readkey): Likewise.
18480 (grub_terminfo_checkkey): Likewise.
18481 (grub_terminfo_getkey): Likewise.
18482 (grub_terminfo_input_init): Likewise.
18483 (print_terminfo): Likewise.
18484 (grub_cmd_terminfo): Handle encoding.
18485 (grub_terminfo_gotoxy): Track position.
18486 (grub_terminfo_cls): Likewise.
18487 (grub_terminfo_putchar): Likewise.
18488 (grub_terminfo_setcolorstate): Handle colors
18489 (grub_terminfo_cursor_on): This ...
18490 (grub_terminfo_cursor_off): ... and this merged into ...
18491 (grub_terminfo_setcursor): ... this.
18492 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18493 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18494 * unicode/BidiMirroring.txt: Likewise.
18495 * unicode/UnicodeData.txt: Likewise.
18496 * unicode/COPYING: Likewise.
18497 * util/grub-editenv.c (grub_putchar): Removed.
18498 (grub_xputs_real): New function.
18499 (grub_xputs): New variable.
18500 * util/grub-fstest.c (grub_putchar): Removed.
18501 (grub_xputs_real): New function.
18502 (grub_xputs): New variable.
18503 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18504 (grub_xputs_real): New function.
18505 (grub_xputs): New variable.
18506 * util/grub-probe.c (grub_putchar): Removed.
18507 (grub_xputs_real): New function.
18508 (grub_xputs): New variable.
18509 * util/grub-script-check.c (grub_putchar): Removed.
18510 (grub_xputs_real): New function.
18511 (grub_xputs): New variable.
18512 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18513 (grub_xputs_real): New function.
18514 (grub_xputs): New variable.
18515 * util/import_unicode.py: New file.
18516 * util/grub-mkfont.c (ft_errmsgs): New array.
18517 (grub_glyph_info): Make bitmap a pointer.
18518 (file_formats): New type WIDTH_SPEC.
18519 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18520 (options): Add width-spec.
18522 (add_char): Renamed to ...
18523 (add_glyph): ... this.
18524 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18525 (glyph_replace): New type.
18526 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18527 (add_char): New function.
18528 (add_subst): Likewise.
18529 (process_cursive): Likewise.
18530 (add_font): Handle GSUB.
18531 (write_font_width_spec): New function.
18532 (main): Sort glyphs.
18533 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18534 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18535 * kern/term.c (grub_cls): Moved from here...
18536 * normal/term.c (grub_cls): ... here.
18538 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18540 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18541 suitable for using within the format argument of printf when
18542 converting grub_size_t.
18543 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18544 "x" to convert grub_size_t arguments.
18546 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18548 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18550 (list_get_minimal_size): Take selection box into account.
18552 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18554 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18557 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18559 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18560 devices when iterating over /dev/disk/by-id; they will be handled
18561 later if appropriate, which they aren't always (e.g. LVM).
18563 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18565 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18566 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18568 (grub_halt): Likewise.
18569 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18571 (grub_halt): Don't return, even if all of shut-down, power-off, and
18574 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18576 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18577 arguments, not three.
18579 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18581 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18582 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18583 LVM-on-RAID is handled correctly.
18585 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18587 * docs/grub.texi (Changes from GRUB Legacy): New section.
18588 (Future): Fix typo.
18590 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18592 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18593 grub.d/README accidentally ends up executable for one reason or
18594 another. Ignore it.
18596 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18598 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18599 (gpt_partition_map_iterate): Support non-512B sectors.
18601 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18603 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18604 Tested by: Seth Goldberg.
18606 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18608 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18609 Properly align mbi.
18610 Reported by: Seth Goldberg.
18612 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18614 * util/grub-mkrescue.in: Avoid module duplication.
18616 2010-07-01 Sean Finney <seanius@seanius.net>
18618 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18620 2010-07-01 Sean Finney <seanius@seanius.net>
18622 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18624 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18626 * disk/lvm.c (grub_lvm_checkvalue): New function.
18627 (grub_lvm_check_flag): Likewise.
18629 2010-07-01 Robert Millan <rmh@gnu.org>
18631 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18632 Support 'p' as partition separator on kernel of FreeBSD (used
18634 (grub_util_biosdisk_get_grub_dev): Likewise.
18636 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18638 Yeeloong firmware port.
18640 * boot/mips/yeeloong/fwstart.S: New file.
18641 * bus/cs5536.c (gpiodump): New const.
18642 (set_io_space): New function.
18643 (set_iod): Likewise.
18644 (set_p2d): Likewise.
18645 (grub_cs5536_init_geode): Likewise.
18646 * commands/mips/yeeloong/lsspd.c: New file.
18647 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18648 (serial_mod_SOURCES): New variable.
18649 (serial_mod_CFLAGS): Likewise.
18650 (serial_mod_LDFLAGS): Likewise.
18651 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18652 term/terminfo.c and term/tparm.c.
18653 (pkglib_IMAGES): Add fwstart.img.
18654 (fwstart_img_SOURCES): New variable.
18655 (fwstart_img_CFLAGS): Likewise.
18656 (fwstart_img_ASFLAGS): Likewise.
18657 (fwstart_img_LDFLAGS): Likewise.
18658 (fwstart_img_FORMAT): Likewise.
18659 (pkglib_MODULES): Add lsspd.mod.
18660 (lsspd_mod_SOURCES): New variable.
18661 (lsspd_mod_CFLAGS): Likewise.
18662 (lsspd_mod_LDFLAGS): Likewise.
18663 (pkglib_MODULES): Add halt.mod.
18664 (halt_mod_SOURCES): New variable.
18665 (halt_mod_CFLAGS): Likewise.
18666 (halt_mod_LDFLAGS): Likewise.
18667 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18668 (serial_mod_SOURCES): Removed.
18669 (serial_mod_CFLAGS): Likewise.
18670 (serial_mod_LDFLAGS): Likewise.
18671 * disk/ata.c (check_device): New function.
18672 (grub_ata_device_initialize): Use check_device.
18673 (grub_ata_iterate): Recheck devices.
18674 (grub_ata_open): Likewise.
18675 (grub_atapi_iterate): Likewise.
18676 (grub_atapi_open): Likewise.
18677 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18678 (GRUB_ATA_CH1_PORT1): Likewise.
18679 (GRUB_ATA_CH0_PORT2): Likewise.
18680 (GRUB_ATA_CH1_PORT2): Likewise.
18681 * include/grub/mips/loongson.h: New file.
18682 * include/grub/mips/yeeloong/ec.h: Likewise.
18683 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18684 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18685 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18686 * include/grub/misc.h (grub_halt): Declare as noreturn.
18687 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18688 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18689 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18690 (UART_ENABLE_DTRRTS): Likewise.
18691 (UART_ENABLE_MODEM): Removed.
18692 (UART_ENABLE_OUT2): New const.
18693 * include/grub/term.h (grub_term_register_input_active): New function.
18694 (grub_term_register_output_active): Likewise.
18695 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18697 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18698 (init_pci): New function.
18699 (grub_machine_init): Execute platform init when firmware. Init serial.
18700 (grub_halt): Implement.
18701 (grub_exit): Likewise.
18702 (grub_reboot): Likewise.
18703 * term/serial.c (serial_hw_init): Update macros.
18704 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18705 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18706 (image_targets): New target mipsel-yeeloong-flash.
18707 (generate_image): Support IMAGE_YEELOONG_FLASH.
18708 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18709 (grub_video_sm712_setup): Init card.
18710 (grub_video_sm712_set_palette): Removed.
18711 * video/sm712_init.c: New file.
18713 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
18715 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18716 PATH when running help2man and then run it on the unadorned
18717 executable names, rather than passing $(builddir)/* paths to
18718 help2man. This avoids the build directory ending up in generated
18721 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18723 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18724 to avoid accidents when debugging with 'sh -x'.
18725 * util/grub-mkrescue.in: Likewise.
18726 * util/grub.d/00_header.in: Likewise.
18727 * util/grub.d/10_hurd.in: Likewise.
18728 * util/grub.d/10_kfreebsd.in: Likewise.
18729 * util/grub.d/10_linux.in: Likewise.
18730 * util/grub.d/10_netbsd.in: Likewise.
18731 * util/grub.d/10_windows.in: Likewise.
18732 * util/grub.d/20_linux_xen.in: Likewise.
18733 * util/grub.d/30_os-prober.in: Likewise.
18734 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18736 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18738 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18739 last character in the buffer.
18740 Reported by: Vladimir Serbinenko.
18742 2010-06-29 Robert Millan <rmh@gnu.org>
18744 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18745 (Command-line and menu entry commands): Document `badram' command.
18747 2010-06-28 Robert Millan <rmh@gnu.org>
18749 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18750 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18751 command using ${GRUB_BADRAM} as parameter.
18753 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18755 * docs/grub.texi (Device map): New section.
18756 (Themes): New section (stub).
18757 * Makefile.in (docs/grub.info): The info documentation now builds
18758 without errors. Make sure it stays that way.
18760 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18762 Use normal parser for menu entries.
18763 Reported by: Thomas Frauendorfer
18765 * include/grub/parser.h (grub_parser_execute): Don't export.
18766 * normal/menu.c (grub_menu_execute_entry_real): New function.
18767 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18769 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18771 * docs/grub.texi (Embedded configuration): New section (replacing
18772 old "Preset Menu" stub).
18773 (Images): New section.
18774 (configfile): Note that any menu entries defined in `file' are shown
18777 2010-06-28 Josh Triplett <josh@joshtriplett.org>
18779 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18781 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18783 * util/grub-install.in: Add --debug-image= option.
18785 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18787 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18790 * util/deviceiter.c (check_device): Rename to ...
18791 (check_device_readable_unique): ... this. Update all callers.
18792 Maintain and check a list of which devices (by canonicalized name)
18793 have already been seen.
18794 (clear_seen_devices): New function.
18795 (compare_file_names) [__linux__]: New function.
18796 (grub_util_iterate_devices): Clear the list of seen devices on exit
18797 and (just in case) on entry.
18798 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18799 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18800 seen-devices list, superseded by general code in check_device.
18802 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18804 * commands/cat.c (options): New variable.
18805 (grub_cmd_cat): Parse options. If the --dos option is given, print
18806 DOS-style "\r\n" line endings as simple newlines (Debian bug
18808 (GRUB_MOD_INIT): Use extcmd.
18809 (GRUB_MOD_FINI): Likewise.
18810 * docs/grub.texi (cat): Document --dos.
18812 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18814 XEN with Linux grub-mkconfig support.
18816 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18817 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18818 GRUB_CMDLINE_XEN_DEFAULT.
18819 * util/grub.d/20_linux_xen.in: New file.
18821 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18823 Initialise VGA video on qemu ourselves.
18825 * boot/i386/qemu/boot.S: Don't call 0xc000.
18826 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18827 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18828 (kernel_img_HEADERS): Add pci.h.
18829 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18830 * configure.ac: Force unifont on qemu and yeeloong.
18831 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18832 (grub_vga_palette_write): Use correct register.
18833 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18834 Call grub_qemu_init_cirrus.
18835 * kern/i386/qemu/init.c: New file.
18836 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18838 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18840 2010-06-26 Pavel Roskin <proski@gnu.org>
18842 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18845 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18847 * docs/grub.texi (Simple configuration): Explain that
18848 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18849 set to `true' to disable their respective recovery entries, not
18852 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18854 Make the `source' command slightly faster.
18856 * normal/main.c (grub_normal_execute): Don't re-read list files when
18859 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18861 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18862 field position and mask size to red fields from mode_info, not
18864 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18865 Remove redundant tag->common.framebuffer_type assignment.
18866 Reported by: Seth Goldberg.
18868 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18870 Sync up other versions of the Linux loader with Robert Millan's
18871 change of 2010-01-09, "Make loader output a bit more user-friendly".
18873 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18875 (grub_cmd_linux): Likewise.
18876 (grub_cmd_initrd): Likewise.
18877 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18878 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18880 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
18882 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18883 larger than MEMORY_MAP_SIZE.
18885 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18887 Fix parallel build.
18889 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18891 * script/parser.y: #include grub_script.tab.h header.
18893 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18895 Support >3GiB and <16MiB RAM in i386-qemu.
18897 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18898 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18899 (grub_lower_mem): Removed.
18900 (grub_upper_mem): Likewise.
18901 (mem_size): Made static.
18902 (above_4g): New variable.
18903 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18904 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18907 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18909 Cirrus 5446 and Bochs video cards support.
18911 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
18913 (video_cirrus_mod_SOURCES): New variable.
18914 (video_cirrus_mod_CFLAGS): Likewise.
18915 (video_cirrus_mod_LDFLAGS): Likewise.
18916 (video_bochs_mod_SOURCES): Likewise.
18917 (video_bochs_mod_CFLAGS): Likewise.
18918 (video_bochs_mod_LDFLAGS): Likewise.
18919 * include/grub/vga.h: New file.
18920 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
18921 (grub_video_fb_set_page_t): New type.
18922 (grub_video_fb_setup): New prototype.
18923 (grub_video_fb_swap_buffers): Likewise.
18924 (grub_video_fb_get_info_and_fini): Likewise.
18925 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
18926 (CRTC_DATA_PORT): Likewise.
18927 (CRTC_CURSOR): Likewise.
18928 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18929 (CRTC_CURSOR_ADDR_LOW): Likewise.
18930 (CRTC_CURSOR_DISABLE): Likewise.
18931 (update_cursor): Use grub_vga_cr_write.
18932 (grub_vga_text_setcursor): Likewise.
18933 * video/bochs.c: New file.
18934 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
18935 (palette): Likewise.
18936 (palette_size): Likewise.
18937 (framebuffer): New variable.
18938 (grub_video_fb_init): Use 'framebuffer'.
18939 (grub_video_fb_fini): Likewise.
18940 (grub_video_fb_get_info): Likewise.
18941 (grub_video_fb_get_palette): Likewise.
18942 (grub_video_fb_set_palette): Likewise.
18943 (grub_video_fb_set_viewport): Likewise.
18944 (grub_video_fb_get_viewport): Likewise.
18945 (grub_video_fb_map_color): Likewise.
18946 (grub_video_fb_map_rgb): Likewise.
18947 (grub_video_fb_map_rgba): Likewise.
18948 (grub_video_fb_unmap_color): Likewise.
18949 (grub_video_fb_unmap_color_int): Likewise.
18950 (grub_video_fb_fill_rect): Likewise.
18951 (grub_video_fb_blit_bitmap): Likewise.
18952 (grub_video_fb_blit_render_target): Likewise.
18953 (grub_video_fb_scroll): Likewise.
18954 (grub_video_fb_create_render_target): Likewise.
18955 (grub_video_fb_doublebuf_blit_init): Likewise.
18956 (grub_video_fb_set_active_render_target): Handle doublebuffering.
18957 (doublebuf_pageflipping_update_screen): New function.
18958 (doublebuf_pageflipping_init): Likewise.
18959 (grub_video_fb_setup): Likewise.
18960 (grub_video_fb_swap_buffers): Likewise.
18961 (grub_video_fb_get_info_and_fini): Likewise.
18962 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
18964 (doublebuf_pageflipping_commit): Restructured into ...
18965 (doublebuf_pageflipping_set_page): ... this.
18966 (doublebuf_pageflipping_update_screen): Removed.
18967 (doublebuf_pageflipping_init): Likewise.
18968 (double_buffering_init): Likewise.
18969 (grub_video_vbe_setup): Use grub_video_fb_setup.
18970 (grub_video_vbe_swap_buffers): Removed.
18971 (grub_video_vbe_set_active_render_target): Likewise.
18972 (grub_video_vbe_get_active_render_target): Likewise.
18973 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
18974 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
18975 grub_video_fb_set_active_render_target and
18976 grub_video_fb_get_active_render_target.
18977 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
18978 (SEQUENCER_DATA_PORT): Likewise.
18979 (MAP_MASK_REGISTER): Likewise.
18980 (CRTC_ADDR_PORT): Likewise.
18981 (CRTC_DATA_PORT): Likewise.
18982 (START_ADDR_HIGH_REGISTER): Likewise.
18983 (START_ADDR_LOW_REGISTER): Likewise.
18984 (GRAPHICS_ADDR_PORT): Likewise.
18985 (GRAPHICS_DATA_PORT): Likewise.
18986 (READ_MAP_REGISTER): Likewise.
18987 (INPUT_STATUS1_REGISTER): Likewise.
18988 (INPUT_STATUS1_VERTR_BIT): Likewise.
18989 (get_map_mask): Use grub_vga_sr_read.
18990 (set_map_mask): Use grub_vga_sr_write.
18991 (set_read_map): Use grub_vga_gr_write.
18992 (set_start_address): Use grub_vga_cr_write.
18993 * video/sm712.c (framebuffer): Remove leftover fields.
18995 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
18997 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
18998 setting GRUB_VIDEO_BACKEND. Make it available as a user override
18999 instead. Replace the gfxterm backend check with a check that
19000 ${GRUB_PREFIX}/video.lst is non-empty.
19001 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19003 (load_video): New generated function. Call it before loading
19004 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19005 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19006 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19007 * docs/grub.texi (Simple configuration): Document
19008 GRUB_VIDEO_BACKEND.
19010 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19012 Use video functions in linux and xnu loaders.
19014 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19015 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19016 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19017 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19018 loader/i386/pc/linux.c.
19019 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19020 (find_line_len): Removed.
19021 (find_framebuf): Likewise.
19022 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19023 * loader/i386/efi/xnu.c: Removed.
19024 * loader/i386/pc/xnu.c: Moved from here...
19025 * loader/i386/xnu.c: ...here.
19027 Enable priorities in video drivers.
19029 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19030 (grub_video_adapter): New field prio.
19031 (grub_video_register): Respect prio when inserting.
19032 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19033 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19034 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19035 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19036 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19037 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19038 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19042 * include/grub/video.h (grub_video_driver_id_t): New value
19043 GRUB_VIDEO_DRIVER_SDL.
19044 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19046 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19048 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19049 argument to printf.
19050 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19052 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19054 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19055 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19057 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19059 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19060 directly, and recommend grub-install instead.
19061 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19063 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19065 Fix i386-pc prefix handling with nested partitions (Debian bug
19066 #585068). Note that the case where the core image is booted using
19067 multiboot and relocated from its original location still requires
19070 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19071 with "(,", fill the boot drive in between those two characters, but
19072 expect that a full partition specification including partition map
19074 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19075 specified, write a prefix without the drive name but including a
19076 full partition specification.
19078 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
19080 * util/grub-mkconfig.in: Ignore non-option arguments, for
19081 compatibility with older versions (before 2010-06-12) which did the
19082 same. In particular, this makes it easier to ship an update-grub
19083 wrapper which is compatible with that used with GRUB Legacy (Debian
19086 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19088 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19089 for manual page generation.
19091 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19093 * po/POTFILES: Remove leftover commands/handler.c.
19095 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19097 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19098 left this script non-functional.
19100 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19102 * docs/man/grub-emu.h2m: New file.
19104 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
19106 * docs/grub.texi (Commands): Document reduced command set in rescue
19108 (cpuid): New section.
19110 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19112 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19113 new partition naming style.
19114 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19116 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19118 Add "-o grub.iso" like cmdline options support.
19120 * util/grub-install.in: Improve cmdline option parsing.
19121 * util/grub-mkconfig.in: Likewise.
19122 * util/grub-mkrescue.in: Likewise.
19123 * util/grub-reboot.in: Likewise.
19124 * util/grub-set-default.in: Likewise.
19125 * util/i386/efi/grub-install.in: Likewise.
19126 * util/ieee1275/grub-install.in: Likewise.
19127 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19129 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19131 * .bzrignore: Ignore 41_custom.
19133 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19135 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19137 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19139 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19140 prototype declarations.
19142 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19143 generating fs, partmap, and video lists.
19144 * include/grub/fs.h (grub_fs_register): Omit prototype if
19145 GRUB_LST_GENERATOR is defined.
19146 * include/grub/partition.h (grub_partition_map_register): Likewise.
19147 * include/grub/video.h (grub_video_register): Likewise.
19149 2010-06-12 Javier Martín <lordhabbit@gmail.com>
19151 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19153 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19155 * util/grub-mkrescue.in: Support --xorriso argument.
19157 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19159 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19160 Suggested by: Thomas Schmitt.
19162 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19164 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19165 Suggested by: Thomas Schmitt.
19167 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19169 custom.cfg support.
19171 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19172 * util/grub.d/41_custom.in: New file.
19174 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19176 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19177 been merged back into normal.
19179 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19181 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19182 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19184 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19186 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19187 when generating manual pages.
19188 * docs/man/grub-bin2h.h2m: New file.
19189 * docs/man/grub-editenv.h2m: New file.
19190 * docs/man/grub-fstest.h2m: New file.
19191 * docs/man/grub-install.h2m: New file.
19192 * docs/man/grub-macho2img.h2m: New file.
19193 * docs/man/grub-mkconfig.h2m: New file.
19194 * docs/man/grub-mkdevicemap.h2m: New file.
19195 * docs/man/grub-mkfont.h2m: New file.
19196 * docs/man/grub-mkimage.h2m: New file.
19197 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19198 * docs/man/grub-mkrelpath.h2m: New file.
19199 * docs/man/grub-mkrescue.h2m: New file.
19200 * docs/man/grub-ofpathname.h2m: New file.
19201 * docs/man/grub-pe2elf.h2m: New file.
19202 * docs/man/grub-probe.h2m: New file.
19203 * docs/man/grub-reboot.h2m: New file.
19204 * docs/man/grub-script-check.h2m: New file.
19205 * docs/man/grub-set-default.h2m: New file.
19206 * docs/man/grub-setup.h2m: New file.
19208 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19210 Use FOR_* macros instead of *_iterate whenever possible.
19212 * commands/handler.c: Removed.
19213 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19214 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19215 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19216 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19217 (grub_probe_SOURCES): Remove kern/parser.c.
19218 (util/grub-script-check.c_DEPENDENCIES): Removed.
19219 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19220 and grub_script_check_init.c.
19221 (grub_script_check_init.lst): Removed.
19222 (grub_script_check_init.h): Likewise.
19223 (grub_script_check_init.c): Likewise.
19224 (pkglib_MODULES): Remove handler.mod and sh.mod.
19225 (handler_mod_SOURCES): Removed.
19226 (handler_mod_CFLAGS): Likewise.
19227 (handler_mod_LDFLAGS): Likewise.
19228 (normal_mod_SOURCES): Remove normal/handler.c.
19229 Add script/main.c, script/script.c, script/execute.c,
19230 script/function.c, script/lexer.c, grub_script.tab.c
19231 and grub_script.yy.c.
19232 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19233 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19234 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19235 (grub_setup_SOURCES): Remove kern/parser.c.
19236 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19237 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19238 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19239 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19240 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19241 (grub_setup_SOURCES): Remove kern/parser.c.
19242 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19243 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19244 * include/grub/command.h (grub_command_iterate): Removed.
19245 (FOR_COMMANDS): New macro.
19246 * include/grub/dl.h (grub_dl): New member next.
19247 (grub_dl_iterate): Removed.
19248 (grub_dl_head): New variable declaration.
19249 (FOR_DL_MODULES): New macro.
19250 * include/grub/fs.h: Include list.h.
19251 (grub_fs): Make next first element.
19252 (grub_fs_list): New variable declaration.
19253 (grub_fs_register): Make inline.
19254 (grub_fs_unregister): Likewise.
19255 (grub_fs_iterate): Removed.
19256 (FOR_FILESYSTEMS): New macro.
19257 * include/grub/handler.h: Removed.
19258 * include/grub/list.h (grub_list_hook_t): Removed.
19259 (grub_list_test_t): Likewise.
19260 (grub_list_pop): Likewise.
19261 (grub_list_iterate): Likewise.
19262 (grub_list_insert): Likewise.
19263 (FOR_LIST_ELEMENTS): New macro.
19264 * include/grub/parser.h (grub_parser_class): Removed.
19265 (grub_parser_register): Likewise.
19266 (grub_parser_unregister): Likewise.
19267 (grub_parser_get_current): Likewise.
19268 (grub_parser_set_current): Likewise.
19269 (grub_register_rescue_parser): Likewise.
19270 (grub_rescue_parse_line): New function.
19271 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19272 * include/grub/script_sh.h (grub_script_function_list): New variable
19274 (FOR_SCRIPT_FUNCTIONS): New macro.
19275 (grub_script_function_iterate): Removed.
19276 (grub_normal_parse_line): New prototype.
19277 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19278 (FOR_DISABLED_TERM_INPUTS): Likewise.
19279 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19280 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19281 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19283 (grub_video_register): Inline.
19284 (grub_video_unregister): Likewise.
19285 (grub_video_adapter_list): New variable declaration.
19286 (grub_video_iterate): Removed.
19287 (FOR_VIDEO_ADAPTERS): New macro.
19288 * kern/dl.c (grub_dl_list): Removed. All users updated.
19289 (grub_dl_iterate): Removed.
19290 * kern/fs.c (grub_fs_list): Make global.
19291 (grub_fs_register): Removed.
19292 (grub_fs_unregister): Likewise.
19293 (grub_fs_iterate): Likewise.
19294 * kern/handler.c: Removed.
19295 * kern/list.c (grub_list_pop): Removed.
19296 (grub_list_iterate): Likewise.
19297 (grub_list_insert): Likewise.
19298 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19299 (grub_prio_list_insert): Don't use grub_list_insert.
19300 * kern/main.c (grub_register_rescue_parser): Don't call
19301 grub_register_rescue_parser.
19302 * kern/parser.c (grub_parser_class): Removed.
19303 (grub_parser_execute): Use grub_rescue_parse_line.
19304 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19305 (grub_rescue_parser): Removed.
19306 (grub_register_rescue_parser): Likewise.
19307 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19308 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19309 (grub_auth_check_authentication): Likewise.
19310 * normal/completion.c (iterate_command): Removed.
19311 (grub_normal_do_completion): Use FOR_COMMANDS.
19312 * normal/handler.c: Removed.
19313 * normal/main.c (read_config_file): Remove parser changing.
19314 (grub_normal_execute): Don't call read_handler_list.
19315 (grub_normal_read_line_real): Statically allocate prompt.
19316 (grub_cmdline_run): Use grub_normal_parse_line.
19317 (GRUB_MOD_FINI): Don't call free_handler_list.
19318 * normal/menu_entry.c (run): Likewise.
19319 * script/function.c (grub_script_function_list): Make global.
19320 (grub_script_function_iterate): Removed.
19321 * script/main.c (grub_normal_parse_line): Make global.
19322 (grub_sh_parser): Removed.
19323 (GRUB_MOD_INIT): Likewise.
19324 (GRUB_MOD_FINI): Likewise.
19325 * tests/lib/functional_test.c (grub_functional_test): Use
19327 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19328 (grub_test_run): Use FOR_LIST_ELEMENTS.
19329 * tests/lib/unit_test.c (main): Likewise.
19330 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19332 * util/grub-fstest.c (grub_term_input_class): Removed.
19333 (grub_term_output_class): Likewise.
19334 * util/grub-probe.c: Likewise.
19335 * util/i386/pc/grub-setup.c: Likewise.
19336 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19337 * util/grub-script-check.c (main): Don't call grub_init_all and
19339 * video/video.c (grub_video_adapter_list): Make global.
19340 (grub_video_register): Removed.
19341 (grub_video_unregister): Likewise.
19342 (grub_video_iterate): Likewise.
19344 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19346 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19347 reported by Henrique Ferreiro.
19349 2010-06-09 Robert Millan <rmh@gnu.org>
19351 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19352 ones, when both are available.
19354 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19356 Make --version uniform and avoid hard-coded program name.
19358 * util/grub-mkimage.c (main): Use `program_name' instead of
19360 * util/i386/pc/grub-setup.c (main): Likewise.
19361 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19362 * util/grub-install.in: Save the basename of $0 in $self, and use the
19363 latter in informational messages. Use the same format for --version
19364 as the binary programs.
19365 * util/grub-mkconfig.in: Likewise.
19366 * util/grub-mkrescue.in: Likewise.
19367 * util/grub-reboot.in: Likewise.
19368 * util/grub-set-default.in: Likewise.
19369 * util/i386/efi/grub-install.in: Likewise.
19370 * util/ieee1275/grub-install.in: Likewise.
19371 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19373 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19375 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19376 embedding area. Use <= instead of == when checking for non-emptiness.
19378 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19380 * configure.ac: Add `.' to the directories searched for unifont.
19382 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19384 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19387 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19389 * docs/grub.texi (History): Expand to cover GRUB 2.
19390 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19391 commands, not `terminal'.
19392 (serial): Likewise.
19393 (terminal_input): New section.
19394 (terminal_output): New section.
19395 (uppermem): New section (stub).
19396 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19398 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19400 * docs/grub.texi (Security): Menu entries are unrestricted by
19401 default, not restricted to superusers as I had previously thought.
19402 Reword to account for this.
19404 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19406 * kern/emu/misc.c (device_mapper_null_log): New function.
19407 (grub_device_mapper_supported): New function.
19408 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19410 * kern/emu/hostdisk.c (find_partition_start): Check whether
19411 device-mapper is supported before trying to use it.
19412 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19414 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19416 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19417 (File name syntax): Likewise.
19418 (help): --all is no longer supported in GRUB 2. Be more precise
19419 about pattern matching.
19421 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19423 * normal/completion.c (grub_normal_do_completion): When completing
19424 arguments to "set" and the current word contains an equals sign,
19425 skip to after the equals sign before starting completion.
19427 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19429 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19431 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19433 * docs/grub.texi (Network): New section.
19434 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19435 `(nd)' as in GRUB Legacy.
19436 (pxe_unload): New section.
19438 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19440 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19441 in the rescue shell, so recommend using `set' instead. Thanks,
19444 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19446 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19447 (password): New section.
19448 (password_pbkdf2): New section.
19449 (search): New section.
19450 (Security): New section.
19451 (Troubleshooting): New section, currently very incomplete.
19452 (Invoking grub-mkpasswd-pbkdf2): New section.
19453 (Internals): New section, currently very incomplete.
19455 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19457 * util/grub.d/00_header.in: Add some more quoting (of
19458 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19460 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19462 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19464 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19465 to `count', fixing variable shadowing that broke the -c option.
19467 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
19469 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19470 in case they contain spaces.
19472 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19474 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19475 "part_" to partmap module names, in line with grub-install.
19476 Reported by: Jindřich Makovička (Debian bug #584426).
19478 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19480 * util/grub-mkimage.c: Make target-related error messages slightly
19481 more helpful; -O talks about "format". Explicitly point to the use
19482 of -O if no target is specified.
19483 Reported by: Didier Raboud (Debian bug #584415).
19485 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
19487 * INSTALL: Document several build requirements for optional features
19488 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19490 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19492 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19493 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19494 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19496 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19498 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19499 Thanks to Jordan Uggla for spotting this.
19501 2010-06-02 Aleš Nesrsta <starous@volny.cz>
19503 Finally make USB usable.
19505 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19506 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19507 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19508 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19509 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19510 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19511 (GRUB_OHCI_FSMPS): Likewise.
19512 (GRUB_OHCI_PERIODIC_START): Likewise.
19513 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19514 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19515 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19516 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19517 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19518 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19519 (grub_ohci_transaction): Likewise.
19520 (grub_ohci_transfer): Improve condition detection algorithms.
19521 Handle toggle property. Program the transactions correctly.
19522 Improve error handling. Various important fixups.
19523 (grub_ohci_portstatus): Put register writes in right order.
19524 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19525 (grub_uhci_transfer): Don't show "failed" message on success.
19526 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19528 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19529 determine its size.
19530 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19531 before initialization is completed. Use IN direction for empty
19532 transfers. Use last_trans and compute toggle.
19533 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19534 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19535 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19536 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19537 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19538 (grub_usb_device): Increase toggle to 256.
19539 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19540 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19541 GRUB_USBMS_SUBCLASS_SFF8070.
19542 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19543 (grub_scsi_inquiry): New member page and alloc_length.
19544 (grub_scsi_request_sense): New structure.
19545 (grub_scsi_request_sense_data): Likewise.
19546 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19548 * disk/scsi.c (grub_scsi_request_sense): New function.
19549 (grub_scsi_test_unit_ready): Likewise.
19550 (grub_scsi_inquiry): Fill new fields.
19551 (grub_scsi_read_capacity): Likewise.
19552 (grub_scsi_read10): Add request sense at the end.
19553 (grub_scsi_read12): Likewise.
19554 (grub_scsi_write10): Likewise.
19555 (grub_scsi_write12): Likewise.
19556 (grub_scsi_open): Add Test Unit Ready.
19557 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19558 Support additional subclasses. Con't clear halt yet. Activate the
19559 proper config. Calculate LUNs correctly.
19560 (grub_usbms_transfer): Various important fixups.
19562 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19564 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19565 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19566 (grub_ohci_fini_hw): New function.
19567 (grub_ohci_restore_hw): Likewise.
19568 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19569 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19570 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19572 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19574 Dedicated DMA allocations.
19576 * bus/pci.c (grub_memalign_dma32): New function
19577 (grub_dma_free): Likewise.
19578 (grub_dma_get_virt): Likewise.
19579 (grub_dma_get_phys): Likewise.
19580 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19581 (grub_ohci_pci_iter): Use dma32_alloc.
19582 (grub_ohci_transfer): Likewise.
19583 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19584 (grub_usb_bulk_readwrite): Likewise.
19585 * include/grub/pci.h: Add declarations.
19587 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19591 * bus/cs5536.c: New file.
19592 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19593 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19594 (cs5536_mod_SOURCES): New variable.
19595 (cs5536_mod_CFLAGS): Likewise.
19596 (cs5536_mod_LDFLAGS): Likewise.
19597 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19599 (kernel_img_SOURCES): Add bus/cs5536.c.
19600 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19602 (usb_mod_SOURCES): New variable.
19603 (usb_mod_CFLAGS): New variable.
19604 (usb_mod_LDFLAGS): New variable.
19605 (usbtest_mod_SOURCES): New variable.
19606 (usbtest_mod_CFLAGS): New variable.
19607 (usbtest_mod_LDFLAGS): New variable.
19608 (ohci_mod_SOURCES): New variable.
19609 (ohci_mod_CFLAGS): New variable.
19610 (ohci_mod_LDFLAGS): New variable.
19611 (usbms_mod_SOURCES): New variable.
19612 (usbms_mod_CFLAGS): New variable.
19613 (usbms_mod_LDFLAGS): New variable.
19614 (usb_keyboard_mod_SOURCES): New variable.
19615 (usb_keyboard_mod_CFLAGS): New variable.
19616 (usb_keyboard_mod_LDFLAGS): New variable.
19617 * include/grub/smbus.h: New file.
19618 * include/grub/cs5536.h: New file.
19620 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19622 * util/grub.d/00_header.in: Add safety check to make sure that
19623 ${locale_dir} exists before trying to probe it.
19625 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19627 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19628 per the GNU Coding Standards; this is now too obscure to be worth
19631 (chainloader): Remove cross-reference to `SCO UnixWare'.
19633 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19635 * docs/grub.texi (Chain-loading): New section.
19636 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19637 adjusted for GRUB 2.
19638 (SCO UnixWare): Likewise.
19640 (chainloader): Add reference to `Block list syntax'.
19641 (drivemap): New section.
19642 (parttool): New section.
19644 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19646 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19648 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19649 (Installing GRUB using grub-install): Remove reference to the grub
19650 shell; mention `grub-mkimage' and `grub-setup' instead.
19651 (Invoking grub-install): Likewise.
19652 (Interface): Add reference to `Menu entry editor'.
19653 (serial): Remove `--device' option.
19655 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19657 * docs/grub.texi (Configuration): New section, documenting
19658 configuration file generation using grub-mkconfig. I've left a slot
19659 for documenting the full shell scripting format but have not yet
19660 started on writing that up.
19661 (Invoking grub-mkconfig): New section.
19663 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19665 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19666 (GNU GRUB manual): Likewise.
19667 (General commands): Update description of `terminfo' for GRUB 2.
19669 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19671 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19672 (GRUB_MOD_INIT): Fix capitalisation.
19673 * docs/grub.texi (Command-line and menu entry commands): Document
19674 gettext and gptsync commands.
19676 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19678 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19679 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19681 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
19683 Add btrfs probing support, currently only in the single-device case.
19685 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19687 (grub_guess_root_device): Call find_root_device_from_mountinfo
19688 before looking in /dev.
19690 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19692 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19693 GRUB_DISK_SIZE_UNKNOWN.
19694 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19696 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
19698 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19699 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19700 corrupted or not synced properly.
19702 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19704 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19705 Reported by: Seth Goldberg.
19707 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19709 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19711 Reported by: Seth Goldberg.
19713 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19715 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19716 Reported by: Seth Goldberg.
19718 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19720 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19721 64-bit address as signed on MIPS.
19723 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19725 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19726 to the empty string.
19728 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19730 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19732 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19733 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19734 * kern/misc.c (__enable_execute_stack): Disable on
19737 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19739 Make grub-probe work with symbolic links under /dev/mapper as well
19740 as with real block devices. The Linux world seems to be (at best)
19741 in transition here, and GRUB shouldn't get caught in the middle.
19743 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19746 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19748 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19749 input files (in which case exit zero).
19751 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19753 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19754 return NULL for various reasons even if it has a maximum-length
19755 buffer: for example, there might be a symlink loop, or the path
19756 might exceed PATH_MAX. If this happens, return NULL.
19758 2010-05-27 Robert Millan <rmh@gnu.org>
19760 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19761 partmap module to handle cross-partmap setups.
19762 Reported by Orestes Mas. Gràcies!
19764 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19766 * util/grub-mkrescue.in: Initialise override_dir rather than
19767 assuming that it's unset or empty in the environment.
19769 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19771 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19772 variable index into p_index to suppress a warning with -Wshadow.
19774 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19776 * INSTALL: Added flex >= 2.5.35 requirement.
19778 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19780 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19782 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19786 * commands/i386/cmostest.c: New file.
19787 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19788 (cmostest_mod_SOURCES): New variable.
19789 (cmostest_mod_CFLAGS): Likewise.
19790 (cmostest_mod_LDFLAGS): Likewise.
19791 * conf/i386-pc.rmk: Likewise.
19792 * docs/grub.texi (Vendor power-on keys): New section.
19793 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19794 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19795 and GRUB_BUTTON_CMOS_ADDRESS.
19796 * util/grub.d/00_header.in: Handle powering-on by separate button.
19798 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19800 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19801 Removed drawing_scrollbar argument. All users updated
19803 Reported by Jo Shields
19805 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19807 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19808 buffer since gfxterm handles double repaint.
19810 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19812 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19813 * term/gfxterm.c (real_scroll): Likewise.
19815 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19817 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19818 before calling BIOS.
19820 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19822 * include/grub/i18n.h: Always enable grub_gettext.
19824 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19826 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19827 partition naming style.
19829 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
19831 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19832 not the first option.
19834 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19836 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19838 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19840 * util/misc.c: Move inclusion of <limits.h> to ...
19841 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19843 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19845 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19846 Fix merge error in NetBSD code.
19847 (find_partition_start) [__NetBSD__]: Likewise.
19849 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19851 Fix grub-mkrescue usage unit testing.
19853 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19855 2010-05-18 Christian Franke <franke@computer.org>
19857 * util/grub.d/10_windows.in: Use path names instead of
19858 drive letters to prevent warning from Cygwin 1.7.
19859 Add drivemap command to menuentry if needed.
19861 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19863 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19864 gnumach and gnumach.gz.
19866 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19868 * include/grub/i18n.h (gettext): Inline instead of using #define.
19869 (grub_gettext): Likewise.
19872 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19874 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19875 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19876 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19877 (main): Add a slash after pkglibdirroot.
19879 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19881 * util/grub-install.in: Add missing "in" keyword.
19883 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19885 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19886 Reported by: Seth Goldberg.
19888 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19890 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19892 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19894 * configure.ac: Check for Linux device-mapper support.
19896 * util/hostdisk.c (device_is_mapped): New function.
19897 (find_partition_start): New function, partly broken out from
19898 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19899 device-mapper support added.
19900 (linux_find_partition): Use find_partition_start.
19901 (convert_system_partition_to_system_disk): Add `st' argument.
19902 Support Linux /dev/mapper/* devices if device-mapper support is
19903 available; only DM-RAID devices are understood at present.
19904 (find_system_device): Add `st' argument. Pass it to
19905 convert_system_partition_to_system_disk.
19906 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19907 find_system_device and convert_system_partition_to_system_disk. Use
19908 find_partition_start.
19910 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
19911 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
19912 * util/deviceiter.c [__linux__]: Define MINOR.
19913 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
19914 * util/mkdevicemap.c (grub_putchar): New function.
19915 (grub_getkey): New function.
19916 (grub_refresh): New function.
19917 (main): Set debug=all if -v -v is used.
19919 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19921 Fix build with non-GNU libcs.
19923 * util/misc.c (canonicalize_file_name): Move to ...
19924 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
19925 grub_make_system_path_relative_to_its_root.
19927 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19929 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
19930 we handle finding grub-mkimage. Default to finding grub-mkimage in
19931 ${bindir} with program_transform_name applied, and provide a
19932 --grub-mkimage option to override this.
19934 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19936 Remove grub-mkisofs.
19938 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
19939 (grub_mkisofs_SOURCES): Removed.
19940 (grub_mkisofs_CFLAGS): Removed.
19941 * util/mkisofs/defaults.h: Removed.
19942 * util/mkisofs/eltorito.c: Likewise.
19943 * util/mkisofs/exclude.h: Likewise.
19944 * util/mkisofs/hash.c: Likewise.
19945 * util/mkisofs/include/: Likewise.
19946 * util/mkisofs/include/fctldefs.h: Likewise.
19947 * util/mkisofs/include/mconfig.h: Likewise.
19948 * util/mkisofs/include/prototyp.h: Likewise.
19949 * util/mkisofs/include/statdefs.h: Likewise.
19950 * util/mkisofs/iso9660.h: Likewise.
19951 * util/mkisofs/joliet.c: Likewise.
19952 * util/mkisofs/match.c: Likewise.
19953 * util/mkisofs/match.h: Likewise.
19954 * util/mkisofs/mkisofs.c: Likewise.
19955 * util/mkisofs/mkisofs.h: Likewise.
19956 * util/mkisofs/msdos_partition.h: Likewise.
19957 * util/mkisofs/multi.c: Likewise.
19958 * util/mkisofs/name.c: Likewise.
19959 * util/mkisofs/rock.c: Likewise.
19960 * util/mkisofs/tree.c: Likewise.
19961 * util/mkisofs/write.c: Likewise.
19963 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19965 Unify grub-mkimage accross platforms.
19967 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
19968 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
19969 (grub_mkelfimage_SOURCES): Removed.
19970 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
19971 (util/grub-mkimage.c_DEPENDENCIES): .. this.
19972 (bin_UTILITIES): Add grub-mkimage.
19973 (grub_mkimage_SOURCES): New variable.
19974 (kernel_img_HEADERS): Remove machine/kernel.h.
19975 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
19976 (pkglib_PROGRAMS): Add kernel.img.
19977 (kernel_img_HEADERS): Add machine/kernel.h.
19978 (kernel_img_FORMAT): Removed.
19979 (bin_UTILITIES): Remove grub-mkimage.
19980 (grub_mkimage_SOURCES): Removed.
19981 (grub_mkimage_CFLAGS): Likewise.
19982 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19983 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
19984 (pkglib_PROGRAMS): Add kernel.img.
19985 (bin_UTILITIES): Remove grub-mkimage.
19986 (grub_mkimage_SOURCES): Removed.
19987 (grub_mkimage_CFLAGS): Likewise.
19988 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19989 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
19990 (pkglib_PROGRAMS): Add kernel.img.
19991 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
19992 (pkglib_PROGRAMS): Add kernel.img.
19993 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
19994 (grub_mkimage_SOURCES): Removed.
19995 (grub_mkimage_CFLAGS): Likewise.
19996 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19997 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
19998 (pkglib_PROGRAMS): Add kernel.img.
19999 (bin_UTILITIES): Remove grub-mkimage.
20000 (grub_mkimage_SOURCES): Removed.
20001 (grub_mkimage_CFLAGS): Likewise.
20002 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20003 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20004 (grub_mkimage_SOURCES): Removed.
20005 (grub_mkimage_CFLAGS): Likewise.
20006 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20007 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20008 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20009 (grub_pe32_optional_header): ... this.
20010 (grub_pe64_optional_header): ... and this. All users updated.
20011 (GRUB_PE32_PE32_MAGIC): Split into ..
20012 (GRUB_PE32_PE32_MAGIC): .. this.
20013 (GRUB_PE32_PE64_MAGIC): .. and this.
20014 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20015 * include/grub/elf.h (PT_GNU_STACK): New definition.
20016 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20017 * include/grub/i386/efi/kernel.h: Likewise.
20018 * include/grub/i386/kernel.h: Likewise.
20019 * include/grub/i386/pc/kernel.h: Likewise.
20020 * include/grub/i386/qemu/boot.h: Likewise.
20021 * include/grub/mips/kernel.h: Likewise.
20022 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20023 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20024 * include/grub/powerpc/kernel.h: Likewise.
20025 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20026 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20027 * include/grub/sparc64/kernel.h: Likewise.
20028 * include/grub/x86_64/efi/kernel.h: Likewise.
20029 * include/grub/x86_64/kernel.h: Likewise.
20030 * include/grub/offsets.h: New file.
20031 * include/grub/kernel.h (grub_module_info): Split into ...
20032 (grub_module_info32): ... this.
20033 (grub_module_info64): ... and this.
20034 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20035 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20036 (grub_boot_blocklist): Moved from here ...
20037 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20038 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20039 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20040 * include/grub/types.h (grub_target_to_host16): Removed.
20041 (grub_target_to_host32): Likewise.
20042 (grub_target_to_host64): Likewise.
20043 (grub_host_to_target16): Likewise.
20044 (grub_host_to_target32): Likewise.
20045 (grub_host_to_target64): Likewise.
20046 (grub_host_to_target_addr): Likewise.
20048 Support grub-mkrescue for efi, coreboot and qemu.
20050 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20051 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20052 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20053 * util/grub-mkrawimage.c: Moved from here ...
20054 * util/grub-mkimage.c: ... here. All users updated.
20055 (ALIGN_ADDR): Use image_target.
20056 (TARGET_NO_FIELD): New const.
20057 (image_target_desc): New type.
20058 (image_targets): New array.
20059 (grub_target_to_host64): Use image_target.
20060 (grub_target_to_host32): Likewise.
20061 (grub_target_to_host16): Likewise.
20062 (grub_host_to_target64): Likewise.
20063 (grub_host_to_target32): Likewise.
20064 (grub_host_to_target16): Likewise.
20065 (grub_host_to_target_addr): Likewise.
20066 (generate_image): Handle multiimage.
20067 (main): Require -O parameter. All users updated.
20068 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20069 util/efi/grub-mkimage.c
20070 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20071 New option --rom-directory.
20073 * util/i386/efi/grub-mkimage.c: Removed.
20074 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20075 (grub_target_to_host32): Likewise.
20076 (grub_target_to_host64): Likewise.
20077 (grub_host_to_target16): Likewise.
20078 (grub_host_to_target32): Likewise.
20079 (grub_host_to_target64): Likewise.
20080 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20081 (grub_target_to_host32): Likewise.
20082 (grub_target_to_host64): Likewise.
20083 (grub_host_to_target16): Likewise.
20084 (grub_host_to_target32): Likewise.
20085 (grub_host_to_target64): Likewise.
20087 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20089 Source tree is reorganized for emu build.
20091 * include/grub/util/console.h: Move from here...
20092 * include/grub/emu/console.h: ...to here.
20093 * include/grub/util/getroot.h: Move from here...
20094 * include/grub/emu/getroot.h: ...to here.
20095 * include/grub/util/hostdisk.h: Move from here...
20096 * include/grub/emu/hostdisk.h: ...to here.
20097 * util/console.c: Move from here...
20098 * kern/emu/console.c: ...to here.
20099 * util/getroot.c: Move from here...
20100 * kern/emu/getroot.c: ...to here.
20101 * util/grub-emu.c: Move from here...
20102 * kern/emu/main.c: ...to here.
20103 * util/hostdisk.c: Move from here...
20104 * kern/emu/hostdisk.c: ...to here.
20105 * util/hostfs.c: Move from here...
20106 * kern/emu/hostfs.c: ...to here.
20107 * util/mm.c: Move from here...
20108 * kern/emu/mm.c: ...to here.
20109 * util/pci.c: Move from here...
20110 * bus/emu/pci.c: ...to here.
20111 * util/sdl.c: Move from here...
20112 * video/emu/sdl.c: ...to here.
20113 * util/time.c: Move from here...
20114 * kern/emu/time.c: ...to here.
20115 * util/usb.c: Move from here...
20116 * bus/usb/emu/usb.c: ...to here.
20118 * include/grub/emu/misc.h: New header for grub-emu functions.
20119 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20121 * conf/any-emu.rmk: Rule updates for above renames.
20122 * conf/common.rmk: Likewise.
20123 * conf/i386-pc.rmk: Likewise.
20124 * conf/i386-qemu.rmk: Likewise.
20125 * conf/mips.rmk: Likewise.
20126 * conf/sparc64-ieee1275.rmk: Likewise.
20127 * conf/x86-efi.rmk: Likewise.
20129 * disk/lvm.h: #include updates for above renames.
20130 * util/grub-mkrelpath.c: Likewise.
20131 * util/grub-probe.c: Likewise.
20132 * util/i386/pc/grub-setup.c: Likewise.
20133 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20134 * kern/emu/console.c: Likewise.
20135 * kern/emu/getroot.c: Likewise.
20136 * kern/emu/hostdisk.c: Likewise.
20137 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20139 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20140 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20141 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20142 * util/misc.c: Remove grub-emu functions.
20144 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20147 Reported by: Thorsten Grützmacher.
20149 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20151 (circprog_set_property): Register and unregister timeout hook.
20152 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20153 (label_destroy): Free template. and unregister hook.
20154 (label_set_state): New function.
20155 (label_set_property): Handle templates and hooks.
20156 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20158 (progress_bar_set_property): Register and unregister timeout hook.
20159 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20160 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20161 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20162 (update_timeout_visit): Removed.
20163 (update_timeouts): New function.
20164 (redraw_timeouts): Likewise.
20165 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20166 (grub_gfxmenu_clear_timeout): Likewise.
20167 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20168 (grub_gfxmenu_timeout_notify): Likewise.
20169 (grub_gfxmenu_timeout_notifications): New external variable.
20170 (grub_gfxmenu_timeout_register): New function.
20171 (grub_gfxmenu_timeout_unregister): Likewise.
20173 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20175 Transform (broken) vga terminal into (working) vga video driver.
20177 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20178 video/i386/pc/vga.c.
20179 * include/grub/video.h (grub_video_driver_id):
20180 Add GRUB_VIDEO_DRIVER_VGA.
20181 * term/i386/pc/vga.c: Renamed to ...
20182 * video/i386/pc/vga.c: ...this
20183 (DEBUG_VGA): Removed.
20184 (CHAR_WIDTH): Likewise.
20185 (CHAR_HEIGHT): Likewise.
20186 (TEXT_WIDTH): Likewise.
20187 (TEXT_HEIGHT): Likewise.
20188 (DEFAULT_FG_COLOR): Likewise.
20189 (DEFAULT_BG_COLOR): Likewise.
20190 (colored_char): Likewise.
20193 (cursor_state): Likewise.
20194 (fg_color): Likewise.
20195 (bg_color): Likewise.
20196 (text_buf): Likewise.
20199 (framebuffer): New variable.
20200 (set_read_map): Disabled.
20201 (setup): New variable.
20202 (is_target): Likewise.
20203 (grub_vga_mod_init): Likewise.
20204 (grub_vga_mod_fini): Likewise.
20205 (check_vga_mem): Likewise.
20206 (write_char): Likewise.
20207 (write_cursor): Likewise.
20208 (scroll_up): Likewise.
20209 (grub_vga_putchar): Likewise.
20210 (grub_vga_getcharwidth): Likewise.
20211 (grub_vga_getwh): Likewise.
20212 (grub_vga_getxy): Likewise.
20213 (grub_vga_gotoxy): Likewise.
20214 (grub_vga_cls): Likewise.
20215 (grub_vga_setcolorstate): Likewise.
20216 (grub_vga_setcursor): Likewise.
20217 (grub_video_vga_init): New function.
20218 (grub_video_vga_setup): Likewise.
20219 (grub_video_vga_fini): Likewise.
20220 (update_target): Likewise.
20221 (grub_video_vga_blit_bitmap): Likewise.
20222 (grub_video_vga_blit_render_target): Likewise.
20223 (grub_video_vga_set_active_render_target): Likewise.
20224 (grub_video_vga_get_active_render_target): Likewise.
20225 (grub_video_vga_swap_buffers): Likewise.
20226 (grub_video_vga_set_palette): Likewise.
20227 (grub_video_vga_get_info_and_fini): Likewise.
20228 (grub_vga_term): Removed.
20229 (grub_video_vga_adapter): New variable.
20230 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20231 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20233 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20235 * video/readers/jpeg.c: Indented.
20237 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20239 Various jpeg cleanups.
20241 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20242 (grub_jpeg_decode_quan_table): Use sizeof.
20243 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20245 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
20247 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20248 tables. Ignore non-last ac bit.
20249 (grub_jpeg_decode_quan_table): Likewise.
20251 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20253 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20254 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20255 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20256 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20257 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20258 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20260 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20262 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20265 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20267 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20269 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20271 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20274 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20276 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20279 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20281 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20284 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20286 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20288 2010-05-01 Christian Franke <franke@computer.org>
20290 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20291 Remove broken Cygwin path conversion.
20292 * util/misc.c: [__CYGWIN__] Add include and define.
20293 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20295 (make_system_path_relative_to_its_root): Simplify loop, replace early
20297 [__CYGWIN__] Add conversion to win32 path.
20298 Include "/" case in trailing slash removal.
20300 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20302 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20303 Reported by: Seth Goldberg
20305 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20307 * commands/help.c (grub_cmd_help): Fix a typo.
20308 Reported by: Seth Goldberg
20310 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20312 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20314 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20315 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20316 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20317 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20318 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20319 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20320 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20321 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20322 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20323 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20324 * normal/context.c (GRUB_MOD_INIT): Likewise.
20325 * normal/main.c (GRUB_MOD_INIT): Likewise.
20326 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20327 * term/serial.c (GRUB_MOD_INIT): Likewise.
20328 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20330 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20332 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20335 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20337 * commands/iorw.c: New file.
20338 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20339 (iorw_mod_SOURCES): New variable.
20340 (iorw_mod_CFLAGS): Likewise.
20341 (iorw_mod_LDFLAGS): Likewise.
20343 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20347 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20348 * normal/main.c (hotkey_aliases): New variable.
20349 (grub_normal_add_menu_entry): Parse "--hotkey".
20350 * normal/menu_text.c (run_menu): Handle hotkeys.
20352 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20354 * kern/i386/coreboot/init.c (grub_machine_init): Call
20355 grub_machine_mmap_init on qemu.
20357 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20359 * boot/i386/qemu/boot.S: Add a missing .code16.
20361 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20363 Use LBIO on coreboot.
20365 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20366 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20367 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20369 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20370 grub_machine_mmap_init on coreboot.
20371 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20372 GRUB_LINUXBIOS_MEMBER_LINK.
20373 (grub_machine_mmap_iterate): Fix declaration.
20374 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20376 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20378 Split coreboot and multiboot ports.
20380 * conf/i386-multiboot.rmk: New file.
20381 * configure.ac: Add multiboot port.
20382 * include/grub/i386/multiboot/boot.h: New file.
20383 * include/grub/i386/multiboot/console.h: Likewise.
20384 * include/grub/i386/multiboot/init.h: Likewise.
20385 * include/grub/i386/multiboot/kernel.h: Likewise.
20386 * include/grub/i386/multiboot/loader.h: Likewise.
20387 * include/grub/i386/multiboot/memory.h: Likewise.
20388 * include/grub/i386/multiboot/serial.h: Likewise.
20389 * include/grub/i386/multiboot/time.h: Likewise.
20390 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20391 * loader/multiboot.c: Likewise.
20392 * loader/multiboot_mbi2.c: Likewise.
20393 * util/grub-mkrescue.in: Generate multiboot rescue.
20395 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20397 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20399 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20401 Merge handling of input and output terminals. Fix a hang.
20403 * commands/terminal.c (abstract_terminal): New struct.
20404 (handle_command): New function. Based on grub_cmd_terminal_input.
20405 (grub_cmd_terminal_input): Use handle_command.
20406 (grub_cmd_terminal_output): Use handle_command.
20408 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20410 Fix comment handling.
20412 * tests/grub_script_comments.in: New testcase.
20413 * conf/tests.rmk: Rules for new testcase.
20414 * script/yylex.l: Updated flex rules.
20416 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20418 * docs/grub.texi (play): Document that zero pitches produce rests.
20419 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20422 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20424 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20427 2010-04-26 Christian Franke <franke@computer.org>
20429 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20430 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20431 (grub_get_prefix): Remove function.
20432 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20433 make_system_path_relative_to_its_root ().
20434 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20436 2010-04-24 Christian Franke <franke@computer.org>
20438 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20439 (kernel_img_LDFLAGS): Remove -static-libgcc.
20441 2010-04-24 Christian Franke <franke@computer.org>
20443 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20444 and CHECK_END_SYMBOL if grub-emu is built.
20445 Unset TARGET_OBJ2ELF if grub-emu is built
20446 without module support.
20448 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
20452 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20453 (grub_fstest_SOURCES): Likewise.
20454 (pkglib_MODULES): Add nilfs2.mod.
20455 (nilfs2_mod_SOURCES): New variable.
20456 (nilfs2_mod_CFLAGS): Likewise.
20457 (nilfs2_mod_LDFLAGS): Likewise.
20458 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20459 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20460 * fs/nilfs2.c: New file.
20462 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20464 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20467 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20469 Add grub-mkconfig support for NetBSD.
20471 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20472 * util/grub-mkconfig.in: export new NetBSD specific variables.
20473 * po/POTFILES-shell: added 10_netbsd.in.
20474 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20476 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20478 Fix emu build with grub-emu-pci and grub-emu-modules.
20480 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20482 * include/grub/libpciaccess.h: New file.
20483 * conf/any-emu.rmk: Update kernel headers for emu build.
20485 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20487 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20489 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20491 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20493 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20495 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20496 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20497 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20498 util/ieee1275/ofpath.c.
20499 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20500 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20501 * include/grub/sparc64/ieee1275/boot.h
20502 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20503 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20504 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20505 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20507 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20508 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20509 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20512 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20514 * util/grub-mkconfig.in: Corrected two == equality tests.
20515 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20516 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20517 expect a number appended to it.
20518 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20519 expects a number appended to it.
20521 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20523 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20525 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20527 * util/hostdisk.c (make_device_name): Change to new partition naming.
20529 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20531 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20533 2010-04-17 Christian Franke <franke@computer.org>
20535 * Makefile.in: Add missing localedir setting.
20537 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
20539 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20540 mistake in r2156. Noticed by Anthony Fok.
20542 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20544 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20546 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20548 Fix a spurious, uninitialized variable warning.
20550 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20551 Initialize variable, shdr.
20552 (grub_freebsd_load_elfmodule): Likewise.
20553 (grub_freebsd_load_elf_meta): Likewise.
20555 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20557 Fix for escaped dollar in double quoted strings.
20559 * script/yylex.l: Updated flex rules.
20560 * conf/tests.rmk: Rule for new testcase.
20561 * tests/grub_script_dollar.in: New testcase.
20563 2010-04-13 Carles Pina i Estany <carles@pina.cat>
20564 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
20566 Enclose all translated strings in grub.cfg in single quotes, and
20567 escape them appropriately (Ubuntu bug #552921).
20569 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20570 * util/grub.d/10_hurd.in: Use it.
20571 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20572 * util/grub.d/10_linux.in (linux_entry): Likewise.
20574 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20576 Fix cygwin compilation.
20578 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20579 * include/grub/misc.h (__register_frame_info)
20580 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20581 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20582 * kern/misc.c (__register_frame_info)
20583 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20584 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20586 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20588 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20590 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20592 Unify libgcc processing.
20594 * Makefile.in (kernel_img_LDFLAGS): New variable.
20595 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20596 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20598 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20599 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20600 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20601 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20602 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20603 overwriting. Remove -lgcc and -static-libgcc
20604 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20605 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20606 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20607 (kernel_img_LDFLAGS): Append instead of overwriting.
20608 Remove -lgcc and -static-libgcc
20609 * conf/sparc64-ieee1275.rmk: Likewise.
20610 * include/grub/powerpc/libgcc.h: Move to ...
20611 * include/grub/libgcc.h: .. this.
20612 * include/grub/libgcc.h: Don't export most of the function on x86.
20613 (__bswapsi2): New export.
20614 (__bswapdi2): Likewise.
20615 * include/grub/mips/libgcc.h: Removed.
20616 * include/grub/sparc64/libgcc.h: Likewise.
20618 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20620 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20621 disk_info_msg (conflicts with gettexting into languages with cases).
20623 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20625 Add grub-probe support for NetBSD.
20627 * util/getroot.c (find_root_device): Convert block device to
20628 character device on NetBSD.
20629 * util/probe.c (probe): Require character device on NetBSD.
20630 * util/hostdisk.c: NetBSD specific headers.
20631 (configure_device_driver): new function to tune device driver
20632 parameters (currently only for NetBSD floppy driver).
20633 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20634 via disklabel ioctl).
20635 (open_device): call configure_device_driver on NetBSD.
20636 (convert_system_partition_to_system_disk): NetBSD specific code.
20637 (device_is_wholedisk): Likewise.
20638 (grub_util_biosdisk_get_grub_dev): Likewise.
20639 (make_device_name): Fixed a typo in bsd_part_str.
20640 * configure.ac: check for opendisk() and getrawpartition() on
20641 NetBSD and set LIBUTIL.
20642 * Makefile.in: add LIBUTIL to LIBS.
20644 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20648 * util/grub-script-check.c: Better help message.
20650 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20654 * configure.ac: Flex version check.
20655 * conf/common.rmk: Add -Wno-error to sh.mod.
20656 * script/yylex.l: Remove all #pragma.
20658 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20660 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20662 Reported by: Seth Goldberg.
20664 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20666 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20667 Rename "module" to "module2".
20668 Reported by: Seth Goldberg.
20670 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20672 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20674 Reported by: Seth Goldberg.
20676 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20678 * lib/posix_wrap/locale.h: Add missing file.
20679 Reported by: Seth Goldberg.
20681 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20683 grub-emu module load support.
20685 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20686 NO_DYNAMIC_MODULES switched to this.
20687 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20688 (CFLAGS): Likewise.
20689 * conf/any-emu.rmk: Generate symlist.
20690 (kernel_img_HEADERS): Add util/datetime.h.
20691 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20692 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20693 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20694 kern/$(target_cpu)/cache.S.
20695 * configure.ac (grub-emu-modules): New option.
20696 * genmk.rb: Handle multiple source lists.
20697 * include/grub/sdl.h: New file.
20698 * include/grub/libusb.h: Likewise.
20699 * util/grub-emu.c (main): Hanle (host) root.
20700 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20701 GRUB_ERR_UNKNOWN_DEVICE.
20702 * util/misc.c: Move mm functions to ...
20703 * util/mm.c: ... here. All users updated.
20705 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20707 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20708 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20710 (maintainer-clean): Remove libgcrypt-grub.
20712 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20714 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20716 2010-04-09 EFI Coder <eficoder@hotmail.com>
20718 * normal/menu_text.c (print_message): Clean up the message and show
20719 the Fn information when on EFI
20720 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20722 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20724 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20726 * normal/crypto.c (read_crypto_list): Likewise.
20727 * normal/dyncmd.c (read_command_list): Likewise.
20728 * normal/term.c (read_terminal_list): Likewise.
20729 * normal/main.c (read_lists): Use explicit prefix.
20730 (read_lists_hook): Use read_lists.
20731 (grub_normal_execute): Likewise.
20733 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20735 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20736 Reported by: Thomas Schmitt.
20737 Add -no-emul-boot to grub-mkisofs parameters.
20739 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20741 * font/font.c: Indented.
20743 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20745 Elif support to GRUB script (by Deepak Vankadaru).
20747 * tests/grub_script_if.in: New testcase.
20748 * conf/tests.rmk: Rule for new testcase.
20749 * script/parser.y: Grammar rules for elif.
20751 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20753 While and until loops support to GRUB script.
20755 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20756 (grub_script_create_cmdwhile): New function prototype.
20757 (grub_script_execute_cmdwhile): New function prototype.
20758 * script/execute.c (grub_script_execute_cmdwhile): New function.
20759 * script/parser.y (command): New commands.
20760 (whilecmd): New grammar rule.
20761 (untilcmd): New grammar rule.
20762 * script/script.c (grub_script_create_cmdwhile): New function.
20763 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20766 * tests/grub_script_while1.in: New testcase.
20767 * conf/tests.rmk: Rule for new testcase.
20769 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20771 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20774 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
20776 GRUB_BACKGROUND support.
20778 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20779 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20781 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20783 Load fonts and modules for gfxmenu in grub-mkconfig.
20784 Idea by: Mario Vazquez
20786 * util/grub.d/00_header.in: Load pf2 and image modules.
20788 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20790 grub-mkconfig multiple terminal support.
20792 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20793 * util/grub.d/00_header.in: Likewise.
20795 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20797 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20798 we use cd $(srcdir).
20800 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
20802 * util/grub.d/10_linux.in: Only use the first word of
20803 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20804 spaces in GRUB_DISTRIBUTOR.
20805 * util/grub.d/10_kfreebsd.in: Likewise.
20806 * util/grub.d/10_hurd.in: Likewise.
20808 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20810 Fix unit testing framework for Qemu 0.12.
20812 * tests/util/grub-shell.in: Remove -serial stdio option.
20814 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20816 POSIX header file wrappers.
20818 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20820 * lib/posix_wrap/ctype.h: Likewise.
20821 * lib/posix_wrap/errno.h: Likewise.
20822 * lib/posix_wrap/langinfo.h: Likewise.
20823 * lib/posix_wrap/limits.h: Likewise.
20824 * lib/posix_wrap/localcharset.h: Likewise.
20825 * lib/posix_wrap/stdint.h: Likewise.
20826 * lib/posix_wrap/stdio.h: Likewise.
20827 * lib/posix_wrap/stdlib.h: Likewise.
20828 * lib/posix_wrap/string.h: Likewise.
20829 * lib/posix_wrap/sys/types.h: Likewise.
20830 * lib/posix_wrap/unistd.h: Likewise.
20831 * lib/posix_wrap/wchar.h: Likewise.
20832 * lib/posix_wrap/wctype.h: Likewise.
20833 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20834 (grub_script.yy.h): Likewise.
20835 * script/yylex.l: Remove POSIX emulation #defines.
20836 * Makefile.in (POSIX_CFLAGS): New variable.
20837 (GNULIB_UTIL_CFLAGS): Likewise.
20841 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20842 (regexp_mod_SOURCES): New variable.
20843 (regexp_mod_CFLAGS): Likewise.
20844 (regexp_mod_LDFLAGS): Likewise.
20845 * commands/regexp.c: New file.
20846 * gnulib/regcomp.c: New file. Imported from gnulib.
20847 * gnulib/regex.c: Likewise.
20848 * gnulib/regex_internal.c: Likewise.
20849 * gnulib/regex_internal.h: Likewise.
20850 * gnulib/regexec.c: Likewise.
20851 * gnulib/regex.h: Likewise.
20853 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20855 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20856 unsupported video mode types.
20858 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20860 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20862 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20864 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20865 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20867 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20869 Remove unused grub_vga_get_font.
20871 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20872 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20874 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20876 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20877 * include/grub/misc.h: Likewise.
20879 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20881 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20882 for which failure is fatal.
20884 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20886 * util/grub-install.in: Use mkdir -p to create grub directory.
20887 * util/i386/efi/grub-install.in: Likewise.
20888 * util/ieee1275/grub-install.in: Likewise.
20890 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20892 * Makefile.in (LEX): new variable.
20894 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20896 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20897 `=' and added double quotes on operands of this equality test.
20899 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20901 * Makefile.in (uninstall): Remove a leftover debug echo.
20902 Reported by: Grégoire Sutre
20904 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20906 MIPS multiboot2 support.
20908 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20909 (multiboot2_mod_SOURCES): New variable.
20910 (multiboot2_mod_CFLAGS): Likewise.
20911 (multiboot2_mod_LDFLAGS): Likewise.
20912 (multiboot2_mod_ASFLAGS): Likewise.
20913 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
20915 (MULTIBOOT_ENTRY_REGISTER): Likewise.
20916 (MULTIBOOT_MBI_REGISTER): Likewise.
20917 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
20918 (MULTIBOOT_ELF32_MACHINE): Likewise.
20919 (MULTIBOOT_ELF64_MACHINE): Likewise.
20920 * include/grub/mips/multiboot.h: New file.
20921 * include/grub/video.h (grub_video_driver_id): New type
20922 GRUB_VIDEO_DRIVER_SM712.
20923 (grub_video_get_info_and_fini): Export.
20924 (grub_video_get_palette): Likewise.
20925 (grub_video_get_driver_id): Likewise.
20926 * include/multiboot2.h: Resynced with spec.
20927 * loader/i386/multiboot.c: Moved from here ...
20928 * loader/multiboot.c: ... here. All users updated.
20929 (grub_multiboot_boot): Use platform-specific macros.
20930 * loader/i386/multiboot_elfxx.c: Moved from here ...
20931 * loader/multiboot_elfxx.c: ... here. All users updated.
20932 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
20933 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
20934 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
20936 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20938 Import gnulib argp module.
20940 * gnulib/argp-ba.c: New file.
20941 * gnulib/argp-eexst.c: Likewise.
20942 * gnulib/argp-fmtstream.c: Likewise.
20943 * gnulib/argp-fmtstream.h: Likewise.
20944 * gnulib/argp-fs-xinl.c: Likewise.
20945 * gnulib/argp-help.c: Likewise.
20946 * gnulib/argp-namefrob.h: Likewise.
20947 * gnulib/argp-parse.c: Likewise.
20948 * gnulib/argp-pin.c: Likewise.
20949 * gnulib/argp-pv.c: Likewise.
20950 * gnulib/argp-pvh.c: Likewise.
20951 * gnulib/argp-version-etc.c: Likewise.
20952 * gnulib/argp-version-etc.h: Likewise.
20953 * gnulib/argp-xinl.c: Likewise.
20954 * gnulib/argp.h: Likewise.
20956 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20958 * kern/device.c (grub_device_iterate): Clear errors after failed
20961 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20963 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
20964 returned by firmware.
20966 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20968 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
20969 compilation on coreboot and qemu
20971 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20973 * include/multiboot2.h: Resync with spec.
20975 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20977 Multiboot2 tag support
20979 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
20980 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
20981 Remove loader/multiboot_loader.c.
20982 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
20983 (grub_multiboot2_real_boot): Likewise.
20984 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20985 (grub_get_multiboot_mmap_count): New proto.
20986 (grub_fill_multiboot_mmap): Likewise.
20987 (grub_multiboot_set_video_mode): Likewise.
20988 (grub_multiboot_set_console): Likewise.
20989 (grub_multiboot_load): Likewise.
20990 (grub_multiboot_load_elf): Likewise.
20991 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
20992 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
20993 * include/multiboot.h: Resynced with specification.
20994 * include/multiboot2.h: Resynced with specification.
20995 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
20996 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
20997 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
20998 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21000 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21001 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21002 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21004 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21006 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21007 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21009 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21010 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21011 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21013 * loader/i386/multiboot_mbi2.c: New file.
21015 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21017 Resync with gnulib.
21019 * Makefile.in (GNULIB_CFLAGS): New variable.
21020 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21021 (grub_script_check_CFLAGS): New variable.
21022 * gnulib/alloca.h: Resync with gnulib.
21023 * gnulib/error.c: Likewise.
21024 * gnulib/error.h: Likewise.
21025 * gnulib/fnmatch.c: Likewise.
21026 * gnulib/fnmatch_loop.c: Likewise.
21027 * gnulib/getdelim.c: Likewise.
21028 * gnulib/getline.c: Likewise.
21029 * gnulib/getopt.c: Likewise.
21030 * gnulib/getopt1.c: Likewise.
21031 * gnulib/getopt_int.h: Likewise.
21032 * gnulib/gettext.h: Likewise.
21033 * gnulib/progname.c: Likewise.
21034 * gnulib/progname.h: Likewise.
21036 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21038 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21039 which is the case with --disabled-nls.
21041 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21042 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21043 * util/misc.c: Likewise.
21044 * util/mkisofs/mkisofs.c: Likewise.
21045 * util/mkisofs/mkisofs.h: Likewise.
21047 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21049 Simplify Apple CC support.
21051 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21052 Add 0 byte at the end not to have a symbol with empty target.
21053 * mmap/i386/pc/mmap_helper.S: Likewise.
21054 * genmk.rb: Ignore errors 2030 and 2050.
21055 * kern/i386/pc/startup.S: Use LOCAL when possible.
21057 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21059 Testcase and the fix for final semicolon on cmdline.
21061 * tests/grub_script_final_semicolon.in: New testcase.
21062 * conf/tests.rmk: Rules for the new testcase.
21063 * script/parser.y: Grammar fix.
21065 2010-03-26 BVK Chaitanya <bvk@localhost>
21067 Blank lines testcase for GRUB script.
21069 * tests/grub_script_blanklines.in: New testcase.
21070 * conf/tests.rmk: Rules for the new testcase.
21072 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21074 Don't use __FILE__.
21076 * genmk.rb: Add -DGRUB_FILE to all C targets.
21077 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21078 * include/grub/list.h: Likewise.
21079 * include/grub/misc.h: Likewise.
21080 * include/grub/mm.h: Likewise.
21081 * include/grub/test.h: Likewise.
21082 * kern/mm.c: Likewise.
21083 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21085 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21087 Sunpc partitions support.
21089 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21090 (grub_fstest_SOURCES): Likewise.
21091 (pkglib_MODULES): Add part_sunpc.mod.
21092 (part_sunpc_mod_SOURCES): New variable.
21093 (part_sunpc_mod_CFLAGS): Likewise.
21094 (part_sunpc_mod_LDFLAGS): Likewise.
21095 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21096 * partmap/sunpc.c: New file.
21098 2010-03-26 BVK Chaitanya <bvk@localhost>
21100 For loop support to GRUB script.
21102 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21103 (grub_script_create_cmdfor): New function prototype.
21104 (grub_script_execute_cmdfor): New function prototype.
21105 * script/execute.c (grub_script_execute_cmdfor): New function.
21106 * script/parser.y (command): New for command.
21107 (forcmd): New grammar rule.
21108 * script/script.c (grub_script_create_cmdfor): New function.
21109 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21111 * tests/grub_script_for1.in: New testcase.
21112 * conf/tests.rmk: Rules for new testcase.
21114 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21118 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21119 'partition' is NULL, grub_partition_get_start already does that.
21120 * commands/loadenv.c (check_blocklists): Likewise.
21121 (write_blocklists): Likewise.
21122 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21123 (grub_fstest_SOURCES): Likewise.
21124 (pkglib_MODULES): Add part_bsd.mod.
21125 (part_bsd_mod_SOURCES): New variable.
21126 (part_bsd_mod_CFLAGS): Likewise.
21127 (part_bsd_mod_LDFLAGS): Likewise.
21128 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21129 (grub_emu_SOURCES): Likewise.
21130 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21131 * include/grub/bsdlabel.h: New file.
21132 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21134 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21135 (grub_partition_map_list): New variable.
21136 (grub_partition_map_register): Inline.
21137 (grub_partition_map_unregister): Likewise.
21138 (FOR_PARTITION_MAPS): New macro.
21139 (grub_partition_map_iterate): Removed.
21140 (grub_partition_get_start): Handle nested partitions.
21141 * include/grub/msdos_partition.h: Remove bsd-related entries.
21142 (grub_pc_partition): Remove.
21143 * kern/disk.c (grub_disk_close): Free partition data.
21144 (grub_disk_adjust_range): Handle nested partitions.
21145 * kern/partition.c (grub_partition_map_probe): New function.
21146 (grub_partition_probe): Parse name to number, handle subpartitions.
21147 (get_partmap): New function.
21148 (grub_partition_iterate): Handle subpartitions.
21149 (grub_partition_get_name): Likewise.
21150 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21151 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21152 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21153 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21155 (acorn_partition_map_probe): Remove.
21156 (acorn_partition_map_get_name): Likewise.
21157 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21159 Set 'index' to 0 since there can be only one partition entry per sector.
21160 (amiga_partition_map_probe): Remove.
21161 (amiga_partition_map_get_name): Likewise.
21162 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21164 Set 'offset' and 'index' to real positions of partitions.
21165 (apple_partition_map_probe): Remove.
21166 (apple_partition_map_get_name): Likewise.
21167 * partmap/bsdlabel.c: New file.
21168 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21170 Allocate 'data' so it can be correctly freed.
21171 Set 'index' to offset inside sector.
21172 (gpt_partition_map_probe): Remove.
21173 (gpt_partition_map_get_name): Likewise.
21174 * partmap/msdos.c (grub_partition_parse): Remove.
21175 (pc_partition_map_iterate): Don't force raw access.
21177 Make 'ext_offset' a local variable.
21178 (pc_partition_map_probe): Remove.
21179 (pc_partition_map_get_name): Remove.
21180 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21182 (sun_partition_map_probe): Remove.
21183 (sun_partition_map_get_name): Likewise.
21184 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21185 (grub_pcpart_type): Likewise.
21186 * util/hostdisk.c (open_device): Handle new numbering scheme.
21187 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21188 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21189 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21190 * util/grub-install.in: Insert all subpartition modules.
21191 * util/ieee1275/grub-install.in: Likewise.
21193 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21195 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21198 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
21200 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21202 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
21204 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21205 match where 'make install' puts them.
21206 * util/i386/efi/grub-install.in: Likewise.
21208 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
21210 * .bzrignore: Add gentrigtables, grub-script-check,
21211 grub_script_check_init.c, grub_script_check_init.h, and
21214 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21216 * kern/parser.c: Indented.
21218 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21220 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21222 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21224 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21225 alpha_mask_size == 0 case.
21227 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21229 GRUB shell lexer and parser improvements.
21231 * conf/any-emu.rmk: Build rule updates.
21232 * conf/common.rmk: Likewise.
21233 * conf/i386-coreboot.rmk: Likewise.
21234 * conf/i386-efi.rmk: Likewise.
21235 * conf/i386-ieee1275.rmk: Likewise.
21236 * conf/i386-pc.rmk: Likewise.
21237 * conf/powerpc-ieee1275.rmk: Likewise.
21238 * conf/x86_64-efi.rmk: Likewise.
21240 * configure.ac: Configure check for flex.
21242 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21244 (grub_lexer_param): Struct member updates.
21245 (grub_parser_param): Likewise.
21246 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21247 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21248 (grub_script_lexer_init): Prototype update.
21249 (grub_script_lexer_record_start): Likewise.
21250 (grub_script_lexer_record_stop): Likewise.
21251 (grub_script_lexer_yywrap): New function prototype.
21252 (grub_script_lexer_fini): Likewise.
21253 (grub_script_execute_argument_to_string): Removed by...
21254 (grub_script_execute_argument_to_argv): ...better version.
21256 * script/execute.c (ROUND_UPTO): New macro.
21257 (grub_script_execute_cmdline): Out of memory fixes.
21258 (grub_script_execute_menuentry): Likewise.
21259 (grub_script_execute_argument_to_string): Removed. Update all
21261 (grub_script_execute_argument_to_argv): ...better version.
21262 * script/function.c (grub_script_function_create): Use
21263 grub_script_execute_argument_to_argv instead of
21264 grub_script_execute_argument_to_string.
21266 * script/lexer.c (check_varstate): Removed.
21267 (check_textstate): Removed.
21268 (grub_script_lexer_record_start): Likewise.
21269 (grub_script_lexer_record_stop): Likewise.
21270 (recordchar): Replaced with...
21271 (grub_script_lexer_record): ...new function.
21272 (nextchar): Removed.
21273 (grub_script_lexer_init): Rewritten.
21274 (grub_script_yylex): Rewritten.
21275 (append_newline): New function.
21276 (grub_script_lexer_yywrap): New function.
21277 (grub_script_lexer_fini): New function.
21278 (grub_script_yyerror): Sets error flag.
21280 * script/yylex.l: New file.
21281 (grub_lexer_yyfree): Wrapper for flex yyffre.
21282 (grub_lexer_yyalloc): Likewise.
21283 (grub_lexer_yyrealloc): Likewise.
21284 * script/parser.y: Refactored.
21286 * script/script.c (grub_script_arg_add): Out of memory fixes.
21287 (grub_script_add_arglist): Likewise.
21288 (grub_script_create_cmdline): Likewise.
21289 (grub_script_create_cmdmenu): Likewise.
21290 (grub_script_add_cmd): Likewise.
21291 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21292 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21295 * tests/grub_script_echo1.in: New testcase.
21296 * tests/grub_script_vars1.in: New testcase.
21297 * tests/grub_script_echo_keywords.in: New testcase.
21299 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21301 Remove some redundancy in build system.
21303 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21304 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21305 (TARGET_LDFLAGS): Add -nostdlib.
21306 (TARGET_IMG_LDFLAGS): Likewise.
21307 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21308 anything since mmap isn't available.
21309 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21311 (pkglib_MODULES): Remove reboot.mod.
21312 (reboot_mod_SOURCES): Removed.
21313 (reboot_mod_CFLAGS): Likewise.
21314 (reboot_mod_LDFLAGS): Likewise.
21315 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21316 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21317 (DEFSYMFILES): Add kernel_syms.lst.
21318 (kernel_img_HEADERS): Add common headers.
21319 (symlist.c): New target.
21320 (kernel_syms.lst): Likewise.
21321 (pkglib_MODULES): Add memdisk.mod.
21322 (memdisk_mod_SOURCES): New variable.
21323 (memdisk_mod_CFLAGS): Likewise.
21324 (memdisk_mod_LDFLAGS): Likewise.
21325 (pkglib_MODULES): Add reboot.mod.
21326 (reboot_mod_SOURCES): New variable.
21327 (reboot_mod_CFLAGS): Likewise.
21328 (reboot_mod_LDFLAGS): Likewise.
21329 (pkglib_MODULES): Add date.mod.
21330 (date_mod_SOURCES): New variable.
21331 (date_mod_CFLAGS): Likewise.
21332 (date_mod_LDFLAGS): Likewise.
21333 (pkglib_MODULES): Add datehook.mod.
21334 (datehook_mod_SOURCES): New variable.
21335 (datehook_mod_CFLAGS): Likewise.
21336 (datehook_mod_LDFLAGS): Likewise.
21337 (pkglib_MODULES): Add lsmmap.mod.
21338 (lsmmap_mod_SOURCES): New variable.
21339 (lsmmap_mod_CFLAGS): Likewise.
21340 (lsmmap_mod_LDFLAGS): Likewise.
21341 (pkglib_MODULES): Add boot.mod.
21342 (boot_mod_SOURCES): New variable.
21343 (boot_mod_CFLAGS): Likewise.
21344 (boot_mod_LDFLAGS): Likewise.
21345 * conf/i386-coreboot.rmk: Removed redundant parts.
21346 * conf/i386-ieee1275.rmk: Likewise.
21347 * conf/i386-pc.rmk: Likewise.
21348 * conf/mips-yeeloong.rmk: Likewise.
21349 * conf/mips.rmk: Likewise.
21350 * conf/powerpc-ieee1275.rmk: Likewise.
21351 * conf/sparc64-ieee1275.rmk: Likewise.
21352 * conf/x86_64-efi.rmk: Likewise.
21353 * conf/i386-coreboot.rmk: Moved qemu parts ..
21354 * conf/i386-qemu.rmk: ... here
21355 * conf/i386-efi.rmk: Moved common parts to...
21356 * conf/x86-efi.rmk: ... here.
21357 * conf/i386.rmk: Added modules common to all x86 variants.
21358 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21359 * disk/memdisk.c: Remove grub/machine/kernel.h.
21360 * gensymlist.sh.in: Include symbol.h.
21361 * hook/datehook.c: Correct module name.
21362 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21363 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21364 * include/grub/i386/efi/serial.h: New file.
21365 * include/grub/x86_64/efi/serial.h: Likewise.
21366 * util/time.c: Likewise.
21367 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21369 2010-03-14 Colin King <colin.king@ubuntu.com>
21370 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21372 Shrink the pre-partition-table part of boot.img by eight bytes.
21374 * boot/i386/pc/boot.S (ERR): New macro.
21375 (chs_mode): Use ERR.
21376 (geometry_error): Likewise.
21377 (hd_probe_error): Remove. This is only used once, so we wrwite
21379 (read_error): Instead of printing read_error_string, just set up
21380 %si and fall through to ...
21381 (error_message): ... this new function, also used by ERR.
21383 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21385 Speed up consecutive hostdisk operations on the same device.
21387 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21388 (grub_util_biosdisk_open): Initialise disk->data.
21389 (struct linux_partition_cache): New structure.
21390 (linux_find_partition): Cache partition start positions; these are
21391 expensive to compute on every read and write.
21392 (open_device): Cache open file descriptor in disk->data, so that we
21393 don't have to reopen it and flush the buffer cache for consecutive
21394 operations on the same device.
21395 (grub_util_biosdisk_close): New function.
21396 (grub_util_biosdisk_dev): Set `close' member.
21398 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21399 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21400 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21401 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21402 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21404 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21406 Compile parts of grub-emu as modules.
21408 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21409 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21410 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21411 (all-local): Add $(GRUB_EMU).
21412 (install-local): Install $(GRUB_EMU).
21413 (uninstall): Uninstall $(GRUB_EMU).
21414 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21415 * kern/dl.c: Likewise.
21416 * commands/sleep.c: Not include machine/time.h.
21417 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21418 (COMMON_CFLAGS): Likewise.
21419 (sbin_UTILITIES): Remove grub-emu.
21420 (grub_emu_SOURCES): Removed.
21421 (kernel_img_RELOCATABLE): New variable.
21422 (pkglib_PROGRAMS): Add kernel.img.
21423 (kernel_img_SOURCES): New variable
21424 (kernel_img_CFLAGS): Likewise.
21425 (kernel_img_LDFLAGS): Likewise.
21426 (TARGET_NO_STRIP): Likewise.
21427 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21428 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21429 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21430 (grub-emu): New target.
21431 (GRUB_EMU): New variable.
21432 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21433 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21434 * loader/xnu.c: Likewise.
21435 * include/grub/pci.h: Likewise.
21436 * genemuinit.sh: New file.
21437 * genemuinitheader.sh: Likewise.
21438 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21439 Support TARGET_NO_DYNAMIC_MODULES.
21440 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21441 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21442 * disk/loopback.c: Likewise.
21443 * font/font_cmd.c: Likewise.
21444 * partmap/acorn.c: Likewise.
21445 * partmap/amiga.c: Likewise.
21446 * partmap/apple.c: Likewise.
21447 * partmap/gpt.c: Likewise.
21448 * partmap/msdos.c: Likewise.
21449 * partmap/sun.c: Likewise.
21450 * parttool/msdospart.c: Likewise.
21451 * term/gfxterm.c: Likewise.
21452 * video/bitmap.c: Likewise.
21453 * video/readers/jpeg.c: Likewise.
21454 * video/readers/png.c: Likewise.
21455 * video/readers/tga.c: Likewise.
21456 * video/video.c: Likewise.
21457 * util/grub-emu.c (read_command_list): Removed.
21458 (main): Don't call util_init_nls.
21459 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21460 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21462 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21464 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21465 date.mod, datehook.mod.
21466 (datetime_mod_SOURCES): New variable.
21467 (datetime_mod_CFLAGS): Likewise.
21468 (datetime_mod_LDFLAGS): Likewise.
21469 (date_mod_SOURCES): Likewise.
21470 (date_mod_CFLAGS): Likewise.
21471 (date_mod_LDFLAGS): Likewise.
21472 (datehook_mod_SOURCES): Likewise.
21473 (datehook_mod_CFLAGS): Likewise.
21474 (datehook_mod_LDFLAGS): Likewise.
21475 * conf/sparc64-ieee1275.rmk: Likewise.
21476 * lib/ieee1275/datetime.c: New file.
21478 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21480 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21481 (ieee1275_fb_mod_SOURCES): New variable.
21482 (ieee1275_fb_mod_CFLAGS): Likewise.
21483 (ieee1275_fb_mod_LDFLAGS): Likewise.
21484 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21486 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21487 (HEAP_MAX_ADDR): Likewise.
21488 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21490 Correct stop condition.
21491 (grub_ieee1275_devices_iterate): New function.
21492 * video/ieee1275.c: New file.
21494 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21496 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21498 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21500 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21501 SCRATCH_PAD_DISKBOOT as scratch.
21502 (bootit): Pass Openfirmware pointer in %o4.
21503 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21505 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21506 with util/grub-mkrawimage.c.
21507 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21508 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21509 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21510 (grub_aout_load) [GRUB_UTIL]: Likewise.
21511 * include/grub/kernel.h (grub_modules_get_end): New proto.
21512 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21513 (SCRATCH_PAD_BOOT): New definition.
21514 (SCRATCH_PAD_DISKBOOT): Likewise.
21515 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21516 * include/grub/sparc64/ieee1275/ieee1275.h
21517 (grub_ieee1275_original_stack): New variable
21518 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21520 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21521 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21522 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21523 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21524 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21525 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21526 (grub_platform_image_format_t): New type.
21527 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21528 * kern/main.c (grub_modules_get_end)
21529 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21530 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21531 (codestart): Switch stacks.
21532 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21534 (grub_heap_init): Use grub_modules_get_end.
21535 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21537 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21539 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21541 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
21543 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21545 2010-03-08 Matt Kraai <kraai@ftbfs.org>
21547 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21550 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21552 * genmoddep.awk: Output all missing symbols and not only first.
21554 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21556 * NEWS: Put the date of 1.98 release.
21558 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21560 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21563 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21565 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21566 completition in the middle of string.
21568 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21570 * util/grub-mkrescue.in: Use mktemp with explicit template.
21572 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21574 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21576 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21578 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21581 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21583 Fix FreeBSD compilation.
21585 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21586 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21588 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21590 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21592 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21594 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21596 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21598 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21600 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21602 Support relative image path in theme file.
21604 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21605 (image_set_property): Handle theme_dir and relative path.
21607 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21609 * configure.ac: Alias amd64 to x86_64.
21611 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21613 * NEWS: mention multiboot on EFI.
21615 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21617 * kern/main.c (grub_load_modules): Handle errors from init functions of
21620 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21622 * normal/autofs.c (autoload_fs_module): Handle errors.
21624 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21626 Disable linux.mod on qemu-mips since it's not functional and leads
21627 to compilation failure.
21629 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21630 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21631 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21632 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21633 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21634 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21635 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21636 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21637 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21638 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21639 Reported by: BVK Chaitanya
21641 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21643 * INSTALL: Add gettext as a dependency and add qemu to a new section
21644 "Prerequisites for make-check".
21646 2010-03-04 Christian Franke <franke@computer.org>
21648 * util/grub-pe2elf.c: Add missing include "progname.h".
21650 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21652 * normal/crypto.c (read_crypto_list): Fix a typo.
21653 Reported by: Seth Goldberg.
21655 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21657 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
21658 Reported by: Seth Goldberg.
21660 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21662 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21665 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21667 * genmk.rb: Remove terminal*.lst in make clean.
21668 Reported by: Seth Goldberg.
21670 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21672 * util/i386/efi/grub-install.in: Copy gettext files.
21674 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21676 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21678 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21680 Wait for user entry basing on presence of output rather than on errors.
21682 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21683 (grub_install_newline_hook): Likewise.
21684 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21685 * normal/menu.c (show_menu): Check line_counter to determine presence
21687 * normal/term.c (grub_normal_line_counter): New variable.
21688 (grub_normal_get_line_counter): New function.
21689 (grub_install_newline_hook): Likewise.
21691 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21693 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21695 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21697 * configure.ac: Update version to 1.98.
21699 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21701 * util/grub.d/10_linux.in (linux_entry): Don't default to
21702 gfxpayload=keep if Linux doesn't support video handover.
21704 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21706 Don't compile video modules on yeeloong since video subsystem is part
21709 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21710 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21711 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21712 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21713 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21714 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21715 * include/grub/bitmap_scale.h: Likewise.
21716 * include/grub/bufio.h: Likewise.
21717 * include/grub/font.h: Likewise.
21718 * include/grub/gfxterm.h: Likewise.
21719 * include/grub/video.h: Likewise.
21720 * include/grub/vbe.h: Don't include video_fb.h.
21721 * video/i386/pc/vbe.c: Include video_fb.h.
21722 * commands/i386/pc/vbetest.c: Include video.h.
21724 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21726 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21727 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21728 default entry if GRUB_SAVEDEFAULT=true. This allows using
21729 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21730 saving a new default on every boot.
21732 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21734 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21735 * normal/term.c (read_terminal_list): Likewise.
21736 * normal/main.c (grub_normal_init_page): Likewise.
21737 (grub_normal_read_line_real): Likewise.
21739 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21741 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21743 Reported by: Seth Goldberg.
21745 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21747 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21748 duplicate declaration of `start'.
21750 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21752 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21754 Reported by: Georgy Buranov
21756 2010-02-20 Carles Pina i Estany <carles@pina.cat>
21758 * util/grub-mkrawimage.c (usage): Change string formatting to
21761 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21763 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21766 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21768 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21769 Reported by: Michael Suchanek.
21771 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
21773 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21774 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21776 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21778 Remove any reference to non-free fonts.
21780 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21781 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21782 uses non-free components.
21783 * font/font.c (grub_font_get_name): Remove example name.
21784 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21785 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21786 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21787 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21789 2010-02-16 Georgy Buranov <gburanov@gmail.com>
21791 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21793 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21795 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21797 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21799 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21801 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21803 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21805 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21807 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21808 * docs/grub.texi (Command-line and menu entry commands): Document play
21811 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21813 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21814 parse arguments as inline tempo and notes. Move code for playing notes
21816 (play): ... new function.
21818 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21820 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21821 grub_uint16_t instead of short.
21822 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21823 disk from little endian to cpu endianness.
21825 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21827 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21828 GRUB_TICKS_PER_SECOND instead of 120.
21830 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21832 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21833 escape sequence after \e.
21835 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21837 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21838 non-ASCII characters.
21840 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21842 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21843 set root in single quotes to prevent \, from being unescaped.
21845 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21847 Prevent unknown commands from stopping menuentry execution.
21849 * script/execute.c (grub_script_execute_cmdline): Print error after
21852 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21854 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21855 Reported by: Pavel Pisa.
21857 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21859 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21861 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21863 Merge grub_ieee1275_map_physical into grub_map and rename to
21866 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21867 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21869 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21870 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21872 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21874 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21876 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21877 opening and not after.
21879 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21881 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21884 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21886 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21887 (alloc_phys): Use ALIGN_UP instead of align_addr.
21889 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21891 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21893 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21895 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21897 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21899 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21902 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21904 Fix over-4GiB seek on sparc64.
21906 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21907 Replace pos_i and pos_lo with pos. All users updated.
21908 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21910 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21912 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
21915 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21917 * util/grub-mkrawimage.c (main): Call set_program_name.
21919 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21921 Properly align 64-bit targets.
21923 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
21924 (generate_image): Use ALIGN_ADDR.
21926 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21928 Properly create cross-endian images.
21930 * include/grub/types.h (grub_host_to_target_addr): New macro
21931 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
21933 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21935 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
21937 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21939 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
21941 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
21942 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
21943 (grub_linux_boot): Divide by 64K when on VESA.
21945 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21947 Support GRUB_GFXPAYLOAD_LINUX.
21949 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
21950 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
21952 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21954 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
21955 to show messages instead of discarding them.
21956 Process errors after executing command and not before. Keep old method
21959 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
21961 * configure.ac: Check for ft2build.h.
21963 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21965 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
21967 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21969 * genkernsyms.sh.in: Use TARGET_CC.
21971 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
21975 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21977 * include/grub/multiboot2.h: Remove leftover file.
21978 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
21979 * include/grub/partition.h [GRUB_UTIL]: Likewise.
21981 2010-02-07 Yves Blusseau <blusseau@zetam.org>
21983 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
21985 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21987 Fix warnings in grub-emu when compiling with maximum warning options.
21989 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
21990 (grub_arch_modules_addr): Return 0 and not NULL.
21991 * util/misc.c (ENABLE_RELOCATABLE): New definition.
21992 (xstrdup): Use newstr instead of dup.
21993 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
21994 of disk to dsk to avoid shadowing.
21995 (find_free_slot): Fix prototype.
21996 * util/getroot.c (grub_util_is_dmraid): Make static.
21997 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
21998 Add missing prototype.
21999 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
22001 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22003 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22006 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22008 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22011 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22013 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22014 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22015 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22016 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22017 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22018 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22020 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22022 * include/grub/err.h (grub_err_printf): Don't export.
22024 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22026 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22028 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22030 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22031 * kern/misc.c (grub_gettext_dummy): Make static.
22033 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22035 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22037 * kern/term.c (grub_putchar): Likewise.
22039 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22041 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22042 buggy hook call and memory leak.
22044 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22046 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22048 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22050 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22052 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22054 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22056 Return grub_errno on allocation error.
22058 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22060 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22062 2010-02-06 Yves Blusseau <blusseau@zetam.org>
22064 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22065 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22067 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22069 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22071 (grub_pxefs_open): Likewise.
22073 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22075 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22076 * util/grub.d/10_kfreebsd.in: Likewise.
22077 * util/grub.d/10_linux.in: Likewise.
22079 2010-02-06 Colin D Bennett <colin@gibibit.com>
22081 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22082 (gfxmenu_mod_SOURCES): New variable.
22083 (gfxmenu_mod_CFLAGS): Likewise.
22084 (gfxmenu_mod_LDFLAGS): Likewise.
22085 * include/grub/term.h (grub_term_set_current_output): Declare
22087 * docs/gfxmenu-theme-example.txt: New file.
22088 * gfxmenu/gfxmenu.c: Likewise.
22089 * gfxmenu/gui_box.c: Likewise.
22090 * gfxmenu/gui_canvas.c: Likewise.
22091 * gfxmenu/gui_circular_progress.c: Likewise.
22092 * gfxmenu/gui_image.c: Likewise.
22093 * gfxmenu/gui_label.c: Likewise.
22094 * gfxmenu/gui_list.c: Likewise.
22095 * gfxmenu/gui_progress_bar.c: Likewise.
22096 * gfxmenu/gui_string_util.c: Likewise.
22097 * gfxmenu/gui_util.c: Likewise.
22098 * gfxmenu/icon_manager.c: Likewise.
22099 * gfxmenu/model.c: Likewise.
22100 * gfxmenu/named_colors.c: Likewise.
22101 * gfxmenu/theme_loader.c: Likewise.
22102 * gfxmenu/view.c: Likewise.
22103 * gfxmenu/widget-box.c: Likewise.
22104 * include/grub/gfxmenu_model.h: Likewise.
22105 * include/grub/gfxmenu_view.h: Likewise.
22106 * include/grub/gfxwidgets.h: Likewise.
22107 * include/grub/gui.h: Likewise.
22108 * include/grub/gui_string_util.h: Likewise.
22109 * include/grub/icon_manager.h: Likewise.
22111 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22113 Agglomerate scrolling in gfxterm.
22115 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22116 (grub_virtual_screen_setup): Initialise 'total_screen'.
22117 (write_char): Split to ...
22118 (paint_char): ... this ...
22119 (write_char): ... and this.
22120 (paint_char): Handle delayed scrolling.
22121 (draw_cursor): Likewise.
22122 (scroll_up): Split to ...
22123 (real_scroll): ... this ...
22124 (scroll_up): ... and this.
22125 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22127 (grub_gfxterm_refresh): Call real_scroll.
22129 2010-02-06 Colin D Bennett <colin@gibibit.com>
22131 * include/grub/misc.h (grub_iscntrl): New inline function.
22132 (grub_isalnum): Likewise.
22133 (grub_strtol): Likewise.
22135 2010-02-06 Colin D Bennett <colin@gibibit.com>
22137 * normal/menu_text.c (get_entry_number): Move from here ...
22138 * normal/menu.c (get_entry_number): ... moved here.
22139 * include/grub/menu.h (grub_menu_get_default_entry_index):
22141 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22142 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22143 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22144 (grub_menu_viewer_should_return): Likewise.
22145 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22146 * normal/menu_text.c (run_menu): Enable menu switching.
22147 * normal/menu_viewer.c (should_return): New variable.
22148 (menu_viewer_changed): Likewise.
22149 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22150 (grub_menu_viewer_should_return): New function.
22151 (menuviewer_write_hook): Likewise.
22152 (grub_menu_viewer_init): Likewise.
22154 2010-02-06 Colin D Bennet <colin@gibibit.com>
22155 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22157 Support for gfxterm in a window.
22159 * include/grub/gfxterm.h: New file.
22160 * include/grub/video.h (struct grub_video_rect): New declaration.
22161 (grub_video_rect_t): Likewise.
22162 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22163 (refcount): New variable.
22164 (render_target): Likewise.
22165 (window): Likewise.
22166 (repaint_callback): Likewise.
22167 (grub_virtual_screen_setup): Use 'render_target'.
22168 (init_window): New function.
22169 (grub_gfxterm_init_window): Likewise.
22170 (grub_gfxterm_init): Check reference counter.
22172 (destroy_window): New function.
22173 (grub_gfxterm_destroy_window): Likewise.
22174 (grub_gfxterm_fini): Check reference counter.
22175 Use destroy_window.
22176 (redraw_screen_rect): Restore viewport.
22177 Use 'render_target' and 'window'.
22178 Call 'repaint_callback'.
22179 (write_char): Use 'render_target'.
22180 (draw_cursor): Likewise.
22181 (scroll_up): Restore viewport.
22182 Use 'render_target' and 'window'.
22183 Call 'repaint_callback'.
22184 (grub_gfxterm_cls): Likewise.
22185 (grub_gfxterm_refresh): Use 'window'.
22186 (grub_gfxterm_set_repaint_callback): New function.
22187 (grub_gfxterm_background_image_cmd): Use 'window'.
22188 (grub_gfxterm_get_term): New function.
22189 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22191 2010-02-06 Colin D Bennett <colin@gibibit.com>
22193 Bitmap scaling support.
22195 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22196 (bitmap_scale_mod_SOURCES): New variable.
22197 (bitmap_scale_mod_CFLAGS): Likewise.
22198 (bitmap_scale_mod_LDFLAGS): Likewise.
22199 * include/grub/bitmap_scale.h: New file.
22200 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22201 (background_image_cmd_options): New variable.
22202 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22203 (cmd): Rename and change type to ...
22204 (background_image_cmd_handle): ... this. All users updated.
22205 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22206 * video/bitmap_scale.c: New file.
22208 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22212 * Makefile.in (LIBSDL): New variable.
22213 (enable_grub_emu_sdl): Likewise.
22214 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22215 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22216 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22217 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22218 * util/sdl.c: New file.
22220 2010-02-06 Colin D Bennett <colin@gibibit.com>
22221 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22223 Double buffering support.
22225 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22226 * include/grub/video.h: Update comment.
22227 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22229 (grub_video_fb_doublebuf_blit_init): New prototype.
22230 * term/gfxterm.c (scroll_up): Support double buffering.
22231 (grub_gfxterm_refresh): Likewise.
22232 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22233 (grub_video_fb_doublebuf_blit_init): Likewise.
22234 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22235 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22236 'displayed_page', 'render_page' and 'update_screen'.
22237 (grub_video_vbe_fini): Free offscreen buffer.
22238 (doublebuf_pageflipping_commit): New function.
22239 (doublebuf_pageflipping_update_screen): Likewise.
22240 (doublebuf_pageflipping_init): Likewise.
22241 (double_buffering_init): Likewise.
22242 (grub_video_vbe_setup): Enable doublebuffering.
22243 (grub_video_vbe_swap_buffers): Implement.
22244 (grub_video_vbe_set_active_render_target): Handle double buffering.
22245 (grub_video_vbe_get_active_render_target): Likewise.
22246 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22247 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22248 (grub_video_vbe_enable_double_buffering): Likewise.
22249 (grub_video_vbe_swap_buffers): Use update_screen.
22250 (grub_video_set_mode): Use double buffering.
22252 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22254 * maintainance/gentrigtables.py: Remove.
22255 * lib/trig.c: Likewise.
22257 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22259 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22261 (trigtables.c): New rule.
22262 (gentrigtables): Likewise.
22263 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22265 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22267 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22270 2010-02-06 Colin D Bennet <colin@gibibit.com>
22272 Trigonometry support.
22274 * include/grub/trig.h: New file.
22275 * lib/trig.c: Likewise.
22276 * maintainance/gentrigtables.py: Likewise.
22277 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22278 (trig_mod_SOURCES): New variable.
22279 (trig_mod_CFLAGS): Likewise.
22280 (trig_mod_LDFLAGS): Likewise.
22282 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22284 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22287 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22289 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22292 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22294 * util/hostdisk.c (open_device): Don't use partition device when reading
22295 before the partition.
22296 (grub_util_biosdisk_read): Don't read from partition and before the
22297 partition in single operation.
22298 (grub_util_biosdisk_write): Don't write to partition and before the
22299 partition in single operation.
22301 2010-02-03 Torsten Landschoff <torsten@debian.org>
22303 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22306 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22308 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22310 (grub_biosdisk_write): Refuse to write to CDROM.
22312 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22314 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22316 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22318 * font/font.c (find_glyph): Check that bmp_idx is available before
22320 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22321 with (font == NULL).
22323 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
22325 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22327 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22329 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22330 * util/grub-script-check.c (getline): Fix empty lines case.
22332 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22334 * Makefile.in (check): Exit with fail status when one of the tests
22336 * tests/example_functional_test.c (example_test): Fix reversed assert.
22337 * tests/example_unit_test.c (example_test): Likewise.
22339 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
22341 * util/grub.d/10_linux.in: This script does not use any of the
22342 contents of gettext.sh, only the external command `gettext', so stop
22343 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22344 the same prefix as GRUB.)
22345 * util/grub.d/10_kfreebsd.in: Likewise.
22347 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22349 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22352 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22354 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22357 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22359 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22360 having a 4KiB and not 32KiB buffer size.
22362 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22364 * util/hostfs.c: Include `<errno.h>'.
22365 (grub_hostfs_read): Handle errors from fseeko() and fread().
22367 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22369 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22370 loop when using read hooks on files whose size isn't sector-aligned.
22372 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22374 Remove unused parameter.
22376 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22377 (grub_iso9660_open): Remove initialization of `data->length'.
22379 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22381 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22382 memleak conditions.
22384 2010-01-27 Carles Pina i Estany <carles@pina.cat>
22386 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22387 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22389 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22391 * util/bin2h.c (usage): Fix warning (space after backslash).
22393 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22395 * font/font.c: Include `grub/fontformat.h.
22396 Remove font file format constants.
22397 (grub_font_load): Use the new macros.
22398 * include/grub/fontformat.h: New file.
22399 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22400 (write_font_pf2): Use the new macros.
22402 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22404 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22407 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22409 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22411 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22412 (_start): Macroify `0x7F'.
22414 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22415 (make_install_device): Use "(pxe)" as fallback prefix when booting
22418 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22420 * configure.ac: Reset LIBS after check for libgcc symbols.
22422 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
22424 * util/hostdisk.c (open_device): Add trailing newline to debug
22427 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22429 * configure.ac: Check for `limits.h'.
22430 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22432 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22434 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22435 capitalize error strings.
22437 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22439 * util/grub.d/10_hurd.in: Add a recovery mode.
22441 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22443 * configure.ac: Check for libgcc symbols with -nostdlib.
22445 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22447 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22449 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22451 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22452 stack since heap may be unavailable at that point.
22453 (grub_ofconsole_gotoxy): Likewise.
22455 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22457 * configure.ac: Check for _restgpr_14_x.
22458 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22459 and _savegpr_* prototypes.
22461 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22463 Use generic grub_reboot() for i386-efi.
22465 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22466 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22467 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22469 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22471 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22472 presence of "prefix" variable as it breaks when normal.mod is
22475 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22477 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22478 stack since heap is unavailable at that point.
22480 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22482 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22483 (grub_freebsd_bootinfo): Rewritten.
22484 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22486 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22488 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22490 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22492 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22495 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
22497 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22498 around for handling "/" to the correct fix. Fix a memory leak. Use
22499 xstrdup instead of strdup.
22501 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22503 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22505 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22507 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22509 * font/font.c (struct grub_font): New member 'bmp_idx'.
22510 (font_init): Initialise 'bmp_idx'.
22511 (load_font_index): Fill 'bmp_idx'.
22512 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22514 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22516 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22519 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22521 Move context handling out of the kernel.
22523 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22524 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22525 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22526 * conf/i386-efi.rmk: Likewise.
22527 * conf/i386-ieee1275.rmk: Likewise.
22528 * conf/i386-pc.rmk: Likewise.
22529 * conf/powerpc-ieee1275.rmk: Likewise.
22530 * conf/sparc64-ieee1275.rmk: Likewise.
22531 * conf/x86_64-efi.rmk: Likewise.
22532 * include/grub/env.h: Include grub/menu.h.
22533 (grub_env_var_type): Removed.
22534 (grub_env_var): Replaced field 'type' with 'global'.
22535 (grub_env_find): New prototype.
22536 (grub_env_context_open): Remove EXPORT_FUNC.
22537 (grub_env_context_close): Likewise.
22538 (grub_env_export): Likewise.
22539 (grub_env_set_data_slot): Removed.
22540 (grub_env_get_data_slot): Likewise.
22541 (grub_env_unset_data_slot): Likewise.
22542 (grub_env_unset_menu): New prototype.
22543 (grub_env_set_menu): Likewise.
22544 (grub_env_get_menu): Likewise.
22545 * include/grub/env_private.h: New file.
22546 * include/grub/normal.h (grub_context_init): New prototype.
22547 (grub_context_fini): Likewise.
22548 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22549 * normal/context.c (grub_cmd_export): ... to here.
22550 * kern/env.c: Include env_private.h.
22551 (HASHSZ): Moved to include/grub/env_private.h.
22552 (grub_env_context): Likewise.
22553 (grub_env_sorted_var): Likewise.
22554 (current_context): Renamed from this ...
22555 (grub_current_context): ...to this. 'static' removed. All users updated.
22556 (grub_env_find): Removed 'static'.
22557 (grub_env_context_open): Moved to normal/context.c.
22558 (grub_env_context_close): Likewise.
22559 (grub_env_export): Likewise.
22560 (mangle_data_slot_name): Removed.
22561 (grub_env_set_data_slot): Likewise.
22562 (grub_env_get_data_slot): Likewise.
22563 (grub_env_unset_data_slot): Likewise.
22564 * kern/main.c (grub_set_root_dev): Don't export root.
22565 It will be done later.
22566 (grub_main): Don't export prefix.
22567 It will be done later.
22568 * normal/context.c: New file.
22569 * normal/main.c (free_menu): Use grub_env_unset_menu.
22570 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22571 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22572 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22573 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22575 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22579 * commands/setpci.c: New file.
22580 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22581 (setpci_mod_SOURCES): New variable.
22582 (setpci_mod_CFLAGS): Likewise.
22583 (setpci_mod_LDFLAGS): Likewise.
22585 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22587 Byte-addressable PCI configuration space.
22589 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22591 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22592 GRUB_PCI_REG_CACHELINE.
22593 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22594 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22595 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22596 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22597 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22598 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22599 grub_pci_make_address.
22600 (lock_rom_area): Likewise.
22601 * commands/lspci.c (grub_lspci_iter): Use macroses
22602 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22603 of grub_pci_make_address.
22604 * disk/ata.c (grub_ata_pciinit): Likewise.
22605 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22606 (GRUB_PCI_REG_VENDOR): Likewise.
22607 (GRUB_PCI_REG_DEVICE): Likewise.
22608 (GRUB_PCI_REG_COMMAND): Likewise.
22609 (GRUB_PCI_REG_STATUS): Likewise.
22610 (GRUB_PCI_REG_REVISION): Likewise.
22611 (GRUB_PCI_REG_CLASS): Likewise.
22612 (GRUB_PCI_REG_CACHELINE): Likewise.
22613 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22614 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22615 (GRUB_PCI_REG_BIST): Likewise.
22616 (GRUB_PCI_REG_ADDRESSES): Likewise.
22617 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22618 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22619 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22620 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22621 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22622 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22623 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22624 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22625 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22626 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22627 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22628 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22629 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22630 (GRUB_PCI_REG_MIN_GNT): Likewise.
22631 (GRUB_PCI_REG_MAX_LAT): Likewise.
22632 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22633 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22634 * video/efi_uga.c (find_framebuf): Likewise.
22635 * video/sm712.c (grub_video_sm712_setup): Likewise.
22636 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22639 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22641 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22642 can be reliably determined to be supported.
22644 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22646 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22647 that VESA is supported.
22648 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22651 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22653 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22655 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22657 * util/misc.c (make_system_path_relative_to_its_root): Work around
22658 special-casing of "/", as previous incarnation of this routine did.
22660 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22662 Fix any-emu compilation.
22664 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22665 * grub_bin2h_SOURCES: New variable.
22667 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22669 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22671 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22673 * util/grub.d/00_header.in: Fix handling of locale_dir.
22675 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22677 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22678 as possible unifont location (Gentoo).
22679 Reported by: Alexander Brüning
22681 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22683 Don't try to generate lists for kernel.img.
22685 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22686 (pkglib_MODULES): Remove kernel.img.
22687 (kernel_img_EXPORTS): Removed.
22688 (kernel_img_RELOCATABLE): New variable.
22689 * conf/x86_64-efi.rmk: Likewise.
22690 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22692 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22694 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22695 grub_xasprintf or grub_snprintf.
22696 (grub_vsprintf): Likewise.
22697 (grub_snprintf): New proto.
22698 (grub_vsnprintf): Likewise.
22699 (grub_xasprintf): Likewise.
22700 (grub_xvasprintf): Likewise.
22701 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22702 (grub_sprintf): Removed.
22703 (grub_vsnprintf): New function.
22704 (grub_snprintf): Likewise.
22705 (grub_xvasprintf): Likewise.
22706 (grub_xasprintf): Likewise.
22707 (grub_vsprintf): Renamed to ...
22708 (grub_vsnprintf_real): ...this. New argument max_len.
22710 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22712 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22713 fix grub-script-check warning.
22715 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22717 * include/grub/font.h (grub_font_load): Fix prototype.
22719 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22721 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22723 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22725 * include/grub/x86_64/at_keyboard.h: New file.
22727 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22729 * loader/mips/linux.c: Include missing grub/i18n.h.
22731 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22733 * normal/menu.c (notify_execution_failure): Clarify error message.
22735 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22737 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22738 return value (and revert all return statements). Update users.
22740 2010-01-20 Dan Merillat <debian@dan.merillat.org>
22742 * kern/device.c (grub_device_iterate): Allocate new part_ent
22743 structure based on sizeof (*p) rather than sizeof (p->next), to
22744 account for structure padding.
22746 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22747 disk is NULL, which might happen for LVM physical volumes with no
22750 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22752 * loader/mips/linux.c (grub_cmd_initrd)
22753 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22755 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22757 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22758 (grub_video_video_init, grub_video_bitmap_init)
22759 (grub_font_manager_init, grub_term_gfxterm_init)
22760 (grub_at_keyboard_init): New extern declarations.
22761 (grub_machine_init): Initialize gfxterm and at_keyboard.
22763 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22765 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22766 `gfxterm.mod' into core image.
22768 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22769 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22770 (kernel_img_FORMAT): Copy to ...
22772 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22773 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22774 (kernel_img_FORMAT): ... here, and ...
22776 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22777 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22778 (kernel_img_FORMAT): ... here.
22780 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22781 and input (at_keyboard) terminals in kernel.
22782 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22784 (pkglib_MODULES): Remove `pci.mod'.
22785 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22786 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22787 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22788 (at_keyboard_mod_LDFLAGS): Remove variables.
22790 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
22792 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22794 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22796 * include/grub/mips/libgcc.h: Only export symbols for functions
22797 that libgcc provides.
22799 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22803 * bus/bonito.c: New file.
22804 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22805 GRUB_PCI_NUM_DEVICES.
22806 * term/i386/pc/serial.c: Move to ...
22807 * term/serial.c: ... here. All users updated.
22808 * util/i386/pc/grub-mkimage.c: Move to ...
22809 * util/grub-mkrawimage.c: ... here. All users updated.
22810 * term/i386/pc/at_keyboard.c: Move to ...
22811 * term/at_keyboard.c: ... here. All users updated.
22812 * conf/mips-qemu-mips.rmk: New file.
22813 * conf/mips-yeeloong.rmk: Likewise.
22814 * conf/mips.rmk: Likewise.
22815 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22817 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22819 (grub_ata_pciinit): Support CS5536.
22820 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22821 * font/font_cmd.c (loadfont_command): Open file before passing it to
22823 (pseudo_file_read): New function.
22824 (pseudo_file_close): Likewise.
22825 (pseudo_fs): New structure.
22826 (load_font_module): New function.
22827 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22828 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22829 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22830 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22831 * include/grub/i386/at_keyboard.h: Split into ...
22832 * include/grub/at_keyboard.h: ... this ...
22833 * include/grub/i386/at_keyboard.h: ... and this.
22834 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22836 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22838 (grub_elf64_size): Likewise.
22839 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22841 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22842 * include/grub/i386/coreboot/serial.h: Rewritten.
22843 * include/grub/i386/ieee1275/serial.h: Include
22844 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22845 * include/grub/i386/pc/serial.h: Moved from here ...
22846 * include/grub/serial.h: ... to here. All users updated.
22847 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22848 (GRUB_PCI_NUM_BUS): Likewise.
22849 (GRUB_PCI_NUM_DEVICES): Likewise.
22850 (grub_pci_device_map_range): Add missing volatile keyword.
22851 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22852 * include/grub/mips/at_keyboard.h: New file.
22853 * include/grub/mips/cache.h: Likewise.
22854 * include/grub/mips/io.h: Likewise.
22855 * include/grub/mips/kernel.h: Likewise.
22856 * include/grub/mips/libgcc.h: Likewise.
22857 * include/grub/mips/pci.h: Likewise.
22858 * include/grub/mips/qemu-mips/boot.h: Likewise.
22859 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22860 * include/grub/mips/qemu-mips/loader.h: Likewise.
22861 * include/grub/mips/qemu-mips/memory.h: Likewise.
22862 * include/grub/mips/qemu-mips/serial.h: Likewise.
22863 * include/grub/mips/qemu-mips/time.h: Likewise.
22864 * include/grub/mips/relocator.h: Likewise.
22865 * include/grub/mips/time.h: Likewise.
22866 * include/grub/mips/types.h: Likewise.
22867 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22868 * include/grub/mips/yeeloong/boot.h: Likewise.
22869 * include/grub/mips/yeeloong/kernel.h: Likewise.
22870 * include/grub/mips/yeeloong/loader.h: Likewise.
22871 * include/grub/mips/yeeloong/memory.h: Likewise.
22872 * include/grub/mips/yeeloong/pci.h: Likewise.
22873 * include/grub/mips/yeeloong/serial.h: Likewise.
22874 * include/grub/mips/yeeloong/time.h: Likewise.
22875 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22876 * kern/elf.c (grub_elf32_size): New parameter. All users
22878 (grub_elf64_size): Likewise.
22879 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22880 Load modules before saying "Welcome to GRUB!".
22881 Call grub_refresh after saying "Welcome to GRUB!".
22882 * kern/mips/cache.S: New file.
22883 * kern/mips/cache_flush.S: Likewise.
22884 * kern/mips/dl.c: Likewise.
22885 * kern/mips/init.c: Likewise.
22886 * kern/mips/qemu-mips/init.c: Likewise.
22887 * kern/mips/startup.S: Likewise.
22888 * kern/mips/yeeloong/init.c: Likewise.
22889 * kern/term.c (grub_putcode): Handle NULL terminal.
22890 (grub_getcharwidth): Likewise.
22891 (grub_getkey): Likewise.
22892 (grub_checkkey): Likewise.
22893 (grub_getkeystatus): Likewise.
22894 (grub_getxy): Likewise.
22895 (grub_getwh): Likewise.
22896 (grub_gotoxy): Likewise.
22897 (grub_cls): Likewise.
22898 (grub_setcolorstate): Likewise.
22899 (grub_setcolor): Likewise.
22900 (grub_getcolor): Likewise.
22901 (grub_refresh): Likewise.
22902 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22903 (write_jump): Add hatch nop.
22904 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22905 * lib/mips/setjmp.S: New file.
22906 * loader/mips/linux.c: Likewise.
22907 * term/i386/pc/at_keyboard.c: Move from here ...
22908 * term/at_keyboard.c: ... to here.
22909 * term/i386/pc/serial.c: Moved from here ...
22910 * term/serial.c: ... to here. All users updated.
22911 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
22912 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
22913 (serial_translate_key_sequence): Avoid deadlock.
22914 (grub_serial_getkey): Handle backspace.
22915 (grub_serial_putchar): Fix newline handling.
22916 * util/i386/pc/grub-mkimage.c: Move from here ...
22917 * util/grub-mkrawimage.c: ... to here. All users updated.
22918 (generate_image): New parameters 'font_path' and 'format'.
22919 Support embedding font.
22920 Use grub_host_to_target* instead of grub_cpu_to_le*.
22921 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
22922 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
22923 (options): New option "--font".
22925 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
22926 (main): Handle "--font".
22927 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
22928 (grub_virtual_screen_setup): Set bg_color_display.
22929 (redraw_screen_rect): Use bg_color_display instead of incorrect
22931 (grub_gfxterm_cls): Likewise.
22932 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
22933 Support embedding config file.
22934 (add_segments): Likewise.
22935 (options): New option "--config".
22936 (main): Handle "--config".
22937 * video/sm712.c: New file.
22939 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22941 Fix parallel builds.
22943 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
22944 font.c depend on ascii.h).
22946 2010-01-12 Carles Pina i Estany <carles@pina.cat>
22948 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
22950 2010-01-11 Carles Pina i Estany <carles@pina.cat>
22952 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
22953 By default: disabled.
22954 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
22957 2010-01-10 Carles Pina i Estany <carles@pina.cat>
22959 * font/font.c: Update copyright years.
22960 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
22962 2010-01-10 Carles Pina i Estany <carles@pina.cat>
22964 * font/font.c: Include `ascii.h'.
22965 (ASCII_BITMAP_SIZE): New macro.
22966 (ascii_font_glyph): Define.
22967 (ascii_glyph_lookup): New function.
22968 (grub_font_get_string_width): Change comment. If glyph not found, use
22969 ascii_glyph_lookup.
22970 (grub_font_get_glyph_with_fallback): If glyph not available returns
22971 ascii_glyph_lookup.
22972 * util/grub-mkfont.c (file_formats): New enum.
22973 (options): Add `ascii-bitmaps' new option.
22974 (usage): Add `asii-bitmaps' new option.
22975 (write_font_ascii_bitmap): New function.
22976 (write_font): Rename to ...
22977 (write_font_p2): ... this. Remove print_glyphs call.
22978 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
22979 used. Call print_glyphs.
22980 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
22982 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22984 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
22985 (grub_bin2h_SOURCES): New variable.
22986 * util/bin2h.c: New file.
22988 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22990 * include/multiboot.h: Resynced with spec.
22991 * include/multiboot2.h: Likewise.
22992 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
22993 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
22995 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22997 * include/grub/term.h (grub_term_register_input,
22998 grub_term_register_output): Check return of terminal init()
22999 routines, and abort if errors are raised.
23001 * commands/terminal.c: Update copyright year.
23003 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23005 * commands/terminal.c (grub_cmd_terminal_input)
23006 (grub_cmd_terminal_output): Check return of terminal init()
23007 routines, and abort if errors are raised.
23009 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23011 * include/grub/i386/bsd.h: Fix include pathes.
23013 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23015 Add missing *BSD copyright headers.
23017 * include/grub/aout.h: Add BSD licence.
23018 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23019 * include/grub/i386/freebsd_linker.h: ... here,
23020 * include/grub/i386/freebsd_reboot.h: ... here,
23021 * include/grub/i386/netbsd_bootinfo.h: ... here,
23022 * include/grub/i386/netbsd_reboot.h: ... here,
23023 * include/grub/i386/openbsd_bootarg.h: ... here,
23024 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23025 licence to each file.
23027 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23029 * acinclude.m4: Remove `nop' assembly instruction; it's not
23030 implemented by all architectures.
23032 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23034 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23035 ELILO. This is no longer necessary.
23037 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23039 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23041 * util/grub-script-check.c: grub-script-check tool.
23042 * conf/common.rmk: Make rules for grub-script-check.
23044 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23046 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23047 spotting it back in 2008. Shame on me for forgetting he did.
23049 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23051 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23053 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23054 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23055 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23056 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23057 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23058 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23060 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23062 * include/grub/test.h: Add license header.
23063 * tests/example_functional_test.c: Likewise.
23064 * tests/example_unit_test.c: Likewise.
23065 * tests/lib/functional_test.c: Likewise.
23066 * tests/lib/test.c: Likewise.
23067 * tests/lib/unit_test.c: Likewise.
23069 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23071 Use flag-based instead of hook-based video mode selection and "auto"
23074 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23075 (grub_video_set_mode): Changed prototype. All users updated.
23076 (grub_video_check_mode_flag): New inline function.
23077 * video/video.c (parse_modespec): New function.
23078 (grub_video_set_mode): Parse flags and keywords.
23080 2010-01-17 Carles Pina i Estany <carles@pina.cat>
23082 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23085 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23087 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23089 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23091 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23093 * util/grub-emu.c (usage): Likewise.
23094 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23095 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23096 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23097 * util/i386/pc/grub-setup.c (usage): Likewise.
23099 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23101 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23103 (grub_util_info): Likewise.
23104 (grub_util_error): Likewise.
23105 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23106 and/or new lines in `grub_util_warna', `grub_util_info',
23107 `grub_util_error' calls.
23108 * util/getroot.c: Likewise.
23109 * util/grub-editenv.c: Likewise.
23110 * util/grub-emu.c: Likewise.
23111 * util/grub-fstest.c: Likewise.
23112 * util/grub-mkdevicemap.c: Likewise.
23113 * util/grub-mkfont.c: Likewise.
23114 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23115 * util/grub-mkrelpath.c: Likewise.
23116 * util/grub-pe2elf.c: Likewise.
23117 * util/grub-probe.c: Likewise.
23118 * util/hostdisk.c: Likewise.
23119 * util/i386/efi/grub-mkimage.c: Likewise.
23120 * util/i386/pc/grub-mkimage.c: Likewise.
23121 * util/i386/pc/grub-setup.c: Likewise.
23122 * util/ieee1275/ofpath.c: Likewise.
23123 * util/mkisofs/eltorito.c: Likewise.
23124 * util/mkisofs/rock.c: Likewise.
23125 * util/mkisofs/write.c: Likewise.
23126 * util/raid.c: Likewise.
23127 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23128 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23130 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23132 Enable multiboot on non-pc.
23134 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23135 multiboot.mod and multiboot2.mod to ...
23136 * conf/i386.rmk (pkglib_MODULES): ... here.
23137 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23139 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23140 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23142 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23143 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23145 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23146 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23148 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23149 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23151 (ata_mod_SOURCES): Removed.
23152 (ata_mod_CFLAGS): Likewise.
23153 (ata_mod_LDFLAGS): Likewise.
23154 (relocator_mod_SOURCES): Removed.
23155 (relocator_mod_CFLAGS): Likewise.
23156 (relocator_mod_ASFLAGS): Likewise.
23157 (relocator_mod_LDFLAGS): Likewise.
23159 * include/grub/x86_64/multiboot.h: New file.
23160 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23163 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23165 Video multiboot support.
23167 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23169 * include/multiboot.h: Resynced with multiboot specification.
23170 * include/multiboot2.h: Likewise.
23171 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23172 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23173 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23174 (HAS_VGA_TEXT): Likewise.
23175 (accepts_video): New variable.
23176 (grub_multiboot_set_accepts_video): New function.
23177 (grub_multiboot_get_mbi_size): Account for video structures.
23178 (set_video_mode): New function.
23179 (retrieve_video_parameters): Likewise.
23180 (grub_multiboot_make_mbi): Fill video fields.
23182 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23186 * include/grub/video.h (grub_video_driver_id): New type.
23187 (grub_video_adapter): New member 'id'. All users updated.
23188 (grub_video_get_driver_id): New proto.
23189 * video/video.c (grub_video_get_driver_id): New function.
23191 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23193 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23196 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23198 * normal/cmdline.c (print_completion): Gettextizze.
23200 2001-01-14 Carles Pina i Estany <carles@pina.cat>
23202 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23204 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23206 * gettext/gettext.c (grub_gettext_translate): Push and pop
23208 (grub_gettext_delete_list): Change comment style.
23209 * kern/err.c (grub_error): Gettextizze.
23210 (grub_fatal): Gettextizze.
23212 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23214 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23215 (grub_linux16_real_boot): ... this.
23216 * kern/i386/loader.S: Likewise.
23217 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23218 (grub_linux16_boot): New function. Switches to text mode and calls
23219 grub_linux16_real_boot().
23221 * loader/i386/bsd.c: Include `<grub/video.h>'.
23222 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23223 text mode before calling grub_unix_real_boot().
23225 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23226 (grub_multiboot_boot): Switch to text mode before calling
23227 grub_relocator32_boot().
23229 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23230 (grub_chainloader_boot): Switch to text mode before calling
23231 grub_chainloader_real_boot().
23233 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23234 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23236 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23239 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23240 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23242 * util/grub.d/00_header.in: Define a "savedefault" function for use
23244 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23246 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23247 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23249 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23250 saved_entry if boot_once is unset.
23251 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23252 previous saved entry (i.e. grub-reboot).
23254 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23256 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23258 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23260 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23262 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23264 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23266 * util/grub-reboot.in: Fix --version output.
23267 * util/grub-set-default.in: Likewise.
23269 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23271 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23274 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23276 * util/grub.d/00_header.in: Quote the value assigned to `default',
23277 in case it contains spaces.
23279 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23281 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23282 `save_default_entry' call from the macosx case to the linux case.
23284 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
23285 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
23287 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23288 in `chosen' environment variable.
23289 * normal/menu_text.c (get_entry_number): Check if the variable
23290 matches the title of a menu entry.
23291 (run_menu): Pass menu to get_entry_number.
23293 * util/grub-reboot.in: New file.
23294 * util/grub-set-default.in: New file.
23295 * conf/common.rmk (grub-reboot): New utility.
23296 (grub-set-default): New utility.
23298 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23299 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23300 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23301 move it to `saved_entry' for the next boot. Load environment on
23303 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23304 * util/grub.d/10_hurd.in: Likewise.
23305 * util/grub.d/10_linux.in (linux_entry): Likewise.
23306 * util/grub.d/10_windows.in: Likewise.
23307 * util/grub.d/30_os-prober.in: Likewise.
23309 * util/grub-install.in: Create environment block.
23310 * util/i386/efi/grub-install.in: Likewise.
23311 * util/ieee1275/grub-install.in: Likewise.
23312 * util/sparc64/ieee1275/grub-install.in: Likewise.
23314 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23316 Unit testing framework for GRUB.
23318 * Makefile.in: Test framework build rules for 'make check'.
23319 * conf/tests.rmk: Build rules for individual tests and framework.
23321 * include/grub/test.h: Header file for whitebox tests.
23322 * tests/lib/functional_test.c: Framework support for whitebox
23324 * tests/lib/test.c: Common whitebox testing code for unit and
23326 * tests/lib/unit_test.c: Framework support for whitebox unit
23329 * tests/util/grub-shell-tester.in: Support utility for grub-script
23331 * tests/util/grub-shell.in: Utility to execute grub-script
23332 commands in a Qemu instance.
23334 * tests/example_functional_test.c: Example whitebox functional
23336 * tests/example_grub_script_test.in: Example grub-script test.
23337 * tests/example_scripted_test.in: Example scripted test.
23338 * tests/example_unit_test.c: Example whitebox unit test.
23340 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23342 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23343 Add loader/i386/multiboot_mbi.c.
23344 (multiboot2_mod_SOURCES): Likewise.
23345 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23346 (multiboot2_mod_SOURCES): Likewise.
23347 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23348 (grub_multiboot_make_mbi): Likewise.
23349 (grub_multiboot_free_mbi): Likewise.
23350 (grub_multiboot_init_mbi): Likewise.
23351 (grub_multiboot_add_module): Likewise.
23352 (grub_multiboot_set_bootdev): Likewise.
23353 * loader/i386/multiboot.c (mbi): Removed.
23354 (mbi_dest): Likewise.
23355 (alloc_mbi): New variable.
23356 (grub_multiboot_payload_size): Removed. All users updated.
23357 (grub_multiboot_pure_size): New variable.
23358 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23359 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23360 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23361 (grub_fill_multiboot_mmap): Likewise.
23362 (grub_multiboot_get_bootdev): Likewise.
23363 (grub_multiboot): Use multiboot_mbi functions.
23364 * loader/i386/multiboot_mbi.c: New file.
23366 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23368 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23369 it would result in module crash.
23371 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23373 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23374 (grub_ofconsole_getwh): Split to ...
23375 (grub_ofconsole_getwh): ... this.
23376 (grub_ofconsole_dimensions): ...and this.
23377 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23379 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23381 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23383 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23385 * loader/i386/pc/multiboot2.c: Removed stalled file.
23387 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23389 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23390 Reported by: Grégoire Sutre
23392 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23394 * util/misc.c (canonicalize_file_name): New function.
23395 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23396 instead of realpath().
23398 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
23400 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23401 and make it clearer that it's optional. Based on confusion
23404 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23406 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23407 in premature implicit newline.
23409 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23411 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23412 which resulted in garbled command line at the end of screen.
23414 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23416 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23417 initialization with similar approach as with other Linux loaders.
23419 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23421 Fix i386-ieee1275 build.
23423 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23424 and grub_term_height() for video_{width,height} initialization.
23426 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23428 Fix grub-emu build.
23430 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23432 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23433 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23435 Support for multiple terminals.
23437 * Makefile.in (pkglib_DATA): terminal.lst.
23438 (terminal.lst): New target.
23439 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23440 (GRUB_MOD_INIT(handler)): Likewise.
23441 (GRUB_MOD_FINI(handler)): Likewise.
23442 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23443 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23444 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23445 (grub_cmd_sleep): Use grub_term_save_pos.
23446 * commands/terminal.c: New file.
23447 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23448 commands/terminal.c and lib/charset.c.
23449 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23450 (pkglib_MODULES): Add terminal.mod.
23451 (terminal_mod_SOURCES): New variable.
23452 (terminal_mod_CFLAGS): Likewise.
23453 (terminal_mod_LDFLAGS): Likewise.
23454 * genhandlerlist.sh: Don't handle terminals.
23455 * genmk.rb: Generate terminal-*.lst.
23456 * genterminallist.sh: New file.
23457 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23458 (grub_is_valid_utf8): Likewise.
23459 (grub_utf8_to_ucs4_alloc): Likewise.
23460 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23461 (grub_menu_register_viewer): Changed argument.
23462 (grub_menu_try_text): New proto.
23463 (grub_gfxmenu_try_hook): New declaration.
23464 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23465 (grub_menu_init_page): Additional argument term.
23466 (grub_normal_init_page): Likewise.
23467 (grub_cmdline_get): Arguments simplified.
23468 (grub_utf8_to_ucs4_alloc): Removed.
23469 (grub_print_ucs4): Additional argument term.
23470 (grub_getstringwidth): Likewise.
23471 (grub_print_message_indented): Likewise.
23472 (grub_menu_text_register_instances): New proto.
23473 (grub_show_menu): Likewise.
23474 (read_terminal_list): Likewise.
23475 (grub_set_more): Likewise.
23476 * include/grub/parser.h: Include handler.h.
23477 * include/grub/reader.h: Rewritten.
23478 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23479 (GRUB_TERM_WIDTH): Changed to function.
23480 (GRUB_TERM_HEIGHT): Likewise.
23481 (GRUB_TERM_BORDER_WIDTH): Likewise.
23482 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23483 (GRUB_TERM_NUM_ENTRIES): Likewise.
23484 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23485 (GRUB_TERM_CURSOR_X): Likewise.
23486 (grub_term_input_class): Likewise.
23487 (grub_term_output_class): Likewise.
23488 (grub_term_outputs_disabled): New declaration.
23489 (grub_term_inputs_disabled): Likewise.
23490 (grub_term_outputs): Likewise.
23491 (grub_term_inputs): Likewise.
23492 (grub_term_register_input): Rewritten.
23493 (grub_term_register_output): Likewise.
23494 (grub_term_unregister_input): Likewise.
23495 (grub_term_unregister_output): Likewise.
23496 (FOR_ACTIVE_TERM_INPUTS): New macro.
23497 (FOR_DISABLED_TERM_INPUTS): Likewise.
23498 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23499 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23500 * include/grub/terminfo.h: Add oterm argument to all protypes.
23501 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23502 Use grub_rescue_run.
23503 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23505 * kern/reader.c: Removed. All users updated.
23506 * kern/rescue_reader.c (grub_rescue_init): Removed.
23507 (grub_rescue_reader): Likewise.
23508 (grub_register_rescue_reader): Likewise.
23509 (grub_rescue_run): New function based on kern/reader.c.
23510 * kern/term.c: Adapted for multiterm.
23511 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23512 (grub_is_valid_utf8): Likewise.
23513 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23514 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23516 * loader/i386/linux.c (grub_linux_boot): Likewise.
23517 * normal/auth.c (grub_username_get): New function.
23518 (grub_auth_check_authentication): Use grub_username_get.
23519 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23520 * normal/color.c: Adapt for multiterm.
23521 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23522 (grub_normal_init_page): Additional argument term.
23523 (read_lists): Call read_terminal_lists.
23524 (grub_enter_normal_mode): Call grub_cmdline_run.
23525 Handle grub_normal_exit_level.
23526 (grub_cmd_normal): Make reentrant.
23527 (grub_cmd_normal_exit): New function.
23528 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23529 * normal/menu.c: Adapt for multiterm.
23530 * normal/menu_entry.c: Likewise.
23531 * normal/menu_text.c: Likewise.
23532 * normal/menu_viewer.c: Removed. All users updated.
23533 * normal/term.c: New file.
23534 * util/console.c: Change order of includes to workaround a bug in
23536 * term/terminfo.c: New argument oterm on all exported functions.
23538 * util/grub-editenv.c (grub_term_input_class): Removed.
23539 (grub_term_output_class): Likewise.
23541 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23543 Make loader output a bit more user-friendly.
23545 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23546 is being loaded. Likewise for the Hurd.
23548 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23549 that kernel of FreeBSD ${version} is being loaded.
23551 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23553 (grub_cmd_initrd): Likewise.
23554 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23555 that Linux ${version} is being loaded. Likewise for initrd.
23557 2010-01-09 Carles Pina i Estany <carles@pina.cat>
23559 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23561 2010-01-08 Carles Pina i Estany <carles@pina.cat>
23563 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23564 (GRUB_MOD_INIT): Gettextizze.
23565 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23566 (GRUB_MOD_INIT): Gettextizze.
23567 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23568 (grub_cmd_linux): Capitalise Linux.
23569 (GRUB_MOD_INIT): Gettextizze.
23570 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23571 (grub_cmd_linux): Capitalise Linux.
23572 (GRUB_MOD_INIT): Gettextizze.
23573 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23574 (grub_cmd_linux): Capitalise Linux.
23575 (GRUB_MOD_INIT): Gettextizze.
23576 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23577 (GRUB_MOD_INIT): Gettextizze.
23578 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23579 (grub_cmd_linux): Capitalise Linux.
23580 (GRUB_MOD_INIT): Gettextizze.
23581 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23582 (grub_cpu_xnu_init): Gettextizze.
23583 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23584 (GRUB_MOD_INIT): Gettextizze.
23585 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23586 (GRUB_MOD_INIT): Gettextizze.
23587 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23588 (grub_linux_load64): Capitalise Linux.
23589 (GRUB_MOD_INIT): Gettextizze.
23590 * loader/xnu.c: Include `<grub/i18n.h>'.
23591 (GRUB_MOD_INIT): Gettextizze.
23592 * po/POTFILES: Add `loader/efi/appleloader.c',
23593 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23594 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23595 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23596 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23597 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23598 and `loader/xnu.c'.
23600 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23602 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23604 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23606 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23607 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23608 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23610 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23612 Reset Multiboot 2 support. New loader implements the draft in
23613 /branches/multiboot2 and shares as much code as possible with the
23614 production Multiboot 1 implementation.
23616 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23617 * loader/multiboot2.c: Likewise.
23618 * loader/i386/multiboot_helper.S: Likewise.
23619 * include/multiboot2.h: Replace with latest version from the draft
23620 in /branches/multiboot2.
23622 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23623 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23624 and `loader/multiboot2.c'.
23625 (pkglib_MODULES): Add `multiboot2.mod'.
23626 (multiboot2_mod_SOURCES): New variable.
23627 (multiboot2_mod_LDFLAGS): Likewise.
23628 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23630 * conf/i386-pc.rmk: Likewise.
23632 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23633 (multiboot_mod_SOURCES): Remove variable.
23634 (multiboot_mod_LDFLAGS): Likewise.
23635 (multiboot_mod_CFLAGS): Likewise.
23637 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23638 `<multiboot2.h>' instead of `<multiboot.h>'.
23639 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23640 (MULTIBOOT_HEADER_MAGIC): New macros.
23642 * loader/multiboot_loader.c (module_version_status): Remove variable.
23643 (find_multi_boot2_header): Remove function.
23644 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23645 logic. Always check for the Multiboot version we're compiling for.
23646 (grub_cmd_module_loader): Likewise.
23647 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23648 command instead of `multiboot'.
23650 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23652 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23653 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23656 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23657 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23659 Fix breakage introduced with previous commit.
23661 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23663 * normal/handler.c (read_handler_list): Revert part of previous commit
23664 affecting this file.
23665 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23666 (grub_normal_execute): ... here.
23668 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23670 Merge prefix-redefinition-fix branch.
23672 * normal/autofs.c (read_fs_list): Make function capable of being
23673 run multiple times, gracefuly replacing the previous data
23675 * normal/dyncmd.c (read_command_list): Likewise.
23676 * normal/handler.c (read_handler_list): Likewise.
23677 * normal/main.c (read_lists): New function. Calls all the
23678 list reading functions.
23679 (grub_normal_execute): Use read_lists() instead of calling all
23680 list reading functions explicitly. Register read_lists() as a
23681 variable hook attached to ${prefix}.
23683 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23685 Merge crypto branch.
23687 * Makefile.in (pkglib_DATA): Add crypto.lst.
23688 (crypto.lst): New target.
23689 * commands/hashsum.c: New file.
23690 * commands/password.c (check_password): Use grub_crypto_memcmp.
23691 * commands/password_pbkdf2.c: New file.
23692 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23693 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23694 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23695 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23696 -I$(srcdir)/lib/libgcrypt_wrap.
23697 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23698 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23699 password_pbkdf2.mod.
23700 (crypto_mod_SOURCES): New variable.
23701 (crypto_mod_CFLAGS): Likewise.
23702 (crypto_mod_LDFLAGS): Likewise.
23703 (hashsum_mod_SOURCES): New variable.
23704 (hashsum_mod_CFLAGS): Likewise.
23705 (hashsum_mod_LDFLAGS): Likewise.
23706 (pbkdf2_mod_SOURCES): New variable.
23707 (pbkdf2_mod_CFLAGS): Likewise.
23708 (pbkdf2_mod_LDFLAGS): Likewise.
23709 (password_pbkdf2_mod_SOURCES): New variable.
23710 (password_pbkdf2_mod_CFLAGS): Likewise.
23711 (password_pbkdf2_mod_LDFLAGS): Likewise.
23712 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23713 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23714 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23715 Include conf/gcry.rmk.
23716 * include/grub/auth.h: Rewritten.
23717 * include/grub/crypto.h: New file.
23718 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23719 * include/grub/normal.h (read_crypto_list): New prototype.
23720 * lib/crypto.c: New file.
23721 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23722 * lib/pbkdf2.c: Likewise.
23723 * normal/auth.c (grub_auth_strcmp): Removed.
23724 (grub_iswordseparator): Likewise.
23725 (grub_auth_strword): Likewise.
23726 (is_authenticated): Use grub_strword.
23727 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23728 and grub_strword. Pass entered password to authentication callback.
23729 * normal/crypto.c: New file.
23730 * normal/main.c: Call read_crypto_list.
23731 * util/grub-mkpasswd-pbkdf2.c: New file.
23732 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23734 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23736 Fix descent and ascent calculation.
23738 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23739 (options): New option "asce".
23741 (add_char): Ignore invalid glyphs for descent calculation.
23742 Calculate ascent from actual content.
23743 (print_glyphs): Use 'asce'.
23744 (write_font): Likewise. Allow ascent override.
23745 (main): Handle "asce" option.
23747 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23749 * kern/err.c: Include `<grub/i18n.h>'.
23750 (grub_print_error): Add full stop. Gettextizze.
23751 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23752 (grub_bsd_load_elf): Capitalise ELF.
23753 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23754 (grub_cmd_freebsd_module): Likewise.
23755 (grub_cmd_freebsd_module_elf): Likewise.
23756 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23758 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23760 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23761 * commands/search_file.c (HELP_MESSAGE): New macro.
23762 * commands/search_label.c (HELP_MESSAGE): Likewise.
23763 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23764 * po/POTFILES: Add `commands/search_file.c',
23765 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23766 `commands/search.c'.
23768 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23770 * config.rpath: Update from Gnulib.
23772 2010-01-05 Yves Blusseau <blusseau@zetam.org>
23774 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23776 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23778 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23780 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23782 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23783 arguments to fread so that we get a return value in bytes, rather
23784 than something that will normally be rounded down to 0.
23785 Adjust error handling to avoid producing garbage when size_t is not
23786 the same size as long long.
23788 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23790 * util/mkisofs/write.c (padblock_write): Check return value of
23793 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23795 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23798 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23800 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23802 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23803 instead of manual alignment.
23804 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23805 verbose). Avoid attempts to read past end of the device
23806 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23807 but GRUB_DISK_CACHE_SIZE may exceed that).
23809 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23811 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23812 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23815 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23817 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23819 (grub_efi_piwg_device_path): New structure
23820 (grub_efi_piwg_device_path_t): New type.
23821 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23822 (devpath_1): Transform to a structure. All users updated.
23823 (devpath_2): Likewise.
23824 (devpath_3): Likewise.
23825 (devpath_4): Likewise.
23826 (devpath_5): Likewise.
23828 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23830 * loader/efi/appleloader.c: Restored. Update all users.
23832 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23834 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23836 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23837 (struct boot_blocklist): Move from here ...
23838 * include/grub/i386/pc/boot.h [ASM_FILE]
23839 (struct grub_boot_blocklist): ... to here. Update all users.
23840 (setup): Only initialize `start' member of `first_block'
23841 structure. Add assert() calls to verify the other members.
23843 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23844 (generate_image): Fix broken blocklist length initialization.
23845 Add assert() call to verify blocklist `segment' field.
23847 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23849 * loader/efi/appleloader.c: Remove. Update all users.
23851 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23853 * boot/i386/pc/boot.S: Update copyright year.
23854 * boot/i386/pc/cdboot.S: Likewise.
23855 * boot/i386/pc/diskboot.S: Likewise.
23856 * boot/i386/pc/lnxboot.S: Likewise.
23857 * boot/i386/pc/pxeboot.S: Likewise.
23858 * bus/pci.c: Likewise.
23859 * commands/cmp.c: Likewise.
23860 * commands/help.c: Likewise.
23861 * commands/hexdump.c: Likewise.
23862 * commands/i386/pc/halt.c: Likewise.
23863 * commands/i386/pc/play.c: Likewise.
23864 * commands/i386/pc/vbeinfo.c: Likewise.
23865 * commands/ls.c: Likewise.
23866 * commands/test.c: Likewise.
23867 * disk/dmraid_nvidia.c: Likewise.
23868 * disk/i386/pc/biosdisk.c: Likewise.
23869 * disk/ieee1275/nand.c: Likewise.
23870 * disk/ieee1275/ofdisk.c: Likewise.
23871 * disk/lvm.c: Likewise.
23872 * disk/raid.c: Likewise.
23873 * disk/raid6_recover.c: Likewise.
23874 * disk/scsi.c: Likewise.
23875 * fs/affs.c: Likewise.
23876 * fs/cpio.c: Likewise.
23877 * fs/ext2.c: Likewise.
23878 * fs/hfs.c: Likewise.
23879 * fs/iso9660.c: Likewise.
23880 * fs/ntfs.c: Likewise.
23881 * fs/sfs.c: Likewise.
23882 * fs/udf.c: Likewise.
23883 * fs/ufs.c: Likewise.
23884 * fs/xfs.c: Likewise.
23885 * gencmdlist.sh: Likewise.
23886 * genmk.rb: Likewise.
23887 * include/grub/disk.h: Likewise.
23888 * include/grub/efi/api.h: Likewise.
23889 * include/grub/efi/efi.h: Likewise.
23890 * include/grub/efi/pe32.h: Likewise.
23891 * include/grub/elf.h: Likewise.
23892 * include/grub/fs.h: Likewise.
23893 * include/grub/i386/at_keyboard.h: Likewise.
23894 * include/grub/i386/pc/memory.h: Likewise.
23895 * include/grub/i386/pc/vbe.h: Likewise.
23896 * include/grub/i386/pci.h: Likewise.
23897 * include/grub/i386/tsc.h: Likewise.
23898 * include/grub/ieee1275/ieee1275.h: Likewise.
23899 * include/grub/ntfs.h: Likewise.
23900 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23901 * include/grub/sparc64/libgcc.h: Likewise.
23902 * include/grub/symbol.h: Likewise.
23903 * include/grub/types.h: Likewise.
23904 * include/multiboot2.h: Likewise.
23905 * io/gzio.c: Likewise.
23906 * kern/device.c: Likewise.
23907 * kern/disk.c: Likewise.
23908 * kern/efi/efi.c: Likewise.
23909 * kern/efi/mm.c: Likewise.
23910 * kern/elf.c: Likewise.
23911 * kern/file.c: Likewise.
23912 * kern/i386/dl.c: Likewise.
23913 * kern/i386/pc/init.c: Likewise.
23914 * kern/i386/pc/startup.S: Likewise.
23915 * kern/ieee1275/ieee1275.c: Likewise.
23916 * kern/ieee1275/init.c: Likewise.
23917 * kern/main.c: Likewise.
23918 * kern/mm.c: Likewise.
23919 * kern/powerpc/dl.c: Likewise.
23920 * kern/sparc64/dl.c: Likewise.
23921 * kern/x86_64/dl.c: Likewise.
23922 * lib/hexdump.c: Likewise.
23923 * loader/efi/appleloader.c: Likewise.
23924 * loader/i386/ieee1275/linux.c: Likewise.
23925 * loader/i386/pc/chainloader.c: Likewise.
23926 * loader/i386/pc/linux.c: Likewise.
23927 * loader/i386/pc/multiboot2.c: Likewise.
23928 * loader/ieee1275/multiboot2.c: Likewise.
23929 * loader/multiboot2.c: Likewise.
23930 * loader/multiboot_loader.c: Likewise.
23931 * loader/powerpc/ieee1275/linux.c: Likewise.
23932 * normal/completion.c: Likewise.
23933 * normal/menu_entry.c: Likewise.
23934 * partmap/apple.c: Likewise.
23935 * util/grub.d/10_hurd.in: Likewise.
23936 * util/hostfs.c: Likewise.
23937 * video/readers/png.c: Likewise.
23939 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
23941 * include/grub/misc.h (GNUC_PREREQ): New macro.
23942 (ATTRIBUTE_ERROR): New macro.
23943 * include/grub/list.h (grub_bad_type_cast_real): Use
23946 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23948 * normal/menu_text.c (print_message): Change messages.
23950 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23952 * normal/menu_entry.c (store_completion): Gettextizze.
23954 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23956 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
23958 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23960 * po/POTFILES: Sort correctly.
23962 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23964 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
23965 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
23966 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
23968 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
23969 summary. Gettextizze the strings.
23970 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
23971 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
23972 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
23974 (GRUB_MOD_INIT): Remove command name from summary.
23975 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
23977 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
23978 * term/i386/pc/serial.c (options): Add full stops.
23979 (GRUB_MOD_INIT): Remove command name from the summary.
23981 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23983 * commands/acpi.c: Gettextizze help strings and/or options. Include
23984 `grub/i18n.h' if needed.
23985 * commands/blocklist.c: Likewise.
23986 * commands/boot.c: Likewise.
23987 * commands/cat.c: Likewise.
23988 * commands/cmp.c: Likewise.
23989 * commands/configfile.c: Likewise.
23990 * commands/crc.c: Likewise.
23991 * commands/date.c: Likewise.
23992 * commands/echo.c: Likewise.
23993 * commands/efi/fixvideo.c: Likewise.
23994 * commands/efi/loadbios.c: Likewise.
23995 * commands/gptsync.c: Likewise.
23996 * commands/halt.c: Likewise.
23997 * commands/handler.c: Likewise.
23998 * commands/hdparm.c: Likewise.
23999 * commands/hexdump.c: Likewise.
24000 * commands/i386/cpuid.c: Likewise.
24001 * commands/i386/pc/drivemap.c: Likewise.
24002 * commands/i386/pc/halt.c: Likewise.
24003 * commands/i386/pc/pxecmd.c: Likewise.
24004 * commands/i386/pc/vbeinfo.c: Likewise.
24005 * commands/i386/pc/vbetest.c: Likewise.
24006 * commands/ieee1275/suspend.c: Likewise.
24007 * commands/keystatus.c: Likewise.
24008 * commands/loadenv.c: Likewise.
24009 * commands/ls.c: Likewise.
24010 * commands/lsmmap.c: Likewise.
24011 * commands/lspci.c: Likewise.
24012 * commands/memrw.c: Likewise.
24013 * commands/minicmd.c: Likewise.
24014 * commands/parttool.c: Likewise.
24015 * commands/password.c: Likewise.
24016 * commands/probe.c: Likewise.
24017 * commands/read.c: Likewise.
24018 * commands/reboot.c: Likewise.
24019 * commands/search.c: Likewise.
24020 * commands/sleep.c: Likewise.
24021 * commands/test.c: Likewise.
24022 * commands/true.c: Likewise.
24023 * commands/usbtest.c: Likewise.
24024 * commands/videotest.c: Likewise.
24025 * commands/xnu_uuid.c: Likewise.
24026 * disk/loopback.c: Likewise.
24027 * hello/hello.c: Likewise.
24028 * loader/i386/bsd.c: Likewise.
24029 * term/i386/pc/serial.c: Likewise.
24030 * po/POTFILES: Add new files.
24032 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
24034 * term/i386/pc/at_keyboard.c
24035 (keyboard_controller_wait_untill_ready): Rename to ...
24036 (keyboard_controller_wait_until_ready): ... this. Update all users.
24038 2010-01-01 Carles Pina i Estany <carles@pina.cat>
24040 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24041 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24042 string using string width.
24043 * normal/menu_text.c (grub_print_message_indented): Use
24044 grub_print_spaces and not print_spaces.
24045 (print_timeout): Likewise.
24046 (print_spaces): Move to...
24047 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24049 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24051 Import from Gnulib.
24053 * gnulib/getdelim.c: New file.
24054 * gnulib/getline.c: Likewise.
24056 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24058 * include/grub/list.h (grub_assert_fail): Removed.
24059 (grub_bad_type_cast_real): New function.
24060 (grub_bad_type_cast): New macro.
24061 (GRUB_AS_LIST): Use grub_bad_type_cast.
24062 (GRUB_AS_LIST_P): Likewise.
24063 (GRUB_AS_NAMED_LIST): Likewise.
24064 (GRUB_AS_NAMED_LIST_P): Likewise.
24065 (GRUB_AS_PRIO_LIST): Likewise.
24066 (GRUB_AS_PRIO_LIST_P): Likewise.
24067 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
24069 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24071 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24074 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24076 * configure.ac: Check for TARGET_CFLAGS initialization before we
24077 initialize it ourselves (sigh).
24078 Move a few modifications to TARGET_CFLAGS to be unconditional
24079 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24082 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24083 * term/i386/pc/at_keyboard.c
24084 (keyboard_controller_wait_untill_ready): Likewise.
24085 (keyboard_controller_led): Rename `led_status' paramter to avoid
24088 2009-12-28 Carles Pina i Estany <carles@pina.cat>
24090 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24093 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24095 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24097 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24099 * normal/menu_text.c (grub_print_message_indented): Prevent
24100 past-the-end-of-array dereference.
24102 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24104 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24105 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24107 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24109 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24110 * normal/main.c (grub_normal_read_line): Remove a space from the
24113 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24115 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24116 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24117 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24118 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24119 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24120 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24121 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24123 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24125 * video/readers/jpeg.c (cmd): Declare.
24126 (grub_cmd_jpegtest): Use `grub_command_t' type.
24127 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24129 (GRUB_MOD_FINI): Use `cmd' to unregister.
24130 * video/readers/png.c (cmd): Declare.
24131 (grub_cmd_pngtest): Use `grub_command_t' type.
24132 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24134 (GRUB_MOD_FINI): Use `cmd' to unregister.
24135 * video/readers/tga.c (cmd): Declare.
24136 (grub_cmd_tgatest): Use `grub_command_t' type.
24137 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24139 (GRUB_MOD_FINI): Use `cmd' to unregister.
24141 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24143 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24145 * kern/corecmd.c (grub_register_core_commands): Likewise.
24146 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24147 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24148 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24149 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24150 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24151 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24152 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24153 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24154 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24155 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24156 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24157 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24158 * normal/handler.c (insert_handler): Likewise.
24159 * normal/main.c (GRUB_MOD_INIT): Likewise.
24160 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24162 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24164 * commands/help.c (grub_cmd_help): Print the command name before the
24166 (GRUB_MOD_INIT): Remove command name from the summary.
24167 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
24169 * lib/arg.c (find_long): Print the command name before the summary.
24170 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24172 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24173 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24174 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24175 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24176 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24177 * commands/date.c (GRUB_MOD_INIT): Likewise.
24178 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24179 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24180 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24181 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24182 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24183 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24184 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24185 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24186 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24187 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24188 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24189 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24190 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24191 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24192 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24193 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24194 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24195 * commands/password.c (GRUB_MOD_INIT): Likewise.
24196 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24197 * commands/read.c (GRUB_MOD_INIT): Likewise.
24198 * commands/search.c (GRUB_MOD_INIT): Likewise.
24199 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24200 * commands/test.c (GRUB_MOD_INIT): Likewise.
24201 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24202 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24203 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24204 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24205 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24206 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24207 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24208 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24209 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24210 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24211 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24212 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24213 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24214 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24216 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24218 Use search command for preliminar UUID search.
24220 * commands/search.c: Split into ...
24221 * commands/search_wrap.c: ...this
24222 * commands/search.c: ...and this.
24223 * commands/search_file.c: New file.
24224 * commands/search_label.c: New file.
24225 * commands/search_uuid.c: New file.
24226 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24227 Add commands/search_wrap.c, commands/search_file.c,
24228 commands/search_label.c and commands/search_uuid.c.
24229 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24230 (search_mod_SOURCES): Set to commands/search_wrap.c.
24231 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24233 (search_fs_file_mod_SOURCES): New variable.
24234 (search_fs_file_mod_CFLAGS): Likewise.
24235 (search_fs_file_mod_LDFLAGS): Likewise.
24236 (search_label_mod_SOURCES): Likewise.
24237 (search_label_mod_CFLAGS): Likewise.
24238 (search_label_mod_LDFLAGS): Likewise.
24239 (search_fs_uuid_mod_SOURCES): New variable.
24240 (search_fs_uuid_mod_CFLAGS): Likewise.
24241 (search_fs_uuid_mod_LDFLAGS): Likewise.
24242 (fs_file_mod_SOURCES): Removed.
24243 (fs_file_mod_CFLAGS): Likewise.
24244 (fs_file_mod_LDFLAGS): Likewise.
24245 (fs_uuid_mod_SOURCES): Removed.
24246 (fs_uuid_mod_CFLAGS): Likewise.
24247 (fs_uuid_mod_LDFLAGS): Likewise.
24248 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24249 Set to util/grub-install.in.
24250 * disk/fs_file.c: Removed.
24251 * disk/fs_uuid.c: Likewise.
24252 * include/grub/search.h: New file.
24253 * util/grub-install.in: Handle sparc64.
24254 Create and use load.cfg.
24255 * util/sparc64/ieee1275/grub-install.in: Removed.
24257 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24259 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24260 Ignore return status if CF is cleared.
24261 (grub_biosdisk_get_diskinfo_standard): Likewise.
24263 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24265 * term/i386/pc/at_keyboard.c
24266 (keyboard_controller_wait_untill_ready): New function.
24267 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24268 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24269 for keyboard polling, rather than duplicate the same loop. This
24270 saves a few bytes in code size.
24272 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24274 Support for (pxe[:server[:gateway]]) syntax and
24275 use environment variable for PXE.
24277 * commands/i386/pc/pxecmd.c (options): Removed.
24278 (print_ip): Removed.
24279 (grub_cmd_pxe): Removed
24280 (grub_cmd_pxe_unload): New function.
24281 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24282 (grub_pxe_your_ip): Made static.
24283 (grub_pxe_default_server_ip): Likewise.
24284 (grub_pxe_default_gateway_ip): Likewise.
24285 (grub_pxe_blksize): Likewise.
24286 (parse_ip): New function.
24287 (grub_pxe_open): Support server and gateway specification.
24288 (grub_pxe_close): Free disk->data.
24289 (grub_pxefs_open): Use disk->data.
24290 (grub_pxefs_read): Likewise.
24291 (grub_env_write_readonly): New function.
24292 (set_mac_env): Likewise.
24293 (set_env_limn_ro): Likewise.
24294 (parse_dhcp_vendor): Likewise.
24295 (grub_pxe_detect): Set the environment variables.
24296 (set_ip_env): New function.
24297 (write_ip_env): Likewise.
24298 (grub_env_write_pxe_default_server): Likewise.
24299 (grub_env_write_pxe_default_gateway): Likewise.
24300 (grub_env_write_pxe_blocksize): Likewise.
24301 (GRUB_MOD_INIT(pxe)): Set environment variables.
24302 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24303 (grub_pxe_mac_addr_t): ... this. All users updated.
24304 (grub_pxe_your_ip): Removed.
24305 (grub_pxe_server_ip): Likewise.
24306 (grub_pxe_gateway_ip): Likewise.
24307 (grub_pxe_blksize): Likewise.
24309 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24311 * commands/help.c: Include `<grub/i18n.h>'.
24312 (grub_cmd_help): Gettextizze.
24313 (GRUB_MOD_INIT): Likewise.
24314 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24315 (GRUB_MOD_INIT): Gettextizze.
24316 * commands/search.c: Include `<grub/i18n.h>'.
24317 (options): Gettextizze.
24318 (GRUB_MOD_INIT): Gettextizze.
24319 * lib/arg.c: Include `<grub/i18n.h>'.
24320 (help_options): Gettextizze.
24321 (find_long): Likewise.
24322 (grub_arg_show_help): Likewise.
24323 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24324 (read_command_list): Gettextizze.
24325 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
24326 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
24328 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24330 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24331 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24332 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24333 (led_status): New variable.
24334 (keyboard_controller_led): New function.
24335 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24336 update led status for caps lock, num lock and scroll lock.
24338 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
24340 * util/hostdisk.c (open_device): Fix a comment.
24342 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24344 * util/grub-install.in (host_os): New variable.
24345 * util/i386/efi/grub-install.in (host_os): Likewise.
24347 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24349 * util/mkisofs/write.c (padblock_write): Abort when given an
24350 excedingly large embed image, instead of silently truncating it.
24352 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24354 * include/multiboot.h: Indentation fixes.
24356 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24358 * include/multiboot.h (struct multiboot_aout_symbol_table)
24359 (struct multiboot_elf_section_header_table): New structure
24360 declarations (stolen from GRUB Legacy).
24361 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24364 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24365 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24368 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24370 * include/multiboot.h: Make comments src2texi-friendly.
24372 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24374 For consistency with [multiboot]/docs/boot.S.
24376 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24377 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24378 (MULTIBOOT_MAGIC2): Rename from this ...
24379 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24381 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24383 * include/multiboot.h: Remove `<grub/types.h>'.
24384 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24385 types. Update all users.
24387 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24389 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24390 `couldn't' and `can not' by `cannot'.
24391 * commands/i386/pc/drivemap.c: Likewise.
24392 * disk/ata.c: Likewise.
24393 * disk/ieee1275/nand.c: Likewise.
24394 * fs/affs.c: Likewise.
24395 * fs/fat.c: Likewise.
24396 * fs/hfs.c: Likewise.
24397 * fs/hfsplus.c: Likewise.
24398 * fs/iso9660.c: Likewise.
24399 * fs/jfs.c: Likewise.
24400 * fs/minix.c: Likewise.
24401 * fs/reiserfs.c: Likewise.
24402 * fs/sfs.c: Likewise.
24403 * fs/udf.c: Likewise.
24404 * fs/ufs.c: Likewise.
24405 * fs/xfs.c: Likewise.
24406 * loader/powerpc/ieee1275/linux.c: Likewise.
24407 * loader/sparc64/ieee1275/linux.c: Likewise.
24408 * util/grub-probe.c: Likewise.
24409 * util/misc.c: Likewise.
24411 2009-12-24 Carles Pina i Estany <carles@pina.cat>
24413 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24415 * commands/acpi.c: Likewise.
24416 * commands/blocklist.c: Likewise.
24417 * commands/efi/loadbios.c: Likewise.
24418 * commands/i386/pc/drivemap.c: Likewise.
24419 * commands/loadenv.c: Likewise.
24420 * commands/memrw.c: Likewise.
24421 * commands/password.c: Likewise.
24422 * commands/videotest.c: Likewise.
24423 * disk/ata.c: Likewise.
24424 * disk/ata_pthru.c: Likewise.
24425 * disk/dmraid_nvidia.c: Likewise.
24426 * disk/ieee1275/nand.c: Likewise.
24427 * disk/ieee1275/ofdisk.c: Likewise.
24428 * disk/loopback.c: Likewise.
24429 * disk/lvm.c: Likewise.
24430 * disk/mdraid_linux.c: Likewise.
24431 * disk/raid.c: Likewise.
24432 * disk/raid6_recover.c: Likewise.
24433 * disk/scsi.c: Likewise.
24434 * efiemu/main.c: Likewise.
24435 * efiemu/mm.c: Likewise.
24436 * efiemu/pnvram.c: Likewise.
24437 * efiemu/symbols.c: Likewise.
24438 * font/font.c: Likewise.
24439 * fs/cpio.c: Likewise.
24440 * fs/hfsplus.c: Likewise.
24441 * fs/iso9660.c: Likewise.
24442 * fs/jfs.c: Likewise.
24443 * fs/minix.c: Likewise.
24444 * fs/ntfs.c: Likewise.
24445 * fs/ntfscomp.c: Likewise.
24446 * fs/reiserfs.c: Likewise.
24447 * fs/ufs.c: Likewise.
24448 * fs/xfs.c: Likewise.
24449 * gettext/gettext.c: Likewise.
24450 * include/grub/auth.h: Likewise.
24451 * kern/elf.c: Likewise.
24452 * kern/file.c: Likewise.
24453 * kern/ieee1275/init.c: Likewise.
24454 * kern/ieee1275/mmap.c: Likewise.
24455 * kern/ieee1275/openfw.c: Likewise.
24456 * kern/powerpc/dl.c: Likewise.
24457 * kern/sparc64/dl.c: Likewise.
24458 * lib/arg.c: Likewise.
24459 * loader/i386/bsd.c: Likewise.
24460 * loader/i386/bsdXX.c: Likewise.
24461 * loader/i386/efi/linux.c: Likewise.
24462 * loader/i386/efi/xnu.c: Likewise.
24463 * loader/i386/ieee1275/linux.c: Likewise.
24464 * loader/i386/linux.c: Likewise.
24465 * loader/i386/multiboot.c: Likewise.
24466 * loader/i386/pc/linux.c: Likewise.
24467 * loader/i386/pc/multiboot2.c: Likewise.
24468 * loader/i386/xnu.c: Likewise.
24469 * loader/ieee1275/multiboot2.c: Likewise.
24470 * loader/macho.c: Likewise.
24471 * loader/machoXX.c: Likewise.
24472 * loader/multiboot2.c: Likewise.
24473 * loader/multiboot_loader.c: Likewise.
24474 * loader/powerpc/ieee1275/linux.c: Likewise.
24475 * loader/sparc64/ieee1275/linux.c: Likewise.
24476 * loader/xnu.c: Likewise.
24477 * loader/xnu_resume.c: Likewise.
24478 * mmap/i386/pc/mmap.c: Likewise.
24479 * normal/menu_viewer.c: Likewise.
24480 * partmap/acorn.c: Likewise.
24481 * partmap/amiga.c: Likewise.
24482 * partmap/apple.c: Likewise.
24483 * script/lexer.c: Likewise.
24484 * term/gfxterm.c: Likewise.
24485 * term/i386/pc/serial.c: Likewise.
24486 * term/i386/pc/vga.c: Likewise.
24487 * term/ieee1275/ofconsole.c: Likewise.
24488 * term/terminfo.c: Likewise.
24489 * video/bitmap.c: Likewise.
24490 * video/efi_gop.c: Likewise.
24491 * video/efi_uga.c: Likewise.
24492 * video/fb/video_fb.c: Likewise.
24493 * video/i386/pc/vbe.c: Likewise.
24494 * video/readers/tga.c: Likewise.
24495 * video/video.c: Likewise.
24497 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
24499 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24500 * commands/lspci.c: Likewise.
24501 * commands/probe.c: Likewise.
24502 * commands/xnu_uuid.c: Likewise.
24503 * conf/i386-coreboot.rmk: Likewise.
24504 * conf/i386-efi.rmk: Likewise.
24505 * conf/i386-ieee1275.rmk: Likewise.
24506 * conf/i386-pc.rmk: Likewise.
24507 * conf/powerpc-ieee1275.rmk: Likewise.
24508 * conf/sparc64-ieee1275.rmk: Likewise.
24509 * conf/x86_64-efi.rmk: Likewise.
24510 * fs/i386/pc/pxe.c: Likewise.
24511 * gettext/gettext.c: Likewise.
24512 * include/grub/efi/graphics_output.h: Likewise.
24513 * include/grub/i386/pc/memory.h: Likewise.
24514 * kern/env.c: Likewise.
24515 * kern/i386/qemu/startup.S: Likewise.
24516 * lib/i386/pc/biosnum.c: Likewise.
24517 * lib/i386/relocator.c: Likewise.
24518 * lib/i386/relocator_asm.S: Likewise.
24519 * lib/relocator.c: Likewise.
24520 * loader/i386/bsd.c: Likewise.
24521 * loader/i386/multiboot.c: Likewise.
24522 * loader/i386/pc/chainloader.c: Likewise.
24523 * loader/i386/xnu.c: Likewise.
24524 * loader/xnu.c: Likewise.
24525 * normal/main.c: Likewise.
24526 * normal/menu_text.c: Likewise.
24527 * util/getroot.c: Likewise.
24528 * util/grub-mkconfig_lib.in: Likewise.
24529 * util/grub.d/00_header.in: Likewise.
24530 * util/i386/pc/grub-mkimage.c: Likewise.
24531 * util/mkisofs/eltorito.c: Likewise.
24532 * util/mkisofs/exclude.h: Likewise.
24533 * util/mkisofs/hash.c: Likewise.
24534 * util/mkisofs/iso9660.h: Likewise.
24535 * util/mkisofs/joliet.c: Likewise.
24536 * util/mkisofs/mkisofs.c: Likewise.
24537 * util/mkisofs/mkisofs.h: Likewise.
24538 * util/mkisofs/multi.c: Likewise.
24539 * util/mkisofs/name.c: Likewise.
24540 * util/mkisofs/rock.c: Likewise.
24541 * util/mkisofs/tree.c: Likewise.
24542 * util/mkisofs/write.c: Likewise.
24543 * video/efi_gop.c: Likewise.
24545 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24547 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24550 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24552 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24553 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24555 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24557 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24558 (GRUB_MOD_INIT(memrw)): Update help line.
24560 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24562 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24563 Use grub_extcmd_t. All users updated.
24564 (options): New variable.
24565 (grub_cmd_read): Restructure for readability. Support "-v" option.
24566 (grub_cmd_write): Restructure for readability.
24568 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24570 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24572 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24574 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24575 with the actual contents of the correspondending make variable.
24576 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24577 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24578 specifying `*.lst' and `efiemu??.o'
24580 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24582 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24583 after function name.
24584 Noticed by Rene Engelhard <rene@debian.org>.
24586 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24588 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24589 (options): New variable.
24590 (iospace): Likewise.
24591 (grub_lspci_iter): List IO spaces if "-i" was given.
24592 (grub_cmd_lspci): Parse options.
24593 (GRUB_MOD_INIT(lspci)): Use extcmd.
24594 (GRUB_MOD_FINI(lspci)): Likewise.
24596 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24598 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24599 `function' keyword.
24600 Patch by Tony Mancill <tmancill@debian.org>.
24602 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24604 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24605 (grub_uhci_portstatus): Likewise.
24606 (grub_uhci_portstatus): Add necessary delay.
24607 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
24609 2009-12-21 Carles Pina i Estany <carles@pina.cat>
24611 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24612 (GRUB_MOD_INIT): Likewise.
24613 * commands/boot.c (GRUB_MOD_INIT): Likewise.
24614 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24615 * commands/echo.c (options): Fix capitalizations and/or full stops.
24616 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24617 (enable_rom_area): Likewise.
24618 (GRUB_MOD_INIT): Likewise.
24619 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24620 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24621 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24622 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24623 * commands/hexdump.c (options): Likewise.
24624 * commands/i386/cpuid.c (options): Likewise.
24625 (GRUB_MOD_INIT): Likewise.
24626 * commands/i386/pc/drivemap.c (options): Likewise.
24627 (GRUB_MOD_INIT): Likewise.
24628 * commands/i386/pc/halt (options): Likewise.
24629 (GRUB_MOD_INIT): Likewise.
24630 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24631 * commands/i386/pc/pxecmd.c (options): Likewise.
24632 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24633 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24634 * commands/keystatus.c (options): Likewise.
24635 (GRUB_MOD_INIT): Likewise.
24636 * commands/loadenv.c (options): Likewise.
24637 * commands/ls.c (options): Likewise.
24638 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24639 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24640 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24641 * commands/parttool.c (helpmsg): Likewise.
24642 * commands/probe.c (options): Likewise.
24643 * commands/read.c (GRUB_MOD_INIT): Likewise.
24644 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24645 * commands/search.c (options): Likewise.
24646 * commands/sleep.c (options): Likewise.
24647 * commands/test.c (GRUB_MOD_INIT): Likewise.
24648 * commands/true.c (GRUB_MOD_INIT): Likewise.
24649 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24650 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24651 * lib/arg.c (help_options): Likewise.
24652 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24654 * po/POTFILES: Add `commands/loadenv.c'.
24656 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
24658 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
24659 instead of specifying them explicit.
24661 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24663 * NEWS: Add grub-probe support for GNU/Hurd.
24665 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24667 * NEWS: gettext was added after 1.97.
24669 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24671 * util/mkisofs/msdos_partition.h: New file (based on
24672 include/grub/msdos_partition.h).
24673 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24674 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24675 (ld_options, main): Recognize --protective-msdos-label.
24676 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24677 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24678 (padblock_write): If `use_protective_msdos_label' is set, patch a
24679 protective DOS-style label in the output image.
24681 * util/grub-mkrescue.in: Use --protective-msdos-label.
24683 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24685 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24688 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24690 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24692 (ld_options, main): Recognize `--embedded-boot'.
24693 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24695 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24696 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24697 (padblock_write): Likewise. Rewrite to support embedded boot image.
24699 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24700 for BIOS-based disk boot instead of only ElTorito.
24702 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24704 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24705 build (not needed for bootstrap).
24707 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24709 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24710 from i386-pc build (not needed for bootstrap).
24711 Rewrite a pair of strings.
24713 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24715 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24717 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
24719 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24721 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24723 * kern/env.c (grub_env_context_open): Mark exported variable for
24726 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24728 * kern/env.c (grub_env_export): Create nonexistent variables before
24731 2009-12-20 Carles Pina i Estany <carles@pina.cat>
24733 * include/grub/auth.h: Include `<grub/i18n.h>'.
24734 (GRUB_GET_PASSWORD): Gettextizze string.
24735 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24737 (grub_utf8_to_ucs4_alloc): Fix indentation.
24738 (grub_print_ucs4): Likewise.
24739 (grub_getstringwidth): Likewise.
24740 (print_message_indented): New declaration.
24741 * normal/auth.c: Include `<grub/i18n.h>'.
24742 (grub_auth_check_authentication): Gettexttize string.
24743 * normal/cmdline.c: Include `<grub/i18n.h>'.
24744 (grub_cmdline_get): Gettextizze.
24745 * normal/color.c: Include `<grub/i18n.h>'.
24746 (grub_parse_color_name_pair): Gettexttize strings.
24747 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24748 string (use `print_message_indented').
24749 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24750 `include/grub/normal.h'.
24751 (print_message_indented): Renamed to ...
24752 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24753 used in normal/main.c).
24754 (print_message): Use `grub_print_message_indented' instead of
24755 `print_message_indented'.
24756 (print_timeout): Likewise.
24757 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24758 (grub_normal_print_device_info): Gettexttize strings.
24759 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24761 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24763 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24764 of arguments. Return number of tokens and not arguments. All users
24767 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24769 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24770 non-MSDOS paritions.
24772 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24774 * include/grub/types.h (UNUSED): Removed since it conflicts with
24775 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24776 Reported by Grégoire Sutre.
24778 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24780 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24781 (grub_print_ucs4_alloc): Likewise.
24782 (grub_getstringwidth): Likewise.
24783 * normal/main.c (grub_normal_init_page): Gettextize version string.
24784 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24785 (getstringwidth): Renamed to ...
24786 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24787 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24788 (grub_print_ucs4): Remove `static' qualifer (now used in
24790 * po/POTFILES: Add normal/main.c.
24792 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24794 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24795 (print_message_indented): Add `margin_left' and `margin_right'
24797 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24799 (print_timeout): Use `print_message_indented' to print the message.
24800 Deletes `second_stage' parameter.
24801 (run_menu): Update `print_timeout' calls.
24803 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24805 Fix console palette on OpenFirmware.
24807 * term/ieee1275/ofconsole.c (MAX): Removed.
24808 (colors): Redone based on VGA palette.
24809 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24810 colors are supported.
24811 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24813 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24815 Fix potential EfiEmu double prepare.
24817 * efiemu/main.c (prepared): New variable
24818 (grub_efiemu_unload): Set prepare to '0'.
24819 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24821 set_virtual_address_map support.
24823 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24825 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24827 (grub_efiemu_crc32): Likewise.
24828 (grub_efiemu_crc64): Likewise.
24829 (grub_efiemu_set_virtual_address_map): Likewise.
24830 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24832 (grub_autoefi_set_virtual_address_map): Likewise.
24833 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24834 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24835 Restructure flow to accomodate it.
24836 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24837 (grub_efiemu_crc): Recompute CRC32.
24838 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24839 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24840 * efiemu/symbols.c (relocated_handle): New variable.
24841 (grub_efiemu_free_syms): Free relocated_handle.
24842 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24843 (grub_efiemu_write_sym_markers): New function.
24844 (grub_efiemu_set_virtual_address_map): Likewise.
24846 Newer XNU parameters.
24848 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24849 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24850 (grub_xnu_fill_devicetree): New prototype.
24851 (grub_xnu_heap_real_start): New variable.
24852 * loader/xnu.c (get_name_ptr): New function.
24853 (grub_xnu_load_driver): Fill namelen and name.
24855 64-bit xnu support.
24857 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24858 and 'loader/macho64.c'.
24859 * conf/i386-pc.rmk: Likewise.
24860 * conf/x86_64-efi.rmk: Likewise.
24861 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24862 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24863 * include/grub/macho.h (grub_macho_segment64): New structure.
24864 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24865 (grub_macho_size32): ... to this.
24866 (grub_macho32_get_entry_point): Renamed from ...
24867 (grub_macho_get_entry_point32): ... to this.
24868 (grub_macho_contains_macho64): New prototype.
24869 (grub_macho_size64): Likewise.
24870 (grub_macho_get_entry_point64): Likewise.
24871 (grub_macho32_load): Renamed from ...
24872 (grub_macho_load32): ... to this.
24873 (grub_macho32_filesize): Renamed from ...
24874 (grub_macho_filesize32): ... to this.
24875 (grub_macho32_readfile): Renamed from ...
24876 (grub_macho_readfile32): ... to this.
24877 (grub_macho_filesize64): New prototype.
24878 (grub_macho_readfile64): Likewise.
24879 (grub_macho_parse32): Likewise.
24880 (grub_macho_parse64): Likewise.
24881 * loader/macho.c: Split into ...
24882 * loader/machoXX.c: ... and this. Replace 32 with XX.
24883 * loader/macho32.c: New file.
24884 * loader/macho64.c: Likewise.
24885 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24886 (grub_cmd_xnu_kernel): Make 32-bit only.
24887 (grub_cmd_xnu_kernel64): New function.
24888 (grub_xnu_load_driver): Support Mach-O 64.
24889 (grub_cmd_xnu_mkext): Likewise.
24890 * util/grub.d/30_os-prober.in (osx_entry): New function.
24891 Generate entries for 64-bit boot too.
24893 Eliminate ad-hoc tree format in XNU and EfiEmu.
24895 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24896 * efiemu/pnvram.c: Rewritten to use environment variables.
24899 Inline utf16_to_utf8.
24901 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24902 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24904 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24906 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24907 * commands/usbtest.c (grub_usb_get_string): ... move here.
24908 (usb_print_str): Fix error handling.
24909 * include/grub/usb.h (grub_usb_get_string): Remove.
24911 UTF-8 to UTF-16 transformation.
24913 * conf/common.rmk (pkglib_MODULES): Add charset.mod
24914 (charset_mod_SOURCES): New variable.
24915 (charset_mod_CFLAGS): Likewise.
24916 (charset_mod_LDFLAGS): Likewise.
24917 * include/grub/utf.h: New file.
24918 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
24920 Support for device properties.
24922 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
24923 (grub_xnu_devprop_device_header): Likewise.
24924 (grub_xnu_devprop_device_descriptor): Likewise.
24925 (grub_xnu_devprop_add_device): New prototype.
24926 (grub_xnu_devprop_remove_device): Likewise.
24927 (grub_xnu_devprop_remove_property): Likewise.
24928 (grub_xnu_devprop_add_property_utf8): Likewise.
24929 (grub_xnu_devprop_add_property_utf16): Likewise.
24930 (grub_cpu_xnu_init): Likewise.
24931 (grub_cpu_xnu_fini): Likewise.
24932 (grub_cpu_xnu_unload): Likewise.
24933 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
24934 (property_descriptor): Likewise.
24935 (devices): New variable.
24936 (grub_xnu_devprop_remove_property): New function.
24937 (grub_xnu_devprop_add_device): Likewise.
24938 (grub_xnu_devprop_remove_device): Likewise.
24939 (grub_xnu_devprop_add_property): Likewise.
24940 (grub_xnu_devprop_add_property_utf8): Likewise.
24941 (grub_xnu_devprop_add_property_utf16): Likewise.
24942 (hextoval): Likewise.
24943 (grub_cpu_xnu_fill_devprop): Likewise.
24944 (grub_cmd_devprop_load): Likewise.
24945 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
24946 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
24947 (cmd_devprop_load): New variable.
24948 (grub_cpu_xnu_init): New function.
24949 (grub_cpu_xnu_fini): Likewise.
24950 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
24951 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
24952 (grub_cmd_xnu_devtree): Likewise.
24953 (hextoval): New function.
24954 (unescape): Likewise.
24955 (grub_xnu_fill_devicetree): Likewise.
24957 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
24958 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
24960 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24962 Workaround for broken ATI VBE.
24964 * video/i386/pc/vbe.c (last_set_mode): New variable.
24965 (grub_vbe_set_video_mode): Set 'last_set_mode'.
24966 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
24967 (grub_video_vbe_setup): Don't check for reserved flag.
24969 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
24971 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
24972 the `find' command.
24974 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
24976 UUID support for HFS.
24978 * fs/hfs.c (grub_hfs_uuid): New function.
24979 (grub_hfs_fs): New value .uuid.
24980 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
24982 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
24984 Fix a segfault with parsing unknown long options.
24986 * util/grub-mkrelpath.c (options): Zero terminate it.
24988 2009-12-13 Carles Pina i Estany <carles@pina.cat>
24990 * include/grub/misc.h (grub_puts): New declaration.
24991 (grub_puts_): Likewise.
24992 * kern/misc.c (grub_puts): New definition.
24993 (grub_puts_): Likewise.
24995 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24997 * util/grub-probe.c (probe): Improve error message.
24999 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25001 * loader/i386/multiboot_elfxx.c
25002 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25005 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25007 Relocator framework
25009 * loader/i386/xnu_helper.S: Removed. All users updated.
25010 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25011 (relocator_mod_SOURCES): New variable.
25012 (relocator_mod_CFLAGS): Likewise.
25013 (relocator_mod_LDFLAGS): Likewise.
25014 (relocator_mod_ASFLAGS): Likewise.
25015 * conf/x86_64.rmk: Likewise.
25016 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25017 (grub_multiboot_payload_entry_offset): Likewise.
25018 (grub_multiboot_forward_relocator): Likewise.
25019 (grub_multiboot_forward_relocator_end): Likewise.
25020 (grub_multiboot_backward_relocator): Likewise.
25021 (grub_multiboot_backward_relocator_end): Likewise.
25022 (grub_multiboot_payload_eip): New variable.
25023 (grub_multiboot_payload_orig): Likewise.
25024 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25025 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25026 * include/grub/i386/memory.h
25027 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25028 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25029 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25030 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25031 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25032 * include/grub/i386/relocator.h: New file.
25033 * include/grub/x86_64/relocator.h: Likewise.
25034 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25035 (XNU_RELOCATOR): New macro.
25036 (grub_xnu_launcher_start): Remove.
25037 (grub_xnu_launcher_end): Likewise.
25038 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25039 (grub_xnu_heap_real_start): Remove.
25040 (grub_xnu_heap_start): Change to void *. All users updated.
25041 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25042 * lib/i386/relocator.c: New file.
25043 * lib/i386/relocator_asm.S: Likewise.
25044 * lib/i386/relocator_backward.S: Likewise.
25045 * lib/mips/relocator.c: Likewise.
25046 * lib/mips/relocator_asm.S: Likewise.
25047 * lib/relocator.c: Likewise.
25048 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25050 (playground): Likewise.
25051 (grub_multiboot_payload_orig): New variable.
25052 (grub_multiboot_payload_dest): Likewise.
25053 (grub_multiboot_payload_size): Likewise.
25054 (grub_multiboot_payload_eip): Likewise.
25055 (grub_multiboot_payload_esp): Likewise.
25056 (grub_multiboot_boot): Use grub_relocator32_boot.
25057 (grub_multiboot_unload): Free relocators.
25058 (grub_multiboot): Setup stack. Use relocators.
25059 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25060 (grub_multiboot_load_elfXX): Use relocators.
25061 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25062 (grub_multiboot_payload_size): Likewise.
25063 (grub_multiboot_payload_dest): Likewise.
25064 (grub_multiboot_payload_entry_offset): Likewise.
25065 (grub_multiboot_forward_relocator): Likewise.
25066 (grub_multiboot_backward_relocator): Likewise.
25067 (grub_multiboot_real_boot): Likewise.
25068 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25069 (grub_xnu_entry_point): Likewise.
25070 (grub_xnu_arg1): Likewise.
25071 (grub_xnu_stack): Likewise.
25072 (grub_xnu_launch): Removed.
25073 (grub_xnu_boot_resume): New function.
25074 (grub_xnu_boot): Use relocators.
25075 * loader/i386/xnu_helper.S: Removed.
25076 * loader/xnu.c (grub_xnu_heap_start): New variable.
25077 (grub_xnu_heap_size): Likewise.
25078 (grub_xnu_heap_malloc): Use relocators.
25079 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25081 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25083 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25086 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25088 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25089 GRUB_ERR_NONE before calling grub_env_set.
25091 2009-12-12 Robert Millan <rmh@aybabtu.com>
25093 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25094 * genmk.rb (video): New variable.
25095 (CLEANFILES, VIDEOFILES): Add #{video}.
25096 (#{video}): New target rule.
25097 * genvideolist.sh: New file.
25098 * Makefile.in (pkglib_DATA): Add video.lst.
25099 (video.lst): New target rule.
25100 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25102 * util/grub.d/30_os-prober.in: Replace `vbe' with
25103 ${GRUB_VIDEO_BACKEND}.
25105 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25107 * THANKS: Add David Miller.
25109 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25111 libpciaccess support.
25113 * Makefile.in (LIBPCIACCESS): New variable.
25114 (enable_grub_emu_pci): Likewise.
25115 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25116 util/pci.c and commands/lspci.c.
25117 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25118 * configure.ac (grub-emu-pci): New option.
25119 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25120 (grub_pci_device_unmap_range): Likewise.
25121 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25122 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25123 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25124 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25125 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25126 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25127 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25128 * include/grub/pciutils.h: New file.
25129 * util/pci.c: Likewise.
25131 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
25133 * util/misc.c: Don't include <errno.h> twice.
25135 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
25137 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25138 name in an error message.
25139 (grub_biosdisk_rw): Likewise.
25141 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25143 Eliminate NTFS 4Gib barrier.
25145 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25146 (read_run_data): Likewise.
25147 (grub_ntfs_read_run_list): Likewise.
25148 (grub_ntfs_read_block): Likewise.
25149 (grub_ntfs_iterate_dir): Likewise.
25150 (read_mft): Likewise.
25151 (read_data): Likewise.
25153 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25154 to avoid 64-bit division
25155 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25156 (grub_ntfs_rlst): Use grub_disk_addr_t.
25158 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25160 Eliminate grub-fstest 4Gib barrier.
25162 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25163 (read_file): Fix error reporting.
25165 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25167 Eliminate hexdump 4Gib barrier.
25169 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25170 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25172 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25174 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25177 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25179 Remove miscellaneous files in distclean target.
25181 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25183 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
25185 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25186 if they're already set. This resolves the conflict between my
25187 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25188 fixing the --grub-probe option again.
25189 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25190 change on 2009-10-06, so that we now once again source
25191 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25193 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25195 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25196 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25197 `util/devicemap.c'.
25199 2009-12-08 Carles Pina i Estany <carles@pina.cat>
25201 * include/grub/misc.h (grub_printf_): New declaration.
25202 * kern/misc.c (grub_printf_): New definition.
25203 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25204 instead of `grub_printf' and `_'.
25205 * normal/menu_entry.c (store_completion): Likewise.
25207 (grub_menu_entry_run): Likewise.
25208 * normal/menu_text.c (grub_wait_after_message): Likewise.
25209 (notify_booting): Likewise.
25210 (notify_fallback): Likewise.
25211 (notify_execution_failure): Likewise.
25213 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
25215 * configure.ac: Check for vasprintf.
25216 * util/misc.c (asprintf): Move allocation from here ...
25217 (vasprintf): ... to here. New function.
25218 (xasprintf): New function.
25219 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25221 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25222 * util/grub-mkfont.c (write_font): Likewise.
25223 * util/grub-probe.c (probe): Likewise.
25224 * util/hostdisk.c (make_device_name): Likewise.
25226 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
25228 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25229 anything even prefixed with 'cdrom' as a cdrom.
25231 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
25233 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25236 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25238 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25239 grub_gettext_msg_list.
25240 (grub_gettext_gettranslation_from_position): Return const char *
25242 (grub_gettext_translate): Add the translated strings into a list,
25243 returns from the list if existing there.
25244 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25245 (grub_gettext_delete_list): Delete the list.
25246 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25247 lang environment variable is changed.
25248 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25250 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25252 Rename kernel.mod to kernel.img.
25254 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25255 (kernel_mod_EXPORTS): Rename to ...
25256 (kernel_img_EXPORTS): ... this.
25257 (kernel_mod_SOURCES): Rename to ...
25258 (kernel_img_SOURCES): ... this.
25259 (kernel_mod_HEADERS): Rename to ...
25260 (kernel_img_HEADERS): ... this. All users updated.
25261 (kernel_mod_CFLAGS): Rename to ...
25262 (kernel_img_CFLAGS): ... this.
25263 (kernel_mod_ASFLAGS): Rename to ...
25264 (kernel_img_ASFLAGS): ... this.
25265 (kernel_mod_LDFLAGS): Rename to ...
25266 (kernel_img_LDFLAGS): ... this.
25267 * conf/x86_64-efi.rmk: Likewise.
25268 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25269 (read_kernel_image): ... this. All users updated.
25270 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25272 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25274 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25275 (print_spaces): New function.
25276 (grub_print_ucs4): New function.
25277 (getstringwidth): New function.
25278 (print_message_indented): New function.
25279 (print_message): Gettexttize strings using print_message_indented.
25280 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25282 (get_entry_number): Gettextize and uses dynamic terminal width.
25283 (notify_booting, notify_fallback, notify_execution_failure):
25285 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25288 (grub_menu_entry_run): Likewise.
25289 * PO/POTFILES: Add normal/menu_entry.c.
25291 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25293 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25295 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25297 * util/grub-install.in: Install gettext .mo files.
25298 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25300 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25302 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25305 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25307 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25308 non-firmware-dependant one in realmode.S takes precedence.
25310 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25312 * commands/halt.c: Replace misc arch-specific headers with
25314 * commands/reboot.c: Likewise.
25315 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25317 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25318 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25319 (kernel_img_SOURCES): ... to here.
25321 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25322 * include/grub/i386/pc/init.h: Likewise.
25323 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25324 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25326 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25328 * include/grub/i386/halt.h: Remove.
25329 * include/grub/i386/reboot.h: Likewise.
25331 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25333 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
25335 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25336 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25337 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25339 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25340 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25341 (usage): Add missing comma in printf.
25343 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25345 Use the same reboot approach on i386 coreboot and qemu as we do on
25348 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25349 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25350 * kern/i386/reboot.c: Remove.
25351 * include/grub/i386/reboot.h (grub_reboot): Export function.
25352 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25353 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25354 0xf000:0xfff0 instead of 0xffff:0x0000.
25355 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25356 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25358 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25360 Fix $srcdir != $objdir build.
25362 * Makefile.in (po/%.po): Rewrite as ...
25363 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25365 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25367 Fix GNU/Hurd grub-install crash.
25368 * util/grub-probe.c (probe): Try to access `path' only when it is not
25371 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25373 Correct module naming.
25375 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25376 (GRUB_MOD_INIT(efi_uga)): ... to this
25377 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25378 (GRUB_MOD_FINI(efi_uga)): ... to this
25379 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25380 (GRUB_MOD_INIT(efi_gop)): ... to this
25381 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25382 (GRUB_MOD_FINI(efi_gop)): ... to this
25384 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25386 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25388 (usage): Translate `arg' strings using gettext().
25389 Thanks to Jordi Mallach for the suggestion.
25391 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25393 GOP support. Based on patch from Bean
25394 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25396 * video/efi_gop.c: New file.
25397 * include/grub/efi/graphics_output.h: Likewise.
25398 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25399 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25401 * conf/x86_64-efi.rmk: Likewise.
25403 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25405 Rename efi_fb to efi_uga.
25407 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25409 (efi_fb_mod_SOURCES): Rename this ...
25410 (efi_uga_mod_SOURCES): ... to this.
25411 (efi_fb_mod_CFLAGS): Rename this ...
25412 (efi_uga_mod_CFLAGS): ... to this.
25413 (efi_fb_mod_LDFLAGS): Rename this ...
25414 (efi_uga_mod_LDFLAGS): ... to this.
25415 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25417 (efi_fb_mod_SOURCES): Rename this ...
25418 (efi_uga_mod_SOURCES): ... to this.
25419 (efi_fb_mod_CFLAGS): Rename this ...
25420 (efi_uga_mod_CFLAGS): ... to this.
25421 (efi_fb_mod_LDFLAGS): Rename this ...
25422 (efi_uga_mod_LDFLAGS): ... to this.
25423 * video/efi_fb.c: Move this ...
25424 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25426 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25428 * po/README: New file. Explain our PO file workflow.
25430 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25432 * po/ChangeLog: Remove. Move relevant entries back to ...
25433 * ChangeLog: ... here.
25434 * po/ca.po: Remove (now handled by TLP).
25435 * po/id.po: Likewise.
25436 * po/zh_CN.po: Likewise.
25437 * Makefile.in (LINGUAS): Initialize in a way that supports
25440 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25442 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25443 reliing on po/LINGUAS.
25444 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25445 (po/%.po): ... this.
25447 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25449 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25450 (main): Use `program_name' instead of nonexistent `progname'.
25452 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25454 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25455 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25457 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25459 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25461 * conf/i386-efi.rmk: Likewise.
25462 * conf/i386-ieee1275.rmk: Likewise.
25463 * conf/powerpc-ieee1275.rmk: Likewise.
25464 * conf/sparc64-ieee1275.rmk: Likewise.
25465 * conf/x86_64-efi.rmk: Likewise.
25467 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25469 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25471 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25473 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25475 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25477 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25478 (grub_mkdevicemap_SOURCES): New variable.
25479 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25480 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25481 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25482 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25483 (grub_mkdevicemap_SOURCES): Remove.
25484 * conf/i386-efi.rmk: Likewise.
25485 * conf/i386-ieee1275.rmk: Likewise.
25486 * conf/i386-pc.rmk: Likewise.
25487 * conf/powerpc-ieee1275.rmk: Likewise.
25488 * conf/sparc64-ieee1275.rmk: Likewise.
25489 * conf/x86_64-efi.rmk: Likewise.
25490 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25491 (usage): Fix strings to use `program_name'.
25492 (main): Initialize gettext.
25493 * util/grub-editenv.c: Likewise.
25494 * util/grub-emu.c: Likewise.
25495 * util/grub-fstest.c: Likewise.
25496 * util/grub-mkdevicemap.c: Likewise.
25497 * util/grub-mkfont.c: Likewise.
25498 * util/grub-mkrelpath.c: Likewise.
25499 * util/grub-pe2elf.c: Likewise.
25500 * util/grub-probe.c: Likewise.
25501 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25502 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25503 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25505 * util/misc.c: Include `"progname.h"'.
25506 (progname): Remove variable.
25507 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25509 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25511 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25512 printf and print a newline after the menuentry header line.
25513 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25515 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25517 autoconf >= 2.60 support $(localedir).
25519 * INSTALL: Note that autoconf 2.60 is required.
25520 * configure.ac (AC_PREREQ): Bump to 2.60.
25521 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25522 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25524 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25526 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25529 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25531 * normal/main.c (grub_normal_read_line): Fix off-by-one
25534 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25536 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25537 "parser.grub" in grub_command_execute() call.
25539 2009-11-24 Carles Pina i Estany <carles@pina.cat>
25541 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25542 * conf/i386-efi.rmk: Likewise.
25543 * conf/i386-ieee1275.rmk: Likewise.
25544 * conf/i386-pc.rmk: Likewise.
25545 * conf/powerpc-ieee1275.rmk: Likewise.
25546 * conf/sparc64-ieee1275.rmk: Likewise.
25547 * conf/x86_64-efi.rmk: Likewise.
25548 * gettext/gettex.c: Include <grub/i18n.h>.
25549 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25551 * include/grub/i18n.h: ... to here
25552 * include/grub/i18n.h: ... to here.
25553 * kern/misc.c: Include <grub/i18n.h>
25554 (grub_gettext_dummy): Move above user.
25556 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25558 * util/Makefile.in (install-local): Convert a `for' into a normal
25561 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25563 * autogen.sh: Add automake call.
25564 * config.guess: Remove.
25565 * config.sub: Likewise.
25566 * install-sh: Likewise.
25568 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25570 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25572 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25574 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25575 function to a normal shell `for'.
25577 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25579 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25581 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25583 * util/grub-mkrelpath.c: New file.
25584 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25585 (grub_mkrelpath_SOURCES): New variable.
25586 * include/grub/util/misc.h: New function prototype.
25587 * util/misc.c (make_system_path_relative_to_its_root): New function.
25589 * util/grub-mkconfig_lib.in (bindir): New variable.
25590 (grub_mkrelpath): Likewise.
25591 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25593 * util/probe.c (probe): Make the file path relative to its root.
25594 Change a info message to use the GRUB path. Enable again the
25595 check if we can read the file with GRUB facilities.
25597 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25600 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25602 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25605 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25607 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25610 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25612 * util/getroot.c (grub_util_is_dmraid): New function.
25613 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25614 devices as normal ones, not as LVM.
25616 2009-11-23 Carles Pina i Estany <carles@pina.cat>
25618 * conf/common.rmk: Add grub-gettext_lib target and updates
25619 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25621 * gettext/gettext.c: New file. (Reads mo files).
25622 * include/grub/file.h (grub_file_pread): New prototype.
25623 * include/grub/i18n.h (_): New prototype.
25624 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25626 * kern/misc.c (grub_gettext_dummy): New function.
25627 * normal/menu_text.c: Include <grub/i18n.h>.
25628 * normal/menu_text.c (print_timeout): Gettexttize string.
25629 * normal/menu_text.c (print_message): Gettexttize string.
25630 * po/POTFILES: Add `normal/menu_text.c'.
25631 * po/ca.po: Add new translations.
25632 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25633 gettext module and defines locale_dir and lang in grub.cfg.
25634 * NEWS: Add gettext support.
25636 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25638 * util/hostdisk.c: Include `<grub/i18n.h>'.
25639 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25640 (make_device_name): Rewrite using asprintf.
25641 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25642 (find_system_device): If a device is not found, generate one just
25643 by reusing the OS path name.
25644 (read_device_map): Make it permissible for device.map not to exist.
25646 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25648 * script/sh/execute.c: Move from here ...
25649 * script/execute.c: ... to here. Update all users.
25650 * script/sh/function.c: Move from here ...
25651 * script/function.c: ... to here. Update all users.
25652 * script/sh/lexer.c: Move from here ...
25653 * script/lexer.c: ... to here. Update all users.
25654 * script/sh/main.c: Move from here ...
25655 * script/main.c: ... to here. Update all users.
25656 * script/sh/parser.y: Move from here ...
25657 * script/parser.y: ... to here. Update all users.
25658 * script/sh/script.c: Move from here ...
25659 * script/script.c: ... to here. Update all users.
25661 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25663 * configure.ac: Detect all `emu' platforms. Define
25664 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25665 --enable-grub-emu logic. Disable include/grub/machine
25666 symlink on `emu' platforms.
25668 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25669 * gensymlist.sh.in: Likewise.
25671 * include/grub/i386/coreboot/machine.h: Remove file.
25672 * include/grub/i386/efi/machine.h: Likewise.
25673 * include/grub/i386/ieee1275/machine.h: Likewise.
25674 * include/grub/i386/pc/machine.h: Likewise.
25675 * include/grub/i386/qemu/machine.h: Likewise.
25676 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25677 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25678 * include/grub/x86_64/efi/machine.h: Likewise.
25680 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25681 * commands/halt.c: Likewise.
25682 * commands/reboot.c: Likewise.
25683 * include/grub/autoefi.h: Likewise.
25684 * include/grub/i386/at_keyboard.h: Likewise.
25685 * include/grub/i386/kernel.h: Likewise.
25686 * include/grub/i386/loader.h: Likewise.
25687 * include/grub/i386/pc/memory.h: Likewise.
25688 * kern/dl.c: Likewise.
25689 * kern/i386/coreboot/init.c: Likewise.
25690 * loader/i386/bsd.c: Likewise.
25691 * loader/i386/linux.c: Likewise.
25692 * loader/multiboot_loader.c: Likewise.
25693 * term/i386/pc/serial.c: Likewise.
25694 * term/usb_keyboard.c: Likewise.
25696 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25697 `<grub/machine/machine.h>'
25698 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25699 * util/misc.c: Remove `<grub/machine/machine.h>' and
25700 `<grub/machine/time.h>'.
25702 * Makefile.in (enable_grub_emu): Remove variable.
25703 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25705 * conf/any-emu.rmk: New file.
25706 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25707 (grub_emu_init.c): Move from here ...
25708 * conf/any-emu.rmk: ... to here.
25710 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25711 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25712 * conf/any-emu.rmk: ... to here.
25714 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25716 * include/grub/parser.h (grub_parser_register): Document need
25717 of `name' parameter.
25718 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25719 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25722 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25724 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25726 * include/grub/i18n.h (N_): New macro.
25727 * util/mkisofs/mkisofs.h: Likewise.
25728 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25730 (usage): Use gettext() to translate help strings when printing them.
25732 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25734 Based on patch from Bean
25735 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25737 * video/efi_fb.c: New file.
25738 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25739 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25741 * conf/x86_64-efi.rmk: Likewise.
25743 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25745 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25746 * util/i386/pc/grub-setup.c: Likewise.
25748 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25750 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25752 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25753 file_get_storage_info to implement grub_guess_root_device.
25755 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25757 * Makefile.in (target): Use make's builtin $(shell) function
25758 instead of calling directly $(SHELL) to create the locale directories,
25759 inside the $(foreach) function.
25761 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25763 * util/grub-mkrescue.in: Print an error and usage if output option
25764 has not been given.
25766 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25768 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25769 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25770 root and /boot are on different devices.
25772 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25774 Fix build for srcdir != objdir.
25776 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25777 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25779 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25780 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25781 reference for input.
25783 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25785 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25786 or hardlinking it). Remove -J option, Joliet is not compatible with
25787 multiple source directories.
25789 2009-11-21 Carles Pina i Estany <carles@pina.cat>
25790 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25792 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25793 (process_input_dir): New function. Process an arbitrary input
25795 Misc adjustments to support both "override mode" and system-wide mode.
25797 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25799 * configure.ac (UNIFONT_BDF): Rename to ...
25800 (FONT_SOURCE): ... this. Update all users.
25802 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25804 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25805 to the list of unifont files to look for.
25807 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25809 Patch from Joe Auricchio <jauricchio@gmail.com>
25810 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25811 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25812 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25814 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25816 * Makefile.in (install-local): Add a missing backslash.
25818 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25820 * include/grub/x86_64/io.h: New file.
25822 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25824 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25825 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25826 Include `"progname.h"'.
25827 (main): Initialize gettext.
25828 * util/i386/pc/grub-setup.c: Gettexttize.
25829 * util/i386/pc/grub-mkimage.c: Likewise.
25831 * Makefile.in (po/*.po): Redefine as ...
25832 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25834 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25836 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25838 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25839 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25840 (program_name): Remove.
25841 (main): Initialize gettext support.
25842 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25843 Include `<libintl.h>'.
25846 * util/mkisofs/eltorito.c: Gettexttize.
25847 * util/mkisofs/joliet.c: Likewise.
25848 * util/mkisofs/mkisofs.c: Likewise.
25849 * util/mkisofs/multi.c: Likewise.
25850 * util/mkisofs/rock.c: Likewise.
25851 * util/mkisofs/tree.c: Likewise.
25852 * util/mkisofs/write.c: Likewise.
25854 * po/POTFILES: Update with new files.
25856 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25858 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25859 * util/mkisofs/iso9660.h: Likewise.
25860 * util/mkisofs/joliet.c: Likewise.
25861 * util/mkisofs/mkisofs.c: Likewise.
25862 * util/mkisofs/mkisofs.h: Likewise.
25863 * util/mkisofs/rock.c: Likewise.
25864 * util/mkisofs/tree.c: Likewise.
25865 * util/mkisofs/write.c: Likewise.
25867 * util/mkisofs/eltorito.c (rcsid): Remove.
25868 * util/mkisofs/hash.c: Likewise.
25869 * util/mkisofs/joliet.c: Likewise.
25870 * util/mkisofs/name.c: Likewise.
25871 * util/mkisofs/rock.c: Likewise.
25872 * util/mkisofs/tree.c: Likewise.
25873 * util/mkisofs/write.c: Likewise.
25875 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25877 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25878 instead of static allocation.
25879 * util/mkisofs/match.h: Likewise.
25881 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25883 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25884 and `util/grub.d/10_linux.in'.
25885 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25886 translatable Shell files.
25888 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25890 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25892 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25894 * INSTALL: Document Automake is needed for bootstrap.
25895 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
25896 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25897 Add gettext initialization.
25898 (kfreebsd_entry): Make menuentry output translatable.
25900 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25902 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25903 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25904 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25905 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25906 (LINGUAS): Auto-generate using `po/LINGUAS'.
25907 * po/LINGUAS: New file.
25909 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25911 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
25913 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
25914 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
25915 bindtextdomain() calls for gettext initialization.
25917 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25919 * gnulib/progname.c: New file (imported from Gnulib).
25920 * gnulib/progname.h: Likewise.
25921 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25922 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
25923 (usage): Replace `progname' with `program_name'.
25924 (main): Use set_program_name() for program name initialization.
25926 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25928 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
25930 * Makefile.in (CPPFLAGS): ... to here.
25932 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25934 * aclocal.m4: Move from here ...
25935 * acinclude.m4: ... to here.
25936 * autogen.sh: Add call to `aclocal'.
25937 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
25939 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25941 * Makefile.in (CLEANFILES): Add `po/*.mo'.
25942 (LINGUAS): New variable.
25943 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
25944 (install-local): Install MO files.
25945 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
25946 * include/grub/i18n.h: New file.
25947 * po/POTFILES: New file.
25948 * po/ca.po: New file.
25949 * util/grub.d/10_linux.in (bindir): New variable.
25950 Add gettext initialization.
25951 (linux_entry): Make menuentry output translatable.
25952 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
25953 (usage): Make --help output translatable.
25954 (main): Initialize gettext.
25956 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25958 * import_gcry.py: New file (written by Vladimir with minor
25960 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
25962 * INSTALL: Document that Python is required for bootstrap.
25964 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25966 Import ciphers from libgcrypt 1.4.4.
25968 * lib/libgcrypt/cipher/ChangeLog
25969 * lib/libgcrypt/cipher/ac.c
25970 * lib/libgcrypt/cipher/arcfour.c
25971 * lib/libgcrypt/cipher/bithelp.h
25972 * lib/libgcrypt/cipher/blowfish.c
25973 * lib/libgcrypt/cipher/camellia-glue.c
25974 * lib/libgcrypt/cipher/camellia.c
25975 * lib/libgcrypt/cipher/camellia.h
25976 * lib/libgcrypt/cipher/cast5.c
25977 * lib/libgcrypt/cipher/cipher.c
25978 * lib/libgcrypt/cipher/crc.c
25979 * lib/libgcrypt/cipher/des.c
25980 * lib/libgcrypt/cipher/dsa.c
25981 * lib/libgcrypt/cipher/ecc.c
25982 * lib/libgcrypt/cipher/elgamal.c
25983 * lib/libgcrypt/cipher/hash-common.c
25984 * lib/libgcrypt/cipher/hash-common.h
25985 * lib/libgcrypt/cipher/hmac-tests.c
25986 * lib/libgcrypt/cipher/md.c
25987 * lib/libgcrypt/cipher/md4.c
25988 * lib/libgcrypt/cipher/md5.c
25989 * lib/libgcrypt/cipher/primegen.c
25990 * lib/libgcrypt/cipher/pubkey.c
25991 * lib/libgcrypt/cipher/rfc2268.c
25992 * lib/libgcrypt/cipher/rijndael-tables.h
25993 * lib/libgcrypt/cipher/rijndael.c
25994 * lib/libgcrypt/cipher/rmd.h
25995 * lib/libgcrypt/cipher/rmd160.c
25996 * lib/libgcrypt/cipher/rsa.c
25997 * lib/libgcrypt/cipher/seed.c
25998 * lib/libgcrypt/cipher/serpent.c
25999 * lib/libgcrypt/cipher/sha1.c
26000 * lib/libgcrypt/cipher/sha256.c
26001 * lib/libgcrypt/cipher/sha512.c
26002 * lib/libgcrypt/cipher/tiger.c
26003 * lib/libgcrypt/cipher/twofish.c
26004 * lib/libgcrypt/cipher/whirlpool.c
26006 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26008 Fix build for systems without error().
26010 * gnulib/error.c: New file (imported from Gnulib).
26011 * gnulib/error.h: Likewise.
26012 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26013 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26014 (this variable is now used by error()).
26016 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26018 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26019 instead of relying that char is signed.
26021 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26023 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26024 blocksize different from specified.
26025 (grub_pxefs_read): Likewise.
26027 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26029 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26031 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26032 (grub_ata_readwrite): Likewise. Update 2 format strings.
26033 (grub_atapi_read): Likewise.
26035 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26036 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26037 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26038 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26039 (ata_mod_LDFLAGS): Move from here ...
26040 * conf/i386.rmk: ... to here ...
26041 * conf/x86_64-efi.rmk: ... and here.
26042 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26043 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26045 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26047 Relicense multiboot.h, with RMS' blessing.
26049 * include/multiboot.h: Change to X11 license.
26051 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26053 Support --version in grub-mkisofs.
26055 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26056 (OPTION_VERSION): New macro.
26057 (ld_options): Recognize --version.
26058 (usage): Move `program_name' from here ...
26059 (program_name): ... to here. Add `static' qualifier.
26060 (main): Recognize `OPTION_VERSION'.
26062 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
26064 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26065 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26067 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26069 Fix help2man generation for mkisofs.
26071 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26072 (usage): Send output to stdout (rather than stderr).
26074 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26076 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26077 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26078 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26079 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26080 (bin_SCRIPTS): Add `grub-mkfloppy'.
26081 (grub_mkfloppy_SOURCES): New variable.
26083 * util/grub-mkrescue.in: New file.
26084 * util/i386/pc/grub-mkfloppy.in: New file.
26086 * util/i386/coreboot/grub-mkrescue.in: Remove.
26087 * util/i386/pc/grub-mkrescue.in: Remove.
26089 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26091 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26093 * include/multiboot.h (struct multiboot_header): ... to here. Update
26095 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26097 * include/multiboot.h (struct multiboot_info): ... to here. Update
26099 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26101 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26103 * include/grub/multiboot.h (struct grub_mod_list): Move
26105 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26108 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26110 * include/multiboot2.h (multiboot_word): Rename from this ...
26111 (multiboot2_word): ... to this. Update all users.
26112 (multiboot_header): Rename from this ...
26113 (multiboot2_header): ... to this. Update all users.
26114 (multiboot_tag_header): Rename from this ...
26115 (multiboot2_tag_header): ... to this. Update all users.
26116 (multiboot_tag_start): Rename from this ...
26117 (multiboot2_tag_start): ... to this. Update all users.
26118 (multiboot_tag_name): Rename from this ...
26119 (multiboot2_tag_name): ... to this. Update all users.
26120 (multiboot_tag_module): Rename from this ...
26121 (multiboot2_tag_module): ... to this. Update all users.
26122 (multiboot_tag_memory): Rename from this ...
26123 (multiboot2_tag_memory): ... to this. Update all users.
26124 (multiboot_tag_unused): Rename from this ...
26125 (multiboot2_tag_unused): ... to this. Update all users.
26126 (multiboot_tag_end): Rename from this ...
26127 (multiboot2_tag_end): ... to this. Update all users.
26129 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26131 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26132 this platform we should support Multiboot1 first.
26134 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26135 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26136 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26138 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26140 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26141 of write calls (converting them to fwrite() if they aren't already).
26142 (get_torito_desc): Likewise.
26143 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26145 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26147 * util/i386/pc/grub-install.in: Move from here ...
26148 * util/grub-install.in: ... to here. Update all users.
26150 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
26152 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26154 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26156 Support for El Torito without floppy emulation.
26158 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26159 (init_boot_catalog): Improve error handling.
26160 (get_torito_desc): Don't use floppy emulation unless requested by
26161 user. Patch boot information table when requested via
26162 `-boot-info-table'.
26163 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26164 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26165 (use_boot_info_table): New variables.
26166 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26167 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26168 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26169 `--eltorito-emul-floppy'.
26170 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26171 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26172 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26173 (use_boot_info_table, get_731): New prototypes.
26174 * util/mkisofs/write.c (get_731): New function.
26176 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
26178 Fix the generation of the man page.
26180 * util/pc/i386/grub-install.in: Source
26181 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26183 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26185 Large file support for grub-mkisofs.
26187 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26188 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26189 (session_start): Upgrade type to `uint64_t'. Update all users.
26190 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26191 (struct directory_entry): Upgrade type of `starting_block' and
26192 `size' to `uint64_t'. Update all users.
26193 (struct deferred): Remove unused structure.
26194 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26196 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26197 file is larger than `UINT32_MAX'.
26198 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26199 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26201 (struct deferred_write): Upgrade type of `extent' and `size' to
26202 `uint64_t'. Update all users.
26203 (last_extent_written): Upgrade type to `uint64_t'. Update all
26205 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26206 Update all users. Upgrade type of `remain' to `int64_t' and
26207 `use' to `size_t'. Use error() to handle fread() errors.
26208 (write_files): Rely on write_one_file() rather than calling
26209 xfwrite() directly.
26211 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
26213 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26215 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26217 * util/mkisofs/fnmatch.c: Remove.
26218 * util/mkisofs/getopt1.c: Likewise.
26219 * util/mkisofs/getopt.c: Likewise.
26220 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26221 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26222 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26223 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26224 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26226 * configure.ac: Detect `mingw32msvc' host_os.
26227 Check for lstat(), getuid() and getgid().
26229 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26230 instances of `u_char' with `uint8_t'.
26232 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26233 [!HAVE_GETUID] (getuid): New function (stub).
26234 [!HAVE_GETGID] (getgid): Likewise.
26235 [!HAVE_LSTAT] (lstat): Likewise.
26236 [!S_IROTH] (S_IROTH): New macro (dummy).
26237 [!S_IRGRP] (S_IRGRP): Likewise.
26239 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26241 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26242 conditional expression).
26244 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26246 Import from Gnulib.
26248 * gnulib/fnmatch.c: New file.
26249 * gnulib/fnmatch.h: Likewise.
26250 * gnulib/fnmatch_loop.c: Likewise.
26251 * gnulib/getopt.c: Likewise.
26252 * gnulib/getopt.h: Likewise.
26253 * gnulib/getopt1.c: Likewise.
26254 * gnulib/getopt_int.h: Likewise.
26255 * gnulib/gettext.h: Likewise.
26257 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26259 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26260 * normal/handler.c (read_handler_list): Likewise.
26262 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26266 * kern/command.c (grub_register_command_prio): Use
26267 grub_zalloc() instead of explicitly zeroing data.
26268 * kern/list.c: Include `<grub/mm.h>'.
26269 (grub_named_list_find): Replace `0' with `NULL'.
26270 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26271 (fs_module_list): Change type to `grub_named_list_t'. Update all
26273 * normal/dyncmd.c (read_command_list): Add space between function
26274 call and parenthesis.
26275 * normal/handler.c (read_handler_list): Likewise.
26277 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26279 * normal/auth.c (punishment_delay): Moved from here ...
26280 (grub_auth_strcmp): ... to here (inside function).
26282 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26284 * include/grub/list.h (struct grub_named_list): Remove `const'
26285 qualifier from `name'.
26286 (struct grub_prio_list): Likewise.
26288 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26290 * normal/auth.c: Include `<grub/time.h>'.
26291 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26293 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26295 * normal/auth.c (punishment_delay): New variable.
26296 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26297 (grub_auth_check_authentication): Punish failed login attempts with
26298 an incremental (2^N) delay.
26300 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26302 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26303 path with $(srcdir).
26305 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26307 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26309 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26311 * util/i386/coreboot/grub-mkrescue.in: New file.
26312 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26315 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26316 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26317 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26319 * util/mkisofs/defaults.h: New file.
26320 * util/mkisofs/eltorito.c: Likewise.
26321 * util/mkisofs/exclude.h: Likewise.
26322 * util/mkisofs/fnmatch.c: Likewise.
26323 * util/mkisofs/getopt.c: Likewise.
26324 * util/mkisofs/getopt1.c: Likewise.
26325 * util/mkisofs/hash.c: Likewise.
26326 * util/mkisofs/include/fctldefs.h: Likewise.
26327 * util/mkisofs/include/mconfig.h: Likewise.
26328 * util/mkisofs/include/prototyp.h: Likewise.
26329 * util/mkisofs/include/statdefs.h: Likewise.
26330 * util/mkisofs/iso9660.h: Likewise.
26331 * util/mkisofs/joliet.c: Likewise.
26332 * util/mkisofs/match.c: Likewise.
26333 * util/mkisofs/match.h: Likewise.
26334 * util/mkisofs/mkisofs.c: Likewise.
26335 * util/mkisofs/mkisofs.h: Likewise.
26336 * util/mkisofs/multi.c: Likewise.
26337 * util/mkisofs/name.c: Likewise.
26338 * util/mkisofs/rock.c: Likewise.
26339 * util/mkisofs/tree.c: Likewise.
26340 * util/mkisofs/write.c: Likewise.
26342 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26344 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26347 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26349 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26350 `grub-mkimage' (and use $0 when possible).
26352 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26354 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26355 error message for excessively large memory map.
26357 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26359 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26362 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26364 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26365 message for coreboot users.
26367 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26369 Fix build with GNU gold.
26371 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26372 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26373 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26375 * aclocal.m4: Likewise.
26377 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
26379 * configure.ac (AC_PREREQ): Bump to 2.59d.
26380 * INSTALL: Make it more clear when Autoconf and Ruby are
26381 needed and when to run `./autogen.sh'.
26383 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26385 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26388 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26390 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26392 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26394 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26395 giving it to GNU Mach.
26397 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26399 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26400 GNU partition number to get internal GRUB partition number.
26402 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26404 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26405 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26407 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26409 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26410 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26413 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
26415 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26417 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26421 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26422 `-isystem=$(srcdir)/include'.
26424 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26426 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26427 checked (grub-install doesn't currently rely on it).
26429 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26433 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26434 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26435 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26436 * conf/i386-ieee1275.rmk: Likewise.
26437 * conf/i386-pc.rmk: Likewise.
26438 * conf/powerpc-ieee1275.rmk: Likewise.
26439 * conf/sparc64-ieee1275.rmk: Likewise.
26440 * conf/x86_64-efi.rmk: Likewise.
26442 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26444 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26446 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26448 * include/grub/misc.h: Stop checking for APPLE_CC.
26450 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26452 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26453 doesn't cause an infinite call loop.
26455 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
26457 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26460 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26462 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26464 * Makefile.in: Likewise.
26466 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26468 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26470 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26472 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26474 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26476 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26478 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26480 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26482 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26484 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26486 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26487 in $(MAKEINFO) invocation. This makes it clear in output that
26488 errors are being ignored.
26490 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26492 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26494 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26495 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26496 * conf/i386-ieee1275.rmk: Likewise.
26497 * conf/i386-pc.rmk: Likewise.
26498 * conf/powerpc-ieee1275.rmk: Likewise.
26499 * conf/sparc64-ieee1275.rmk: Likewise.
26500 * conf/x86_64-efi.rmk: Likewise.
26502 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26504 * util/grub-editenv.c (main): If only a command is given, use
26505 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26506 (usage): FILENAME is now optional and has a default.
26508 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26510 Improve grub-mkconfig performance when there are several menu
26511 entries on a single filesystem.
26513 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26514 prepare_grub_to_access_device.
26515 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26516 * util/grub.d/30_os-prober.in: Likewise.
26518 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26520 * util/grub.d/10_freebsd.in: Remove.
26521 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26522 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26524 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26526 * docs/grub.cfg: Fix example usage of *BSD loaders.
26528 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26530 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26531 grub_util_error() call.
26533 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26535 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26536 `reserved_first_sector' member.
26537 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26538 `reserved_first_sector' to 1.
26539 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26540 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26541 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26542 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26543 filesystems which begin at first sector.
26544 (options): New option --skip-fs-probe.
26545 (main): Handle --skip-fs-probe and pass it to setup().
26547 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26549 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26550 (memset): Fix function prototype.
26552 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26553 2009-10-25 Vasily Averin <vvs@parallels.com>
26555 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26556 `dirent.direntlen == 0'.
26558 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26560 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26562 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26564 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26566 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26567 `__trampoline_setup' and `__ucmpdi2'.
26568 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26569 that libgcc provides.
26571 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26573 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26574 * include/grub/sparc64/libgcc.h (memset): Likewise.
26575 * include/grub/misc.h (memset, memcmp): New function prototypes.
26577 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26579 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26581 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26583 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26585 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26586 * docs/grub.cfg: Compensate for recent change in multiboot
26587 loader (since 2009-08-14 it won't pass filename to payload).
26588 * util/grub.d/10_hurd.in: Likewise.
26590 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
26592 * config.guess: Update to latest version from config git
26594 * config.sub: Likewise.
26596 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26598 Fix build on sparc64.
26600 * configure.ac: Perform checks for libgcc symbols before
26601 adding `-nostdlib' to LDFLAGS.
26603 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26605 Let user specify OpenBSD root device.
26607 * loader/i386/bsd.c (openbsd_root): New variable.
26608 (openbsd_opts): New option 'root'.
26609 (OPENBSD_ROOT_ARG): New macro.
26610 (grub_openbsd_boot): Use 'openbsd_root'.
26611 (grub_cmd_openbsd): Fill 'openbsd_root'.
26613 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26615 * NEWS: Misc adjustments.
26617 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26619 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26621 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26623 * configure.ac: Bump version to 1.97.
26625 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
26627 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26628 -mno-3dnow on x86 architectures. Some toolchains enable these
26629 features by default, but they rely on registers that aren't enabled
26630 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26632 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26634 Make entry text a bit more readable.
26636 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26638 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26640 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26642 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26644 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26647 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26649 * configure.ac: Add missing dollar.
26651 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26653 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26655 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26656 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26658 * include/grub/sparc64/libgcc.h: Likewise. Use
26659 preprocessor conditionals.
26661 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26663 * conf/common.rmk (grub-dumpbios): Remove rule.
26664 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26665 * util/grub-dumpbios.in: Remove file.
26667 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26669 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26670 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26672 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26673 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26676 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26677 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26678 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26679 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26682 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26684 * term/tparm.c: Switch to GPLv3.
26686 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26688 * include/grub/i386/cpuid.h: Add header protection.
26690 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26692 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26694 * include/grub/i386/cpuid.h: New file.
26695 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26696 (has_longmode): Rename to ...
26697 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26698 `static' attribute.
26699 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26700 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26701 on a CPU that doesn't implement AMD64 instruction set.
26703 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26705 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26706 that version.texi is rebuilt on version number changes.
26708 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26710 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26713 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26715 * util/i386/pc/grub-install.in: Source
26716 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26717 that the --grub-probe option will work.
26718 * util/sparc64/ieee1275/grub-install.in: Likewise.
26720 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26722 * configure.ac: Bump version to 1.97~beta4.
26724 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26726 Resync grub-mkdevicemap in x86_64-efi.
26728 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26729 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26730 `util/devicemap.c'.
26732 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
26734 * util/grub-editenv.c (create_envblk_file): Write new block with a
26735 .new suffix and then rename it into place, to ensure atomic
26738 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26740 Do not automatically install headers.
26742 * Makefile.in (include_DATA): Remove. Update all users.
26744 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26746 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26747 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26749 * util/osdetect.lua: Remove.
26750 * script/lua/lauxlib.c: Likewise.
26751 * script/lua/ldebug.c: Likewise.
26752 * script/lua/grub_main.c: Likewise.
26753 * script/lua/lauxlib.h: Likewise.
26754 * script/lua/ldebug.h: Likewise.
26755 * script/lua/ltablib.c: Likewise.
26756 * script/lua/liolib.c: Likewise.
26757 * script/lua/lstrlib.c: Likewise.
26758 * script/lua/lualib.h: Likewise.
26759 * script/lua/ldo.c: Likewise.
26760 * script/lua/ldump.c: Likewise.
26761 * script/lua/ldo.h: Likewise.
26762 * script/lua/loslib.c: Likewise.
26763 * script/lua/lundump.c: Likewise.
26764 * script/lua/grub_lib.c: Likewise.
26765 * script/lua/ldblib.c: Likewise.
26766 * script/lua/lundump.h: Likewise.
26767 * script/lua/lmem.c: Likewise.
26768 * script/lua/grub_lib.h: Likewise.
26769 * script/lua/lmathlib.c: Likewise.
26770 * script/lua/lstate.c: Likewise.
26771 * script/lua/ltm.c: Likewise.
26772 * script/lua/lvm.c: Likewise.
26773 * script/lua/lmem.h: Likewise.
26774 * script/lua/lstate.h: Likewise.
26775 * script/lua/ltm.h: Likewise.
26776 * script/lua/ltable.c: Likewise.
26777 * script/lua/lvm.h: Likewise.
26778 * script/lua/llex.c: Likewise.
26779 * script/lua/lgc.c: Likewise.
26780 * script/lua/grub_lua.h: Likewise.
26781 * script/lua/loadlib.c: Likewise.
26782 * script/lua/lfunc.c: Likewise.
26783 * script/lua/lopcodes.c: Likewise.
26784 * script/lua/lparser.c: Likewise.
26785 * script/lua/ltable.h: Likewise.
26786 * script/lua/llex.h: Likewise.
26787 * script/lua/lgc.h: Likewise.
26788 * script/lua/lfunc.h: Likewise.
26789 * script/lua/lbaselib.c: Likewise.
26790 * script/lua/lopcodes.h: Likewise.
26791 * script/lua/lparser.h: Likewise.
26792 * script/lua/lzio.c: Likewise.
26793 * script/lua/linit.c: Likewise.
26794 * script/lua/lobject.c: Likewise.
26795 * script/lua/llimits.h: Likewise.
26796 * script/lua/lstring.c: Likewise.
26797 * script/lua/lzio.h: Likewise.
26798 * script/lua/lapi.c: Likewise.
26799 * script/lua/lcode.c: Likewise.
26800 * script/lua/lua.h: Likewise.
26801 * script/lua/lobject.h: Likewise.
26802 * script/lua/lstring.h: Likewise.
26803 * script/lua/lapi.h: Likewise.
26804 * script/lua/lcode.h: Likewise.
26805 * script/lua/luaconf.h: Likewise.
26807 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
26809 * docs/grub.texi (Command-line and menu entry commands): Document
26810 date and echo commands.
26812 2009-09-24 Pavel Roskin <proski@gnu.org>
26814 * include/grub/kernel.h (struct grub_module_header): Remove
26815 `grub_module_header_types'. Make `type' unsigned. Make `size'
26816 32-bit on all platforms.
26817 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26818 8-bit field. Use grub_host_to_target32() for `size'.
26819 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26820 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26821 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26823 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26825 Fix "lost keypress" bug in at_keyboard.
26827 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26828 Checks for readyness of input buffer (without flushing it).
26829 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26830 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26832 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26834 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26835 size check within GRUB_MACHINE_PCBIOS section.
26837 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26839 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26841 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26842 KEYBOARD_ISREADY check.
26843 (grub_at_keyboard_checkkey): Rename to ...
26844 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26845 Remove gratuitous cast.
26847 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
26849 * configure.ac: Call AC_PROG_MKDIR_P.
26850 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26851 version.texi in $(builddir) rather than $(srcdir).
26852 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26853 to makeinfo's @include search path.
26855 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26857 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26859 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26861 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26864 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
26866 Build info documentation. Some code borrowed from Automake.
26868 * configure.ac: Check for makeinfo.
26869 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26870 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26872 (MOSTLYCLEANFILES): Add vti.tmp.
26873 (docs/version.texi, docs/stamp-vti): Update automatically.
26874 (docs/grub.info): Build info documentation. Use --force and ignore
26876 (all-local): Add $(INFOS).
26877 (install-local): Install info files.
26878 (uninstall): Uninstall info files.
26879 * docs/version.texi: Remove from revision control. This file is
26880 automatically generated on build now.
26881 * gendistlist.sh: Add `*.info'.
26883 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26885 * kern/term.c: Fix indentation.
26887 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26889 * util/hostdisk.c: Fix a comment.
26891 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26893 Fix regression introduced in r2539.
26895 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26898 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
26900 * util/grub.d/30_os-prober.in: Don't throw away stderr from
26901 os-prober. Under normal operation, it does not print anything to
26902 stderr; if it does, we need to debug it, and throwing away stderr
26903 makes that excessively difficult.
26905 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26907 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26909 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26911 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
26912 AC_LANG_PROGRAM from autoconf.
26913 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
26914 prototypes (fixes warning).
26916 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
26917 `--disable-werror' was used.
26919 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26921 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
26922 uninitialized `lastaddr'.
26924 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
26926 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
26928 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
26930 * commands/test.c (get_fileinfo): Return immediately if
26931 grub_fs_probe fails.
26933 2009-09-14 José Martínez <xosemp@gmail.com>
26935 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
26937 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
26939 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
26942 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
26944 * configure.ac: Remove --enable-grub-pe2elf. Only build
26945 grub-pe2elf when needed by the build system itself.
26946 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
26948 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26950 * configure.ac: Bump version to 1.97~beta3.
26951 * docs/version.texi: Likewise.
26953 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26955 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
26956 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
26958 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
26959 (grub_linux_setup_video): ... to here (with some adjustments).
26961 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26963 Fix memory corruption issue (spotted by Colin Watson).
26965 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
26966 causing returned size to be stored in an incorrect memory location.
26967 Fix use of uninitialized value when storing the returned size.
26969 2009-09-12 Yves Blusseau <blusseau@zetam.org>
26971 Change clean rules to properly remove files
26973 * genmk.rb: add new clean rules
26974 * Makefile.in (clean): add the new targets
26975 (mostlyclean): likewise
26977 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
26979 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
26981 * fs/ntfs.c (init_file): Understand 64-bit sizes for
26982 non-resident files.
26984 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
26986 * configure.ac: Don't look for help2man when cross-compiling. Fixes
26987 part of bug #27349.
26989 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
26991 * util/grub-mkconfig.in: Make the created config mode 400 and
26992 print a warning if it fails.
26994 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
26996 * util/grub.d/40_custom.in: Ask user to type custom entries below
26997 comment, rather than below 'exec tail' line.
26999 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27001 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27002 visible in grub.cfg.
27004 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27006 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27009 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
27011 * docs/grub.cfg: Add an example menu entry for memtest86+.
27013 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
27015 * config.guess: Update to latest version from config git.
27016 * config.sub: Likewise.
27018 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
27020 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27021 unknown-command case. Fixes bug #27320.
27023 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
27025 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27026 `help' if the command exists.
27028 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27030 * INSTALL: Require GCC 4.1.3 or later.
27032 2009-09-06 Yves Blusseau <blusseau@zetam.org>
27034 * Makefile.in (RMKFILES): add i386-qemu.rmk
27035 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27036 $(srcdir)/stamp-h.in
27038 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27040 * util/grub-probe.c (probe): Comment out buggy codepath, which
27041 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27042 should be re-enabled after 1.97.
27044 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
27046 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27049 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27051 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27052 unnecessary calls to grub_error.
27054 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
27056 * NEWS: Mention `keystatus' and Unicode fonts.
27058 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27060 * configure.ac: Bump version to 1.97~beta2.
27061 * docs/version.texi: Likewise.
27063 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27065 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27066 containing unwind information in some cases where it previously did
27067 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27068 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27071 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27073 Embedding loadenv module into grub-emu
27075 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27077 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27078 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27079 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27081 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27082 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27084 2009-09-03 Magnus Granberg <zorry@ume.nu>
27086 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27087 include -fPIE in the default specs.
27088 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27091 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
27093 * INSTALL: Note that GNU Bison 2.3 or later is required.
27095 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27097 * kern/i386/pc/startup.S: Fix typo.
27099 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27101 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27104 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27106 * docs/grub.texi (Naming convention): Describe one-based partition
27108 (Device syntax): Likewise.
27109 (File name syntax): Likewise.
27110 (Block list syntax): Likewise.
27111 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27113 (File name syntax): Likewise.
27114 (Command-line and menu entry commands): Document acpi, blocklist,
27115 crc, export, insmod, keystatus, ls, set, and unset commands.
27117 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27119 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27120 to avoid implying that only one of --shift, --ctrl, or --alt may be
27123 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27125 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27126 rather than comparing against S_IFREG, which will almost never work.
27128 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27130 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27131 (write_blocklists): Likewise.
27133 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
27135 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27136 argument to grub_printf.
27138 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
27140 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
27143 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27145 * kern/file.c (grub_file_read): Spelling fix
27147 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27149 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27150 loading of headers in some cases.
27152 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27154 * configure.ac: Bump version to 1.97~beta1.
27155 * docs/version.texi: Likewise.
27157 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
27159 * include/grub/i386/xnu.h: Add license header.
27160 include grub/err.h explicitly.
27162 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27164 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27165 to `ufs' in the vfs.root.mountfrom kernel parameter.
27167 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27169 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27171 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27172 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27174 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27175 `ARRAY_SIZE' macro.
27177 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27179 * kern/file.c (grub_file_read): Check offset.
27180 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27181 * fs/jfs.c (grub_jfs_read_file): Likewise.
27182 * fs/ntfs.c (grub_ntfs_read): Likewise.
27183 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27184 * fs/minix.c (grub_minix_read_file): Correct offset check.
27185 * fs/ufs.c (grub_ufs_read_file): Likewise.
27187 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27189 * term/i386/pc/console.c (bios_data_area): Cast
27190 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27192 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27194 1-bit optimised blitters.
27196 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27198 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27199 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27200 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27201 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27202 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27203 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27204 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27206 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27207 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27208 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27209 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27210 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27211 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27212 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27214 * video/video.c (grub_video_get_blit_format): Return
27215 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27217 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27219 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27220 the first argument to grub_printf.
27222 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27223 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27225 Add `getkeystatus' terminal method. Add a new `keystatus' command
27228 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27229 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27230 modifier key bitmasks.
27231 (struct grub_term_input): Add `getkeystatus' member.
27232 (grub_getkeystatus): Add prototype.
27233 * kern/term.c (grub_getkeystatus): New function.
27235 * include/grub/i386/pc/memory.h
27236 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27237 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27239 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27240 (grub_console_term_input): Set `getkeystatus' member.
27241 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27243 (grub_usb_keyboard_getreport): Likewise.
27244 (grub_usb_keyboard_checkkey): Likewise.
27245 (grub_usb_keyboard_getkeystatus): New function.
27246 (grub_usb_keyboard_term): Set `getkeystatus' member.
27248 * commands/keystatus.c: New file.
27249 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27250 (keystatus_mod_SOURCES): New variable.
27251 (keystatus_mod_CFLAGS): Likewise.
27252 (keystatus_mod_LDFLAGS): Likewise.
27253 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27254 commands/keystatus.c.
27255 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27256 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27257 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27259 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27260 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27262 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27264 Split befs.mod and afs.mod into *_be.mod and *.mod
27266 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27267 (grub_fstest_SOURCES): Likewise.
27268 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27269 (afs_be_mod_SOURCES): New variable.
27270 (afs_be_mod_CFLAGS): Likewise.
27271 (afs_be_mod_LDFLAGS): Likewise.
27272 (befs_be_mod_SOURCES): Likewise.
27273 (befs_be_mod_CFLAGS): Likewise.
27274 (befs_be_mod_LDFLAGS): Likewise.
27275 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27276 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27277 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27278 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27279 (grub_emu_SOURCES): Likewise.
27280 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27281 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27282 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27283 * fs/afs_be.c: New file.
27284 * fs/befs_be.c: New file.
27285 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27286 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27287 (U16): Replaced with ...
27288 (grub_afs_to_cpu16): ...this. All users updated.
27289 (U32): Replaced with ...
27290 (grub_afs_to_cpu32): ...this. All users updated.
27291 (U64): Replaced with ...
27292 (grub_afs_to_cpu64): ...this. All users updated.
27293 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27294 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
27295 (grub_afs_validate_sblock): Check only one endianness.
27296 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27297 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27298 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27299 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27300 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27301 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27302 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27303 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27305 2009-08-26 Bean <bean123ch@gmail.com>
27307 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27309 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27310 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27311 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27313 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27315 NetBSD memory map support.
27317 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27318 (grub_netbsd_btinfo_mmap_header): New structure.
27319 (grub_netbsd_btinfo_mmap_entry): Likewise.
27320 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27322 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27324 Enable bsd.mod on coreboot.
27326 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27327 (bsd_mod_SOURCES): New variable.
27328 (bsd_mod_CFLAGS): Likewise.
27329 (bsd_mod_LDFLAGS): Likewise.
27330 (bsd_mod_ASFLAGS): Likewise.
27331 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27332 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27334 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27336 Cleanup NetBSD root support.
27338 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27339 grub_bsd_get_device.
27342 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
27344 * util/grub.d/00_header.in: Move check for the video backend of
27345 gfxterm from here ...
27346 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27347 a suitable video backend.
27349 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27351 Fix breakage in grub-setup.
27353 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27354 "msdos_partition_map".
27356 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27358 Fix breakage in normal/auth.c.
27360 * normal/auth.c (grub_iswordseparator): New function.
27362 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27364 Authentication support.
27366 * commands/password.c: New file.
27367 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27368 (password_mod_SOURCES): New variable.
27369 (password_mod_CFLAGS): Likewise.
27370 (password_mod_LDFLAGS): Likewise.
27371 (normal_mod_SOURCES): Add normal/auth.c.
27372 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27374 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27375 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27376 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27378 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27379 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27380 * include/grub/auth.h: New file.
27381 * include/grub/err.h (grub_err_t): New enum value
27382 GRUB_ERR_ACCESS_DENIED.
27383 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27385 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27386 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27388 * normal/auth.c: New file.
27389 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27390 (grub_cmdline_run): Don't allow to go to command line without
27392 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27393 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27394 menuentry without superuser rights.
27395 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27396 user isn't a superuser.
27398 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27400 Save space by inlining misc.c functions.
27402 * kern/misc.c (grub_iswordseparator): Made static.
27403 * kern/misc.c (grub_strcat): Moved from here ...
27404 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27405 * kern/misc.c (grub_strncat): Moved from here ...
27406 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27407 * kern/misc.c (grub_strcasecmp): Moved from here ...
27408 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27409 * kern/misc.c (grub_strncasecmp): Moved from here ...
27410 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27411 * kern/misc.c (grub_isalpha): Moved from here ...
27412 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27413 * kern/misc.c (grub_isdigit): Moved from here ...
27414 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27415 * kern/misc.c (grub_isgraph): Moved from here ...
27416 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27417 * kern/misc.c (grub_tolower): Moved from here ...
27418 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27420 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27422 * script/sh/function.c (grub_script_function_find): Cut error message
27423 not to flood terminal.
27424 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27426 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27428 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
27430 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27431 `report' grub_uint8_t *.
27432 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27433 Use a 50-millisecond timeout rather than just repeating
27434 grub_usb_keyboard_getreport 50 times.
27435 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27437 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27439 Rename *_partition_map to part_*
27441 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27442 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27443 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27444 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27446 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27448 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27449 * util/grub-probe.c (probe_partmap): Don't transform partition name
27450 to get module name.
27452 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27454 Fix OpenBSD and NetBSD support.
27456 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27457 memory address conflict.
27458 (OPENBSD_MMAP_ACPI): New definition.
27459 (OPENBSD_MMAP_NVS): Likewise.
27460 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27461 and OPENBSD_MMAP_NVS.
27462 Add memory map terminator
27463 Explicit cast when calling grub_unix_real_boot.
27464 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
27466 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27468 Let user specify NetBSD root device.
27470 * loader/i386/bsd.c (netbsd_root): New variable.
27471 (netbsd_opts): New option 'root'.
27472 (NETBSD_ROOT_ARG): New macro.
27473 (grub_netbsd_boot): Use 'netbsd_root'.
27474 (grub_bsd_unload): Free 'netbsd_root'.
27475 (grub_cmd_netbsd): Fill 'netbsd_root'.
27477 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27479 Support for 64-bit NetBSD.
27481 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27482 point when booting non-FreeBSD.
27484 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27486 Support --no-smp and --no-acpi for NetBSD.
27488 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27489 (NETBSD_AB_NOACPI): Likewise.
27490 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27491 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27493 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27495 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27497 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27498 errors. Call grub_error when needed.
27500 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27502 * commands/search.c (search_fs): Try searching without autoload first.
27503 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27504 filesystem module explicitly for faster booting.
27506 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27508 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27510 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27512 * util/grub.d/30_os-prober.in: Disable os-prober if
27513 `GRUB_DISABLE_OS_PROBER' was set to true.
27515 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27517 * partmap/pc.c: Rename to ...
27518 * partmap/msdos.c: ... this. Update all users.
27519 (grub_pc_partition_map): Rename to ...
27520 (grub_msdos_partition_map): ... this. Update all users.
27522 * parttool/pcpart.c: Rename to ...
27523 * parttool/msdospart.c: ... this. Update all users.
27525 * include/grub/pc_partition.h: Rename to ...
27526 * include/grub/msdos_partition.h: ... this. Update all users.
27527 (grub_pc_partition_bsd_entry): Rename to ...
27528 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27529 (grub_pc_partition_disk_label): Rename to ...
27530 (grub_msdos_partition_disk_label): ... this. Update all users.
27531 (grub_pc_partition_entry): Rename to ...
27532 (grub_msdos_partition_entry): ... this. Update all users.
27533 (grub_pc_partition_mbr): Rename to ...
27534 (grub_msdos_partition_mbr): ... this. Update all users.
27535 (grub_pc_partition): Rename to ...
27536 (grub_msdos_partition): ... this. Update all users.
27537 (grub_pc_partition_is_empty): Rename to ...
27538 (grub_msdos_partition_is_empty): ... this. Update all users.
27539 (grub_pc_partition_is_extended): Rename to ...
27540 (grub_msdos_partition_is_extended): ... this. Update all users.
27541 (grub_pc_partition_is_bsd): Rename to ...
27542 (grub_msdos_partition_is_bsd): ... this. Update all users.
27544 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27545 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27546 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27547 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27548 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27549 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27550 (gpt_mod_LDFLAGS): Rename to ...
27551 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27552 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27553 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27554 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27555 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27556 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27557 (part_gpt_mod_LDFLAGS): ... this.
27558 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27559 `pcpart.mod' to `msdospart.mod'.
27560 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27562 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27563 (msdospart_mod_LDFLAGS): ... this.
27565 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27567 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27568 (openbsd_opts): Likewise.
27569 (netbsd_opts): Likewise.
27570 (freebsd_flags): Added 0 terminator.
27571 (openbsd_flags): Likewise.
27572 (netbsd_flags): Likewise.
27573 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27574 (grub_cmd_freebsd): Transformed into extended command.
27575 (grub_cmd_openbsd): Likewise.
27576 (grub_cmd_netbsd): Likewise.
27577 (cmd_freebsd): Changed type to grub_extcmd_t.
27578 (cmd_openbsd): Likewise.
27579 (cmd_netbsd): Likewise.
27580 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27581 grub_cmd_openbsd as extended commands.
27582 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27583 cmd_netbsd and cmd_openbsd
27585 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27587 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27589 2009-08-21 Pavel Roskin <proski@gnu.org>
27591 * Makefile.in (install-local): When checking if a file is in the
27592 build directory, use "test -e" to detect symlinks.
27594 * Makefile.in (install-local): Remove all files in
27595 $(DESTDIR)$(pkglibdir) before installing new files there.
27597 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27599 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27602 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27604 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27605 explicitly specified by the user.
27607 2009-08-18 Pavel Roskin <proski@gnu.org>
27609 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27610 grub_uint8_t pointer for data.
27611 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27613 * video/fb/fbutil.c: Remove unnecessary casts.
27615 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27619 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27620 (grub_vbe_set_video_mode): Save active mode info
27621 only after setting the mode.
27622 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27625 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27627 Rename variables for clarity.
27629 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27630 (active_vbe_mode_info): ... this. All users updated.
27631 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27633 (initial_mode): Rename to ...
27634 (initial_vbe_mode): ... this. All users updated.
27635 (mode_in_use): Rename to ..
27636 (vbe_mode_in_use): ... this. All users updated.
27637 (mode_list): Rename to ..
27638 (vbe_mode_list): ... this. All users updated.
27639 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27640 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27641 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27642 'mode_list_size' to 'vbe_mode_list_size'.
27643 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27644 'best_mode_info' to 'best_vbe_mode_info' and
27645 'best_mode' to 'best_vbe_mode'
27647 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27649 Remove duplicate grub_video_fb_get_video_ptr.
27651 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27652 (grub_video_fb_get_video_ptr): ... this.
27653 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27654 * video/fb/fbutil.c: Add comment about addressing.
27655 (get_data_ptr): Rename to ...
27656 (grub_video_fb_get_video_ptr): ... this. All users updated.
27657 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27659 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27661 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27662 grub_dprintf() that was just added.
27664 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27666 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27667 (DEFAULT_VIDEO_MODE): Remove macros.
27668 (grub_linux_boot): Remove assumption that Linux has FB support,
27669 and use "text" as default video mode.
27671 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27673 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27675 * fs/fat.c (grub_fat_read_data): Likewise.
27677 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27679 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27681 (grub_module): Likewise.
27683 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27685 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27686 mbi->cmdline but free playground.
27688 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27690 Handle group offset on UFS1.
27692 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27693 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27695 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27697 Split ufs.mod into ufs1.mod and ufs2.mod.
27699 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27700 (grub_fstest_SOURCES): Likewise.
27701 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27702 (ufs_mod_SOURCES): Remove.
27703 (ufs_mod_CFLAGS): Likewise.
27704 (ufs_mod_LDFLAGS): Likewise.
27705 (ufs1_mod_SOURCES): New variable.
27706 (ufs1_mod_CFLAGS): Likewise.
27707 (ufs1_mod_LDFLAGS): Likewise.
27708 (ufs2_mod_SOURCES): New variable.
27709 (ufs2_mod_CFLAGS): Likewise.
27710 (ufs2_mod_LDFLAGS): Likewise.
27711 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27712 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27714 (grub_emu_SOURCES): Likewise.
27715 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27716 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27717 (grub_setup_SOURCES): Likewise.
27718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27719 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27720 (grub_setup_SOURCES): Likewise.
27721 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27723 * fs/ufs2.c: New file.
27724 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27726 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27730 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27731 subsystem at the end.
27732 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27733 (video_fb_mod_SOURCES): New variable.
27734 (video_fb_mod_CFLAGS): Likewise.
27735 (video_fb_mod_LDFLAGS): Likewise.
27736 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27737 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27738 * video/i386/pc/vbeblit.c: Moved from here ...
27739 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27740 * video/i386/pc/vbefill.c: Moved from here ...
27741 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27742 * video/i386/pc/vbeutil.c: Moved from here ...
27743 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27744 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27745 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27746 * include/grub/i386/pc/vbefill.h: Moved from here ...
27747 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27748 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27749 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27750 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27751 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27752 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27753 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27754 (grub_video_adapter): Added 'get_info_and_fini'.
27755 (grub_video_get_info_and_fini): New prototype.
27756 (grub_video_set_mode): make modestring const char *.
27757 * loader/i386/linux.c (grub_linux_setup_video): Use
27758 grub_video_get_info_and_fini.
27759 (grub_linux_boot): Move modesetting just before booting.
27760 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27761 grub_video_get_info_and_fini.
27762 * video/i386/pc/vbe.c: Moved framebuffer part ...
27763 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27764 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27765 grub_video_fbstd_colors and grub_video_fb_set_palette.
27766 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27767 grub_video_fb_init.
27768 (grub_video_vbe_fini): Use grub_video_fb_fini.
27769 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27770 render_target and use grub_video_fb_set_active_render_target and
27771 grub_video_fb_set_palette.
27772 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27773 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27774 (grub_video_vbe_adapter): Use framebuffer.
27775 * video/video.c (grub_video_get_info_and_fini): New function.
27776 (grub_video_set_mode): Make modestring const char *.
27777 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27778 values are already initialised.
27780 2009-08-14 Pavel Roskin <proski@gnu.org>
27782 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27784 * boot/i386/pc/diskboot.S: Likewise.
27785 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27786 sectors allow compilation on MacOSX.
27787 * conf/i386-pc.rmk: Enable unconditional compilation of
27790 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
27792 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27793 * util/grub.d/00_header.in: Enter interruptible sleep if
27794 GRUB_HIDDEN_TIMEOUT is set.
27796 2009-08-13 Yves Blusseau <blusseau@zetam.org>
27798 * include/grub/symbol.h: Add the LOCAL macro.
27799 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27800 starting with "L_".
27802 2009-08-13 Pavel Roskin <proski@gnu.org>
27804 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27805 any modern compilers we support.
27807 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27808 Use local labels starting with "L_" so that Apple assembler
27809 knows they are local.
27811 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27813 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27814 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27815 (bsd_kernel_types): ... this enum.
27817 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27818 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27819 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27821 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27822 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27823 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27826 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27828 * util/grub-dumpdevtree: Moved from here ...
27829 * util/i386/efi/grub-dumpdevtree: ... to here.
27830 (hexify): New function. Converts a string to its hex version.
27831 Generate hex versions of "efi" and "device-properties" by calling
27832 hexify() on the ASCII strings rather than by hardcoding numbers.
27834 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27836 * fs/jfs.c: Update copyright year.
27838 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27840 * util/grub.d/00_header.in: Fix a comment.
27841 * util/grub.d/10_linux.in: Likewise.
27842 * util/grub.d/10_windows.in: Likewise.
27843 * util/grub.d/10_hurd.in: Likewise.
27845 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27847 * util/grub-mkconfig.in: Allow the user to specify the used font
27850 2009-08-08 Pavel Roskin <proski@gnu.org>
27852 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27853 available, xfs.mod needs it now.
27855 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27856 the "g" modifier in sed when the intention is to strip something
27857 once. This fixes comparison of kernels with multiple dashes.
27859 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27860 on it. Add missing space before closing bracket. Fix
27861 misleading formatting.
27863 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27865 * docs/grub.texi: Major overhaul. Remove all sections that are
27866 specific to GRUB Legacy, or mostly composed of Legacy-specific
27869 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27871 * docs/version.texi: New file. Provides version information for
27874 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27876 * docs/grub.texi: Update CVS information to SVN.
27877 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27879 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27881 * util/grub-mkconfig.in: Remove a wrong `fi'.
27883 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27885 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27886 (grub_jfs_uuid): New function.
27887 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27889 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27891 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27893 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27894 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27896 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27898 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27899 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27902 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27903 not just "vmlinu[zx]".
27904 Moved from here ...
27905 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27908 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27909 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27912 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27914 * util/grub.d/10_freebsd.in: Use an absolute device path for
27915 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
27917 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
27919 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
27920 handling of multiple abstraction modules.
27922 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
27924 Fix a bug resulting in black screen when loading Linux using a
27927 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
27930 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
27931 (grub_vbe_bios_getset_dac_palette_width): New function.
27932 (grub_vbe_bios_get_dac_palette_width)
27933 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
27934 grub_vbe_bios_getset_dac_palette_width()).
27936 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
27937 check for return status.
27938 (grub_vbe_get_video_mode_info): When getting information for a packed
27939 mode (<= 8 bpp), obtain DAC palette width using
27940 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
27941 {red,green,blue}_mark_size.
27943 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
27945 * commands/search.c (options): Fix help output to match actual code.
27947 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
27949 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
27952 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27954 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
27955 on XFS or ReiserFS.
27957 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27959 Support Apple partition map with sector size different from 512 bytes.
27961 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
27962 (apple_partition_map_iterate): Respect 'aheader.blocksize'
27963 and 'apart.partmap_size'.
27965 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27966 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
27970 * commands/i386/cpuid.c (options): New variable.
27971 (grub_cmd_cpuid): Return real error.
27972 (GRUB_MOD_INIT(cpuid)): Declare options.
27974 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
27976 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
27979 2009-07-31 Bean <bean123ch@gmail.com>
27981 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
27983 (grub_fshelp_node): Move inode field to the end.
27984 (grub_xfs_data): Remove inode field.
27985 (grub_xfs_inode_block): Calculate inode size using sblock.
27986 (grub_xfs_inode_offset): Likewise.
27987 (grub_xfs_read_inode): Calculate inode size using sblock.
27988 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
27989 (grub_xfs_iterate_dir): Calculate inode size using sblock.
27990 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
27991 to match inode size.
27992 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
27993 not accessible when data is null.
27994 (grub_xfs_open): Likewise.
27996 2009-07-31 Bean <bean123ch@gmail.com>
27998 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
27999 Don't change pv->disk if it's already set.
28001 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28002 (grub_raid_register): ... here.
28003 (grub_raid_rescan): Removed.
28005 * include/grub/raid.h (grub_raid_rescan): Removed.
28007 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28008 (fstest): Replace grub_raid_rescan with module fini function followed
28011 * util/grub-probe.c: Add include file <grub/raid.h>.
28012 (probe_raid_level): New function.
28013 (probe): Detect abstraction by walking the disk device, support two
28014 level of abstraction (LVM on RAID) when detecting partition map.
28016 2009-07-31 Pavel Roskin <proski@gnu.org>
28018 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28019 to grub_zalloc(), it was erroneous.
28020 Reported by Bean <bean123ch@gmail.com>
28022 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28024 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
28025 embedding zone, not only the first one.
28027 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
28029 * term/gfxterm.c (clear_char): New function.
28030 (grub_virtual_screen_setup): Use clear_char.
28031 (scroll_up): Likewise.
28032 (grub_virtual_screen_cls): Likewise.
28034 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
28036 * util/deviceiter.c (get_acceleraid_disk_name): New static
28038 (grub_util_iterate_devices): Handle Accelraid devices.
28039 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28041 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28043 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28044 separator for the suggested gfxpayload string (';' collides with the
28045 parser and needs escaping).
28047 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28049 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28050 Clear direction flag before jumping to OS.
28051 (grub_multiboot2_real_boot): Likewise.
28053 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28055 * util/i386/pc/grub-install: Fix parsing of --disk-module
28058 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28060 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28063 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
28065 * util/grub-mkconfig.in (package_version): New variable.
28066 Use it do display the version.
28068 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28070 * kern/file.c (grub_file_open): Revert to previous check with
28073 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28075 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28076 from help line. It's out of sync with code.
28078 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28080 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28081 entries on failed boot.
28083 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28085 * kern/file.c (grub_file_open): Fix an error check.
28087 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28089 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28090 partition map couldn't be identified.
28092 2009-07-23 Pavel Roskin <proski@gnu.org>
28094 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28095 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28096 case of little endian words becomes just an optimization.
28097 Respect const modifier.
28098 (md5_final): Use code that doesn't depend on endianness.
28100 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28101 to avoid loss of upper bits if align is unsigned and shorter
28104 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28106 UUID support for UFS
28108 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28109 (grub_ufs_uuid): New function.
28110 (grub_ufs_fs): add .uuid
28112 2009-07-21 Pavel Roskin <proski@gnu.org>
28114 * kern/dl.c (grub_dl_check_header): Make static.
28116 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
28118 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28119 add drivemap for Vista. It breaks Windows 7.
28121 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28123 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28126 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28130 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28131 (grub_fstest_SOURCES): Likewise.
28132 (pkglib_MODULES): Add befs.mod.
28133 (befs_mod_SOURCES): New variable.
28134 (befs_mod_CFLAGS): Likewise.
28135 (befs_mod_LDFLAGS): Likewise.
28136 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28137 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28138 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28139 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28140 (grub_setup_SOURCES): Likewise.
28141 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28142 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28143 (grub_setup_SOURCES): Likewise.
28144 * fs/befs.c: New file.
28145 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28146 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28147 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28148 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28149 (B_KEY_INDEX_ALIGN): New declaration.
28150 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28151 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28152 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28153 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28154 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28155 (grub_afs_mount) [MODE_BFS]: Likewise.
28156 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28157 (grub_afs_fs): Use GRUB_AFS_FSNAME
28158 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28159 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28160 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28161 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28163 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28165 * util/getroot.c (find_root_device): Add support for MacOSX.
28166 * util/hostdisk.c: Likewise.
28168 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28170 * font/font.c (find_glyph): Check whether a font is present to avoid
28171 segmentation fault.
28173 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
28175 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28177 2009-07-20 Pavel Roskin <proski@gnu.org>
28179 * configure.ac: Trim excessively wordy excuses.
28181 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28183 Add symlink, mtime and label support to AtheFS.
28185 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28186 (grub_afs_iterate_dir): Handle symlinks.
28187 (grub_afs_open): Use grub_afs_read_symlink.
28188 (grub_afs_dir): Likewise.
28190 (grub_afs_label): New function.
28191 (grub_afs_fs): Add grub_afs_label.
28192 (grub_afs_read_symlink): New function.
28194 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28196 Fix AtheFS support.
28198 * fs/afs.c: Fix comments style.
28199 (grub_afs_blockrun): Declare as packed.
28200 (grub_afs_datastream): Likewise.
28201 (grub_afs_bnode): Likewise.
28202 (grub_afs_btree): Likewise.
28203 (grub_afs_sblock): Likewise.
28204 Declare `name' as char.
28205 (grub_afs_inode): Declare as packed.
28206 Change void *vnode to grub_uint32_t unused.
28207 (grub_afs_iterate_dir): Check that key_size is positive.
28208 (grub_afs_mount): Don't read superblock twice.
28209 (grub_afs_dir): Don't free node in case of error,
28210 grub_fshelp_find_file already handles this.
28211 (grub_afs_open): Likewise.
28213 2009-07-19 Pavel Roskin <proski@gnu.org>
28215 * Makefile.in: Remove LIBLZO and enable_lzo.
28216 * conf/i386-pc.rmk: Remove lzo support.
28217 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28218 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28220 * kern/i386/pc/lzo1x.S: Remove.
28221 * kern/i386/pc/startup.S: Remove lzo support.
28222 * util/i386/pc/grub-mkimage.c: Likewise.
28224 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28226 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28227 * fs/xfs.c (grub_xfs_dir): Likewise.
28228 * fs/afs.c (grub_afs_dir): Likewise.
28229 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28230 (grub_iso9660_open): Likewise.
28231 * fs/jfs.c (grub_jfs_open): Likewise.
28232 * fs/ext2.c (grub_ext2_dir): Likewise.
28233 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28234 * script/sh/lexer.c (grub_script_yylex): Likewise.
28236 2009-07-16 Pavel Roskin <proski@gnu.org>
28238 * configure.ac: Never add "-c" to CFLAGS.
28240 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28242 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28243 grub_cv_cc_efiemu should be used.
28245 * configure.ac: Typo fixes.
28247 * kern/mm.c (grub_zalloc): New function.
28248 (grub_debug_zalloc): Likewise.
28249 * include/grub/mm.h: Declare grub_zalloc() and
28250 grub_debug_zalloc().
28251 * util/misc.c (grub_zalloc): New function.
28252 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28253 instead of grub_malloc(), remove unneeded initializations.
28254 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28255 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28256 * commands/parttool.c (grub_cmd_parttool): Likewise.
28257 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28258 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28259 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28260 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28261 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28262 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28263 (grub_cmd_efiemu_pnvram): Likewise.
28264 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28265 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28266 (grub_iso9660_iterate_dir): Likewise.
28267 * fs/jfs.c (grub_jfs_opendir): Likewise.
28268 * fs/ntfs.c (list_file): Likewise.
28269 (grub_ntfs_mount): Likewise.
28270 * kern/disk.c (grub_disk_open): Likewise.
28271 * kern/dl.c (grub_dl_load_core): Likewise.
28272 * kern/elf.c (grub_elf_file): Likewise.
28273 * kern/env.c (grub_env_context_open): Likewise.
28274 (grub_env_set): Likewise.
28275 (grub_env_set_data_slot): Likewise.
28276 * kern/file.c (grub_file_open): Likewise.
28277 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28278 * loader/i386/multiboot.c (grub_module): Likewise.
28279 * loader/xnu.c (grub_xnu_create_key): Likewise.
28280 (grub_xnu_create_value): Likewise.
28281 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28282 (read_config_file): Likewise.
28283 * normal/menu_entry.c (make_screen): Likewise.
28284 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28285 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28286 * script/sh/script.c (grub_script_parse): Likewise.
28287 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28288 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28289 * video/readers/png.c (grub_png_output_byte): Likewise.
28290 (grub_video_reader_png): Likewise.
28292 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28294 Enable all targets that can be built by default
28296 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
28297 grub-mkfont and grub-fstest if they can be built
28299 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28301 Fix hang and segmentation fault in grub-emu-usb
28303 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28304 * util/usb.c (grub_libusb_devices): likewise
28305 (grub_libusb_init): rename to ...
28306 (GRUB_MOD_INIT (libusb)):...this
28307 (grub_libusb_fini): rename to ..
28308 (GRUB_MOD_FINI (libusb)):...this
28309 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28310 * include/grub/disk.h (grub_raid_init): removed, it's useless
28311 (grub_raid_fini): likewise
28312 (grub_lvm_init): likewise
28313 (grub_lvm_fini): likewise
28314 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28317 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28321 * Makefile.in (LIBUSB): new macro
28322 * genmk.rb (Utility/print_tail): new method
28323 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28324 (top level): call util.print_tail at the end.
28326 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28328 Make FreeBSD accept zpool.cache
28330 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28331 type is /boot/zfs/zpool.cache
28333 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28337 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28338 correct wrong typedef
28339 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28341 2009-07-15 Pavel Roskin <proski@gnu.org>
28343 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28344 * kern/disk.c (struct grub_disk_cache): Likewise.
28346 * commands/probe.c (options): Typo fix.
28348 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28349 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28351 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28353 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28354 the end of "Error" to make the message more readable.
28356 * boot/i386/pc/boot.S (kernel_segment): Remove.
28357 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28360 * boot/i386/pc/boot.S (boot_version): Remove.
28361 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28364 * include/grub/i386/pc/boot.h: Sort all offsets.
28365 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28366 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28367 * boot/i386/pc/boot.S: Assert location of every offset listed in
28368 include/grub/i386/pc/boot.h.
28370 2009-07-13 Pavel Roskin <proski@gnu.org>
28372 * include/grub/i386/coreboot/machine.h: Rename
28373 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28374 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28375 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28377 * kern/dl.c: Force native word size to suppress warnings when
28378 compiling grub-emu.
28380 * kern/device.c (grub_device_iterate): Change struct part_ent to
28381 hold the name, not a pointer to it. Use one grub_malloc() per
28382 partition, not two. Free partition_name if grub_malloc() fails.
28383 Set ents to NULL only before grub_partition_iterate() is called.
28385 2009-07-11 Bean <bean123ch@gmail.com>
28387 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28390 2009-07-10 Bean <bean123ch@gmail.com>
28391 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28393 * kern/ieee1275/openfw.c (grub_children_iterate)
28394 (grub_devalias_iterate): Fix size evaluation for property or path
28395 strings, which was broken since r2132.
28397 2009-07-07 Pavel Roskin <proski@gnu.org>
28399 * commands/search.c (search_file): Merge into ...
28400 (search_fs): ... this. Accept search type as argument.
28401 (grub_cmd_search): Pass search type to search_fs().
28403 * include/grub/util/console.h: New file.
28404 * util/console.c: Use it instead of grub/machine/console.h.
28405 * util/grub-emu.c: Likewise.
28407 * lib/arg.c (find_long_option): Remove.
28408 (find_long): Add `len' argument, make `s' const char *.
28409 (grub_arg_parse): Parse long options in place, not in a
28412 2009-07-06 Pavel Roskin <proski@gnu.org>
28414 * commands/search.c (search_fs): Fix potential NULL pointer
28417 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28420 2009-07-06 Daniel Mierswa <impulze@impulze.org>
28422 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28425 2009-07-05 Pavel Roskin <proski@gnu.org>
28427 * include/grub/i386/linux.h (struct linux_kernel_params):
28428 Restore padding3, it's still needed.
28430 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28432 * util/osdetect.lua: Likewise.
28434 2009-07-05 Bean <bean123ch@gmail.com>
28436 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28438 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28439 (grub_lua_getenv): Likewise.
28440 (grub_lua_setenv): Likewise.
28441 (save_errno): New function.
28442 (push_result): Likewise.
28443 (grub_lua_enum_device): Likewise.
28444 (grub_lua_enum_file): Likewise.
28445 (grub_lua_file_open): Likewise.
28446 (grub_lua_file_close): Likewise.
28447 (grub_lua_file_seek): Likewise.
28448 (grub_lua_file_read): Likewise.
28449 (grub_lua_file_getline): Likewise.
28450 (grub_lua_file_getsize): Likewise.
28451 (grub_lua_file_getpos): Likewise.
28452 (grub_lua_file_eof): Likewise.
28453 (grub_lua_file_exist): Likewise.
28454 (grub_lua_add_menu): Likewise.
28456 * script/lua/grub_lua.h (isupper): New inline function.
28457 (islower): Likewise.
28458 (ispunct): Likewise.
28459 (isxdigit): Likewise.
28460 (strcspn): Change to normal function.
28461 (strpbkr): New function declaration.
28462 (memchr): Likewise.
28464 * script/lua/grub_main.c (scan_str): New function.
28465 (strcspn): Likewise.
28466 (strpbrk): Likewise.
28467 (memchr): Likewise.
28469 * script/lua/linit.c (lualibs): Enable the string library.
28471 * util/osdetect.lua: New file.
28473 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28475 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28476 `capabilities' member.
28478 2009-07-02 Pavel Roskin <proski@gnu.org>
28480 * genparttoollist.sh: Add missing newline at the end.
28482 2009-07-01 Pavel Roskin <proski@gnu.org>
28484 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28486 * util/hostdisk.c (open_device): Remove `const' from
28487 `sysctl_size', as sysctlbyname() can change it (in this case it
28488 doesn't actually happen).
28490 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28491 using signed long int constants.
28493 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28494 constant to avoid a warning on FreeBSD.
28496 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28499 * Makefile.in: Install include/grub/machine symlink.
28501 * Makefile.in: When installing symlinks, use "cp -fR", which
28502 works on FreeBSD and MacOSX.
28503 From Yves Blusseau <cl7m42e02@sneakemail.com>
28505 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28506 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28508 * util/misc.c: Move grub_reboot() and grub_halt() ...
28509 * util/grub-emu.c: ... here. Make main_env static.
28510 * include/grub/util/misc.h: Remove main_env.
28512 * kern/mm.c: Use correct format to print size_t.
28514 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28515 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28516 * kern/powerpc/dl.c: Likewise.
28517 * kern/sparc64/dl.c: Likewise.
28518 * kern/x86_64/dl.c: Likewise.
28520 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28522 Fix grub-emu build on sparc64-ieee1275.
28524 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
28525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28527 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28529 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28530 (grub_reboot, grub_halt): New functions.
28532 * util/i386/pc/misc.c: Delete. Update all users.
28533 * util/sparc64/ieee1275/misc.c: Likewise.
28534 * util/powerpc/ieee1275/misc.c: Likewise.
28536 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28538 * conf/i386.rmk (setjmp_mod_SOURCES)
28539 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28540 * conf/common.rmk (setjmp_mod_SOURCES)
28541 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28542 to use $(target_cpu).
28543 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28544 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28545 * conf/powerpc-ieee1275.rmk: Likewise.
28546 * conf/sparc64-ieee1275.rmk: Likewise.
28548 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28549 $(target_cpu) for kern/$(target_cpu)/dl.c.
28550 * conf/i386-efi.rmk: Likewise.
28551 * conf/i386-ieee1275.rmk: Likewise.
28552 * conf/x86_64-efi.rmk: Likewise.
28553 * conf/i386-coreboot.rmk: Likewise.
28554 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28555 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28556 kern/$(target_cpu)/cache.S.
28557 * conf/sparc64-ieee1275.rmk: Likewise.
28559 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28561 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28562 type to `grub_uint8_t', and adjust `padding9' accordingly.
28564 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28566 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28568 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28569 assembly in final jump, using register constraints.
28571 (grub_linux_boot): For text mode, initialize `have_vga' using
28572 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28574 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28575 right before the final jump.
28577 Set `video_mode' to 0x3.
28579 Document initialization of `video_page', `video_mode' and
28582 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28584 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28585 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
28586 and set GRUB_LINUX_FLAG_QUIET appropriately.
28588 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28590 Fix build on Debian / sparc.
28592 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28594 2009-06-28 Pavel Roskin <proski@gnu.org>
28596 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28599 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28601 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28603 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28606 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28610 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28611 file can't be opened. grub_file_open() is already supposed to set
28612 grub_errno / grub_errmsg appropriately.
28613 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28615 2009-06-27 Pavel Roskin <proski@gnu.org>
28616 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28618 * include/grub/dl.h: Include grub/elf.h.
28619 (struct grub_dl): Add symtab field.
28620 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28621 GRUB_MODULES_MACHINE_READONLY.
28622 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28623 of the header for read-only modules.
28624 (grub_dl_unload): Free mod->symtab for read-only modules.
28625 * kern/i386/dl.c: Use mod->symtab.
28626 * kern/powerpc/dl.c: Likewise.
28627 * kern/sparc64/dl.c: Likewise.
28628 * kern/x86_64/dl.c: Likewise.
28630 * conf/i386-qemu.rmk: New file.
28631 * kern/i386/qemu/startup.S: Likewise.
28632 * kern/i386/qemu/mmap.c: Likewise.
28633 * boot/i386/qemu/boot.S: Likewise.
28634 * include/grub/i386/qemu/time.h: Likewise.
28635 * include/grub/i386/qemu/serial.h: Likewise.
28636 * include/grub/i386/qemu/kernel.h: Likewise.
28637 * include/grub/i386/qemu/console.h: Likewise.
28638 * include/grub/i386/qemu/boot.h: Likewise.
28639 * include/grub/i386/qemu/init.h: Likewise.
28640 * include/grub/i386/qemu/machine.h: Likewise.
28641 * include/grub/i386/qemu/loader.h: Likewise.
28642 * include/grub/i386/qemu/memory.h: Likewise.
28644 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28645 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28646 [qemu] (pkglib_IMAGES): Add `boot.img'.
28647 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28648 [qemu] (boot_img_FORMAT): New variables.
28649 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28650 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28651 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28652 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28653 [qemu] (kernel_img_FORMAT): New variables.
28655 * configure.ac: Recognise `i386-qemu'.
28657 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28658 (for no compression).
28659 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28660 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28661 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28662 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28665 2009-06-27 Pavel Roskin <proski@gnu.org>
28667 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28669 * efiemu/prepare32.c: Likewise.
28670 * efiemu/prepare64.c: Likewise.
28672 2009-06-26 Pavel Roskin <proski@gnu.org>
28674 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28675 * include/grub/elf.h: Define symbols without "32" or "64" based
28676 on GRUB_TARGET_WORDSIZE.
28677 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28678 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28680 * efiemu/loadcore64.c: Likewise.
28681 * loader/i386/bsd32.c: Likewise.
28682 * loader/i386/bsd64.c: Likewise.
28683 * kern/dl.c: Remove own ELF definitions.
28684 * util/i386/efi/grub-mkimage.c: Likewise.
28686 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28688 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28689 segment 0x0 unconditionally, because the reference generated by
28690 GAS is an absolute address.
28692 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28694 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28695 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28697 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28699 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28700 indexes. Check for -f explicitly.
28701 (search_file): Improve error message.
28702 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
28704 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28706 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28707 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28709 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28711 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28712 * conf/i386-ieee1275.rmk: Likewise.
28713 * conf/i386-coreboot.rmk: Likewise.
28715 * kern/i386/pc/startup.S (grub_stop): Remove function.
28716 * kern/i386/ieee1275/startup.S: Likewise.
28717 * kern/i386/coreboot/startup.S: Likewise.
28718 * kern/i386/misc.S (grub_stop): New function.
28720 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28722 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28723 * kern/i386/realmode.S (real_to_prot): ... to here.
28725 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28727 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28729 (kernel_elf_SOURCES): Rename to ...
28730 (kernel_img_SOURCES): ... this.
28731 (kernel_elf_HEADERS): Rename to ...
28732 (kernel_img_HEADERS): ... this. Update all users.
28733 (kernel_elf_ASFLAGS): Rename to ...
28734 (kernel_img_ASFLAGS): ... this.
28735 (kernel_elf_CFLAGS): Rename to ...
28736 (kernel_img_CFLAGS): ... this.
28737 (kernel_elf_LDFLAGS): Rename to ...
28738 (kernel_img_LDFLAGS): ... this.
28739 * conf/i386-coreboot.rmk: Likewise.
28740 * conf/powerpc-ieee1275.rmk: Likewise.
28742 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28745 2009-06-21 Pavel Roskin <proski@gnu.org>
28747 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28748 to match nested functions.
28749 * loader/sparc64/ieee1275/linux.c: Likewise.
28751 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28753 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28755 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28756 all i386 platforms.
28758 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28760 Fix asm file handling on ELF, and remove workarounds.
28762 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
28763 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
28764 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28765 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28767 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28769 Load BSD ELF modules
28771 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28772 and loader/i386/bsd64.c
28773 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28774 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28775 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28776 (grub_freebsd_load_elfmodule32): New declaration
28777 (grub_freebsd_load_elfmoduleobj64): Likewise
28778 (grub_freebsd_load_elf_meta32): Likewise
28779 (grub_freebsd_load_elf_meta64): Likewise
28780 (grub_freebsd_add_meta): Likewise
28781 (grub_freebsd_add_meta_module): Likewise
28782 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28783 (grub_freebsd_add_meta_module): Likewise and move module-specific
28784 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28785 (grub_cmd_freebsd): Add elf-kernel specific parts
28786 based on grub_freebsd_add_meta_module
28787 (grub_cmd_freebsd_module): Add type parsing moved from
28788 grub_freebsd_add_meta_module
28789 (grub_cmd_freebsd_module_elf): New function
28790 (cmd_freebsd_module_elf): New variable
28791 (GRUB_MOD_INIT): Register freebsd_module_elf
28792 * loader/i386/bsd32.c: New file
28793 * loader/i386/bsd64.c: Likewise
28794 * loader/i386/bsdXX.c: Likewise
28795 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28796 (grub_elf64_load): Likewise
28797 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28799 (grub_elf64_load_hook_t): Likewise
28801 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
28803 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28805 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28806 don't write a menu entry for recovery mode.
28808 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28810 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28811 after it's no longer needed.
28813 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28815 * include/grub/i386/loader.h (grub_linux_prot_size)
28816 (grub_linux_tmp_addr, grub_linux_real_addr)
28817 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28818 GRUB_MACHINE_PCBIOS.
28819 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28820 common grub_util_info() call to ...
28821 (generate_image): ... here.
28822 Fix use of uninitialized memory, comparison of signed with
28823 unsigned integers and memory leak.
28824 Remove bogus module address message.
28826 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28828 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28830 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28832 2009-06-19 Pavel Roskin <proski@gnu.org>
28834 * configure.ac: Remove stray AC_MSG_CHECKING.
28836 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28838 * disk/scsi.c (grub_scsi_open): use continue instead of big if
28840 2009-06-18 Pavel Roskin <proski@gnu.org>
28842 * conf/common.rmk: Add fs_file.mod.
28843 * disk/fs_file.c: New file.
28844 * include/grub/disk.h (enum grub_disk_dev_id): Add
28845 GRUB_DISK_DEVICE_FILE_ID.
28847 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28849 Fix build with Apple's toolchain. Part 2
28851 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28854 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28856 Fix build with Apple's toolchain. Part 1
28858 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28860 * configure.ac: remove a leftover AC_MSG_RESULT
28861 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
28864 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28868 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28869 (decomp_block): initialize ch
28870 use grub_memcpy instead of memcpy
28872 2009-06-17 Pavel Roskin <proski@gnu.org>
28874 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28875 version, use declarations needed to use vga_text as the startup
28878 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28879 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28881 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28882 and grub_at_keyboard_fini(), it's done on module load and
28885 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
28887 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28888 file can't be found.
28889 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28891 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28893 Fix newline handling
28895 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
28896 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
28897 (grub_script_yylex): don't segfault on unterminated script
28898 newline terminates command and variable
28900 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28902 avoid double grub_adjust_range call. Bug reported by David Simner
28904 * kern/disk.c (grub_disk_write): change to raw disk access before
28907 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
28909 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28910 spaces, for the benefit of help2man.
28911 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28913 2009-06-16 Pavel Roskin <proski@gnu.org>
28915 * kern/i386/halt.c: Include grub/machine/init.h.
28916 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
28918 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
28920 * util/grub.d/30_os-prober.in: Use ${root} in the generated
28921 drivemap menuentry.
28923 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
28925 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
28928 2009-06-16 Pavel Roskin <proski@gnu.org>
28930 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
28931 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
28932 save %dx, we only need %dl and we never change it.
28933 * boot/i386/pc/cdboot.S: Don't set the root drive.
28934 * boot/i386/pc/pxeboot.S: Likewise.
28935 * include/grub/i386/pc/boot.h: Remove
28936 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
28937 GRUB_BOOT_MACHINE_DRIVE_CHECK.
28938 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
28939 * kern/i386/pc/init.c (make_install_device): Remove references
28940 to grub_root_drive.
28941 * kern/i386/pc/startup.S: Likewise.
28942 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
28944 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28948 * commands/xnu_uuid.c: new file
28949 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
28950 (xnu_uuid_mod_SOURCES): new variable
28951 (xnu_uuid_mod_CFLAGS): likewise
28952 (xnu_uuid_mod_LDFLAGS): likewise
28953 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28954 * conf/i386-ieee1275.rmk: likewise
28955 * conf/i386-pc.rmk: likewise
28956 * conf/powerpc-ieee1275.rmk: likewise
28957 * conf/sparc64-ieee1275.rmk: likewise
28958 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
28960 2009-06-16 Pavel Roskin <proski@gnu.org>
28962 * configure.ac: Avoid '==' in test command, it's not portable.
28964 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28968 * commands/probe.c: new file
28969 * conf/common.rmk (pkglib_MODULES): add probe.mod
28970 (probe_mod_SOURCES): new variable
28971 (probe_mod_CFLAGS): likewise
28972 (probe_mod_LDFLAGS): likewise
28973 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28974 * conf/i386-ieee1275.rmk: likewise
28975 * conf/i386-pc.rmk: likewise
28976 * conf/powerpc-ieee1275.rmk: likewise
28977 * conf/sparc64-ieee1275.rmk: likewise
28979 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
28981 Fix handling of string like \"hello\" and "a
28984 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
28985 (grub_script_yylex): fix parsing of quoting, escaping and newline
28987 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
28989 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
28992 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
28994 * util/grub-mkconfig.in: Fix parsing of --output option.
28996 2009-06-12 Pavel Roskin <proski@gnu.org>
28998 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
28999 genmk.rb don't need to be generated or installed.
29001 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29003 * commands/i386/pc/drivemap_int13h.S: add more comments
29005 2009-06-11 Pavel Roskin <proski@gnu.org>
29007 * Makefile.in (uninstall): Uninstall manuals.
29009 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29010 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29011 and update-grub_lib in two places.
29012 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29014 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29015 a compiler warning.
29017 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29018 `entry_lo' to fix variable shadowing.
29020 2009-06-11 Christian Franke <franke@computer.org>
29022 * kern/misc.c (__enable_execute_stack): Add missing return type
29023 to prevent gcc warning.
29025 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29027 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29029 2009-06-11 Pavel Roskin <proski@gnu.org>
29031 * Makefile.in: Don't rely on any scripts being executable.
29032 Always use $(SHELL) to run shell scripts.
29034 * configure.ac: Always define ___main if using -nostdlib. This
29035 fixes tests on Cygwin.
29037 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29041 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
29042 is in bytes and not in blocks
29044 2009-06-11 Pavel Roskin <proski@gnu.org>
29046 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29049 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29051 * util/grub.d/30_os-prober.in: Fix a comment. Source
29052 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29053 to set the root device. Place drivemap command in the generated
29056 2009-06-11 Pavel Roskin <proski@gnu.org>
29058 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29059 have long been resolved.
29061 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
29063 * util/grub.d/10_linux.in: Capitalise "Linux".
29065 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29067 2009-06-11 Pavel Roskin <proski@gnu.org>
29069 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29070 fix a gcc warning and ensure that the function won't ever exit.
29072 * kern/i386/ieee1275/init.c: Add missing prototype for
29073 grub_stop_floppy().
29075 * loader/ieee1275/multiboot2.c [__i386__]: Include
29076 grub/cpu/multiboot.h.
29078 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29079 casts to short - they are not portable and cause warnings. Fix
29080 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29082 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29086 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29088 (grub_get_root_biosnumber_saved): new variable
29089 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29090 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
29091 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
29092 %dx after the call if necessary
29093 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29094 (boot_mod_SOURCES): remove
29095 (boot_mod_CFLAGS): remove
29096 (boot_mod_LDFLAGS): remove
29097 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29098 (boot_mod_SOURCES): new variable
29099 (boot_mod_CFLAGS): likewise
29100 (boot_mod_LDFLAGS): likewise
29101 * conf/i386-efi.rmk: likewise
29102 * conf/i386-ieee1275.rmk: likewise
29103 * conf/i386-pc.rmk: likewise
29104 * conf/powerpc-ieee1275.rmk: likewise
29105 * conf/sparc64-ieee1275.rmk: likewise
29106 * conf/x86_64-efi.rmk: likewise
29107 * include/grub/i386/pc/biosnum.h: new file
29108 * lib/i386/pc/biosnum.c: likewise
29109 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29110 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29111 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
29113 2009-06-10 Pavel Roskin <proski@gnu.org>
29115 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29116 Use separate variables. Read only the file size at the end, but
29117 not the checksum that we don't use.
29119 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29120 Adjust all callers.
29122 * kern/ieee1275/openfw.c: Remove libc includes.
29123 * kern/ieee1275/cmain.c: Likewise.
29124 * include/grub/ieee1275/ieee1275.h: Likewise.
29126 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29129 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29131 * Makefile.in: Remove all trailing whitespace.
29132 * conf/i386-pc.rmk: Likewise.
29133 * conf/powerpc-ieee1275.rmk: Likewise.
29134 * conf/sparc64-ieee1275.rmk: Likewise.
29135 * docs/grub.texi: Likewise.
29136 * docs/texinfo.tex: Likewise.
29137 * disk/fs_uuid.c: Likewise.
29138 * disk/lvm.c: Likewise.
29139 * disk/scsi.c: Likewise.
29140 * disk/ata.c: Likewise.
29141 * disk/ieee1275/ofdisk.c: Likewise.
29142 * disk/i386/pc/biosdisk.c: Likewise.
29143 * disk/host.c: Likewise.
29144 * disk/raid.c: Likewise.
29145 * disk/efi/efidisk.c: Likewise.
29146 * disk/usbms.c: Likewise.
29147 * disk/memdisk.c: Likewise.
29148 * disk/loopback.c: Likewise.
29149 * kern/powerpc/dl.c: Likewise.
29150 * kern/device.c: Likewise.
29151 * kern/dl.c: Likewise.
29152 * kern/sparc64/dl.c: Likewise.
29153 * kern/ieee1275/ieee1275.c: Likewise.
29154 * kern/term.c: Likewise.
29155 * kern/fs.c: Likewise.
29156 * kern/i386/dl.c: Likewise.
29157 * kern/i386/pc/startup.S: Likewise.
29158 * kern/i386/pc/init.c: Likewise.
29159 * kern/i386/pc/mmap.c: Likewise.
29160 * kern/i386/pc/lzo1x.S: Likewise.
29161 * kern/i386/ieee1275/init.c: Likewise.
29162 * kern/i386/realmode.S: Likewise.
29163 * kern/i386/tsc.c: Likewise.
29164 * kern/partition.c: Likewise.
29165 * kern/corecmd.c: Likewise.
29166 * kern/file.c: Likewise.
29167 * kern/efi/efi.c: Likewise.
29168 * kern/efi/init.c: Likewise.
29169 * kern/efi/mm.c: Likewise.
29170 * kern/main.c: Likewise.
29171 * kern/err.c: Likewise.
29172 * kern/env.c: Likewise.
29173 * kern/disk.c: Likewise.
29174 * kern/generic/millisleep.c: Likewise.
29175 * kern/generic/rtc_get_time_ms.c: Likewise.
29176 * kern/misc.c: Likewise.
29177 * kern/parser.c: Likewise.
29178 * genmk.rb: Likewise.
29179 * configure.ac: Likewise.
29180 * boot/i386/pc/diskboot.S: Likewise.
29181 * boot/i386/pc/pxeboot.S: Likewise.
29182 * boot/i386/pc/boot.S: Likewise.
29183 * boot/i386/pc/lnxboot.S: Likewise.
29184 * boot/i386/pc/cdboot.S: Likewise.
29185 * parttool/pcpart.c: Likewise.
29186 * video/readers/tga.c: Likewise.
29187 * video/video.c: Likewise.
29188 * video/bitmap.c: Likewise.
29189 * lib/envblk.c: Likewise.
29190 * lib/i386/setjmp.S: Likewise.
29191 * fs/xfs.c: Likewise.
29192 * fs/afs.c: Likewise.
29193 * fs/fat.c: Likewise.
29194 * fs/ntfs.c: Likewise.
29195 * fs/udf.c: Likewise.
29196 * fs/affs.c: Likewise.
29197 * fs/iso9660.c: Likewise.
29198 * fs/hfs.c: Likewise.
29199 * fs/fshelp.c: Likewise.
29200 * fs/ext2.c: Likewise.
29201 * fs/jfs.c: Likewise.
29202 * fs/reiserfs.c: Likewise.
29203 * fs/hfsplus.c: Likewise.
29204 * fs/minix.c: Likewise.
29205 * fs/cpio.c: Likewise.
29206 * fs/sfs.c: Likewise.
29207 * fs/ufs.c: Likewise.
29208 * efiemu/prepare.c: Likewise.
29209 * efiemu/loadcore_common.c: Likewise.
29210 * efiemu/runtime/efiemu.sh: Likewise.
29211 * efiemu/runtime/efiemu.S: Likewise.
29212 * efiemu/runtime/efiemu.c: Likewise.
29213 * efiemu/pnvram.c: Likewise.
29214 * efiemu/main.c: Likewise.
29215 * efiemu/i386/pc/cfgtables.c: Likewise.
29216 * efiemu/i386/loadcore64.c: Likewise.
29217 * efiemu/i386/loadcore32.c: Likewise.
29218 * efiemu/loadcore.c: Likewise.
29219 * efiemu/symbols.c: Likewise.
29220 * efiemu/mm.c: Likewise.
29221 * include/grub/autoefi.h: Likewise.
29222 * include/grub/datetime.h: Likewise.
29223 * include/grub/term.h: Likewise.
29224 * include/grub/hfs.h: Likewise.
29225 * include/grub/lvm.h: Likewise.
29226 * include/grub/i386/tsc.h: Likewise.
29227 * include/grub/i386/linux.h: Likewise.
29228 * include/grub/i386/xnu.h: Likewise.
29229 * include/grub/i386/efiemu.h: Likewise.
29230 * include/grub/i386/pc/biosdisk.h: Likewise.
29231 * include/grub/i386/pc/memory.h: Likewise.
29232 * include/grub/i386/pc/vbe.h: Likewise.
29233 * include/grub/parttool.h: Likewise.
29234 * include/grub/video.h: Likewise.
29235 * include/grub/memory.h: Likewise.
29236 * include/grub/fs.h: Likewise.
29237 * include/grub/partition.h: Likewise.
29238 * include/grub/xnu.h: Likewise.
29239 * include/grub/efi/api.h: Likewise.
29240 * include/grub/efi/pe32.h: Likewise.
29241 * include/grub/efi/memory.h: Likewise.
29242 * include/grub/multiboot.h: Likewise.
29243 * include/grub/usbdesc.h: Likewise.
29244 * include/grub/multiboot2.h: Likewise.
29245 * include/grub/acpi.h: Likewise.
29246 * include/grub/efiemu/efiemu.h: Likewise.
29247 * include/grub/disk.h: Likewise.
29248 * include/grub/ieee1275/ieee1275.h: Likewise.
29249 * include/grub/net.h: Likewise.
29250 * include/grub/machoload.h: Likewise.
29251 * include/grub/macho.h: Likewise.
29252 * include/multiboot.h: Likewise.
29253 * genmoddep.awk: Likewise.
29254 * normal/main.c: Likewise.
29255 * normal/menu_entry.c: Likewise.
29256 * normal/menu_viewer.c: Likewise.
29257 * normal/completion.c: Likewise.
29258 * normal/cmdline.c: Likewise.
29259 * normal/misc.c: Likewise.
29260 * normal/datetime.c: Likewise.
29261 * bus/usb/usbtrans.c: Likewise.
29262 * bus/usb/ohci.c: Likewise.
29263 * bus/usb/uhci.c: Likewise.
29264 * bus/usb/usb.c: Likewise.
29265 * mmap/efi/mmap.c: Likewise.
29266 * mmap/i386/pc/mmap_helper.S: Likewise.
29267 * mmap/i386/pc/mmap.c: Likewise.
29268 * mmap/i386/mmap.c: Likewise.
29269 * mmap/i386/uppermem.c: Likewise.
29270 * mmap/mmap.c: Likewise.
29271 * commands/acpi.c: Likewise.
29272 * commands/echo.c: Likewise.
29273 * commands/blocklist.c: Likewise.
29274 * commands/loadenv.c: Likewise.
29275 * commands/usbtest.c: Likewise.
29276 * commands/boot.c: Likewise.
29277 * commands/parttool.c: Likewise.
29278 * commands/search.c: Likewise.
29279 * commands/cat.c: Likewise.
29280 * commands/i386/pc/play.c: Likewise.
29281 * commands/i386/pc/drivemap.c: Likewise.
29282 * commands/i386/pc/vbeinfo.c: Likewise.
29283 * commands/i386/pc/acpi.c: Likewise.
29284 * commands/i386/pc/vbetest.c: Likewise.
29285 * commands/ls.c: Likewise.
29286 * commands/cmp.c: Likewise.
29287 * commands/test.c: Likewise.
29288 * commands/efi/acpi.c: Likewise.
29289 * commands/gptsync.c: Likewise.
29290 * commands/help.c: Likewise.
29291 * partmap/amiga.c: Likewise.
29292 * partmap/apple.c: Likewise.
29293 * partmap/acorn.c: Likewise.
29294 * partmap/pc.c: Likewise.
29295 * partmap/sun.c: Likewise.
29296 * partmap/gpt.c: Likewise.
29297 * script/sh/lexer.c: Likewise.
29298 * script/sh/function.c: Likewise.
29299 * font/font.c: Likewise.
29300 * font/font_cmd.c: Likewise.
29301 * loader/powerpc/ieee1275/linux.c: Likewise.
29302 * loader/efi/chainloader.c: Likewise.
29303 * loader/multiboot_loader.c: Likewise.
29304 * loader/macho.c: Likewise.
29305 * loader/i386/multiboot.c: Likewise.
29306 * loader/i386/linux.c: Likewise.
29307 * loader/i386/pc/linux.c: Likewise.
29308 * loader/i386/pc/multiboot2.c: Likewise.
29309 * loader/i386/pc/chainloader.c: Likewise.
29310 * loader/i386/pc/xnu.c: Likewise.
29311 * loader/i386/bsd_trampoline.S: Likewise.
29312 * loader/i386/efi/linux.c: Likewise.
29313 * loader/i386/multiboot_elfxx.c: Likewise.
29314 * loader/i386/bsd_helper.S: Likewise.
29315 * loader/i386/bsd.c: Likewise.
29316 * loader/i386/linux_trampoline.S: Likewise.
29317 * loader/i386/xnu_helper.S: Likewise.
29318 * loader/i386/xnu.c: Likewise.
29319 * loader/i386/bsd_pagetable.c: Likewise.
29320 * loader/i386/multiboot_helper.S: Likewise.
29321 * loader/xnu.c: Likewise.
29322 * loader/xnu_resume.c: Likewise.
29323 * io/gzio.c: Likewise.
29324 * term/efi/console.c: Likewise.
29325 * term/terminfo.c: Likewise.
29326 * term/ieee1275/ofconsole.c: Likewise.
29327 * term/i386/pc/serial.c: Likewise.
29328 * term/i386/pc/vesafb.c: Likewise.
29329 * term/i386/pc/vga.c: Likewise.
29330 * term/usb_keyboard.c: Likewise.
29331 * term/gfxterm.c: Likewise.
29332 * aclocal.m4: Likewise.
29333 * util/lvm.c: Likewise.
29334 * util/grub.d/30_os-prober.in: Likewise.
29335 * util/grub.d/10_hurd.in: Likewise.
29336 * util/console.c: Likewise.
29337 * util/grub-macho2img.c: Likewise.
29338 * util/grub-probe.c: Likewise.
29339 * util/hostfs.c: Likewise.
29340 * util/i386/pc/grub-mkimage.c: Likewise.
29341 * util/i386/pc/grub-setup.c: Likewise.
29342 * util/i386/efi/grub-mkimage.c: Likewise.
29343 * util/grub-mkconfig.in: Likewise.
29344 * util/raid.c: Likewise.
29345 * util/resolve.c: Likewise.
29346 * util/grub-mkdevicemap.c: Likewise.
29347 * util/grub-emu.c: Likewise.
29348 * util/getroot.c: Likewise.
29349 * util/hostdisk.c: Likewise.
29350 * util/usb.c: Likewise.
29351 * util/grub-editenv.c: Likewise.
29352 * util/misc.c: Likewise.
29354 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29356 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29357 `genparttoollist.sh'.
29358 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29359 Add `*.sh' to the list find searches for and change `mdate.sh'
29362 2009-06-10 Pavel Roskin <proski@gnu.org>
29364 * include/grub/multiboot2.h: Provide compatibility defines for
29366 * include/multiboot2.h: Include stdint.h only if needed, using
29368 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29370 * loader/ieee1275/multiboot2.c: Likewise.
29371 * loader/multiboot2.c: Likewise.
29372 * loader/multiboot_loader.c: Likewise.
29374 * configure.ac: Use -nostdlib when probing for the target. It
29375 should not be required to have libc for the target.
29377 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29378 they fail without libc headers for the target.
29379 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29381 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29382 preprocessor conditionals.
29384 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29385 build system doesn't need to be aware of the tar.c internals.
29387 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
29389 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
29391 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29393 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29394 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29396 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
29398 * util/i386/pc/grub-install.in: Change the error message if UUIDs
29399 aren't available if ata.mod gets used.
29401 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
29403 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
29404 initialising controller.
29405 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29407 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29409 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29410 to choose between ata and biosdisk module on i386-pc.
29412 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
29414 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29415 Subclass and Programming Interface fields in terms of the 3 byte
29416 Class Code register.
29417 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29419 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29420 interface is OHCI. Add grub_dprintf for symmetry with
29422 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29423 interface is UHCI. Add interf variable for programming
29424 interface. Print interface with class/subclass.
29426 * bus/usb/ohci.c: Set interf with correct field.
29428 * bus/usb/uhci.c: Remove unneeded doubled lines.
29429 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29430 Remove whitespace inside comment.
29432 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29434 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29435 as fallback an equivalent option without depth.
29437 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29439 Not fail if unable to retrieve C/H/S on LBA disks
29441 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
29442 if unable to retrieve C/H/S on LBA disks
29444 2009-06-08 Pavel Roskin <proski@gnu.org>
29446 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29449 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29451 * Makefile.in (uninstall): Remove all $lib_DATA files.
29453 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29455 Bugfix: install on partitionless device
29457 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29460 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29462 * Makefile.in (uninstall): Remove all $include_DATA files.
29464 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29466 * commands/true.c: New file. Implement the true and false commands.
29467 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29468 (true_mod_SOURCES): New variable.
29469 (true_mod_CFLAGS): Likewise.
29470 (true_mod_LDFLAGS): Likewise.
29472 2009-06-05 Colin D Bennett <colin@gibibit.com>
29474 Optimized font character lookup using binary search instead of linear
29475 search. Fonts now are required to have the character index ordered by
29478 * font/font.c (load_font_index): Verify that fonts have ordered
29480 (find_glyph): Use binary search instead of linear search to find a
29481 character in a font.
29483 2009-06-05 Michael Scherer <misc@mandriva.org>
29485 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29486 uses case sensitive btree.
29487 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29488 only for case insensitive filesystems.
29490 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29492 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29493 * conf/common.rmk (search_mod_CFLAGS): likewise
29495 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29497 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
29498 compensate a compiler bug
29500 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29502 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
29505 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29507 Definitions for creating asm symbols with Apple's CC
29509 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29510 [APPLE_CC] (VARIABLE): likewise
29512 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29514 Disable lnxboot.img when compiled
29517 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29518 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29519 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29520 [! APPLE_CC] (CODE_LENG): skip
29521 [! APPLE_CC] (setup_sects): likewise
29522 [! APPLE_CC]: skip filling
29524 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29526 Address in trampolines based on 32-bit registers when compiled
29529 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
29531 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29533 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29535 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29537 * kern/misc.c [APPLE_CC] (memcpy): new function
29538 [APPLE_CC] (memmove): likewise
29539 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
29540 (memcpy): define alias conditionally on !APPLE_CC
29543 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29544 APPLE_CC are defined
29545 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29546 (grub_assert_fail): make prototype conditional
29548 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29550 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29552 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29554 (CLEANFILES): add grub-macho2img
29555 (grub_macho2img_SOURCES): new variable
29556 * kern/i386/pc/startup.S (bss_start): new variable
29557 (bss_end): likewise
29558 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29559 * util/grub-macho2img.c: new file
29561 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29563 Use objconv when compiling with Apple's CC
29565 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29566 (efiemu64.o): likewise
29567 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29568 when compiling with Apple's CC
29569 (efiemu64_s.o): likewise
29570 * configure.ac: check for objconv when compiling with Apple's CC
29571 * genmk.rb: use objconv for modules when compiled with Apple's CC
29573 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29575 Define segment as well as section when compiling with
29578 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29579 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29580 (efiemu_convert_pointer): likewise
29581 (efiemu_set_virtual_address_map): likewise
29582 (efiemu_convert_pointer): likewise
29583 (efiemu_getcrc32): likewise
29584 (init_crc32_table): likewise
29585 (reflect): likewise
29586 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29587 (GRUB_MOD_DEP): likewise
29589 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29591 Allow a compilation without -mcmodel=large
29593 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29594 when compiled without -mcmodel=large
29595 (filter_memory_map): remove memory post 4 GiB when compiled
29596 without -mcmodel=large
29597 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
29598 TARGET_CFLAGS when -mcmodel=large isn't supported
29600 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29602 Remove nested functions in efiemu core
29604 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
29606 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29608 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29610 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29612 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29614 (grub_cpu_is_tsc_supported): likewise
29615 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
29617 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29619 Absolute addressing through constant with Apple's cc
29621 * kern/i386/pc/startup.S: Define necessary constants
29622 and address through it when using ABS with Apple's CC
29623 * boot/i386/pc/diskboot.S: likewise
29624 * boot/i386/pc/boot.S: likewise
29625 * boot/i386/pc/lnxboot.S: likewise
29626 * boot/i386/pc/cdboot.S: likewise
29627 * mmap/i386/pc/mmap_helper.S: likewise
29628 * commands/i386/pc/drivemap_int13h.S: likewise
29630 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29632 Check if compiler is apple cc
29634 * Makefile.in (ASFLAGS): new variable
29635 (TARGET_ASFLAGS): likewise
29636 (TARGET_MODULE_FORMAT): likewise
29637 (TARGET_APPLE_CC): likewise
29638 (OBJCONV): likewise
29639 (TARGET_IMG_CFLAGS): likewise
29640 (TARGET_CPPFLAGS): add includedir
29641 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29642 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29643 Check for linker script only if compiler isn't Apple's CC
29644 (TARGET_MODULE_FORMAT): set
29645 (TARGET_APPLE_CC): likewise
29646 (TARGET_ASFLAGS): likewise
29647 (ASFLAGS): likewise
29648 Check for objcopy only if compiler isn't Apple's CC
29649 Check for BSS symbol only if compiler isn't Apple's CC
29650 * genmk.rb: adapt nm options if we use Apple's utils
29651 * aclocal.m4 (grub_apple_cc): new test
29652 (grub_apple_target_cc): likewise
29654 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29656 Simplify sed expressions and improve awk
29658 * Makefile.in (install-local): simplify sed expression
29659 * gencmdlist.sh: likewise
29660 * genmoddep.awk: avoid adding module as a dependency of itself
29662 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29664 Add missing start symbols
29666 * boot/i386/pc/boot.S: add start
29667 * boot/i386/pc/pxeboot.S: likewise
29669 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29671 Fix wrong assumptions with grub-mkimage on EFI
29673 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
29674 (relocate_addresses): consider both r_addend and value at offset
29675 (make_mods_section): zerofill modinfo and header
29676 (convert_elf): write prefix here
29678 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29680 Use .asciz instead of .string
29682 * i386/pc/diskboot.S: use .asciz instead of .string
29683 * i386/pc/boot.S: likewise
29684 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29685 (GRUB_MOD_NAME): likewise
29687 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29691 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29692 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29693 (grub_video_setup): remove
29694 (grub_video_set_mode): new prototype
29695 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29697 (linux_vesafb_res): compile only on PCBIOS
29698 (grub_linux_boot): support gfxpayload
29699 * loader/i386/pc/xnu.c (video_hook): new function
29700 (grub_xnu_set_video): support gfxpayload
29701 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29702 (DEFAULT_VIDEO_HEIGHT): likewise
29703 (DEFAULT_VIDEO_FLAGS): likewise
29704 (DEFAULT_VIDEO_MODE): new definition
29705 (video_hook): new function
29706 (grub_gfxterm_init): use grub_video_set_mode
29707 * util/grub.d/30_os-prober.in: remove explicit modesetting before
29709 * video/video.c (grub_video_setup): removed
29710 (grub_video_set_mode): new function based on grub_gfxterm_init and
29713 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29715 Avoid calling biosdisk in drivemap
29717 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29718 (revparse_biosdisk): likewise
29719 (list_mappings): derive name from id directly
29720 (grub_cmd_drivemap): use tryparse_diskstring
29722 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29726 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29727 (grub_lexer_param): add tokenonhold
29728 (grub_script_create_cmdline): remove cmdline. All callers updated
29729 (grub_script_function_create): make functionname
29730 grub_script_arg. All callers updated
29731 (grub_script_execute_argument_to_string): new prototype
29732 * kern/parser.c (state_transitions): reorder
29733 (grub_parser_cmdline_state): fix a bug and make more compact
29734 * script/sh/execute.c (grub_script_execute_argument_to_string):
29736 (grub_script_execute_cmdline): use new format
29737 * script/sh/function.c (grub_script_function_create): make functionname
29738 grub_script_arg. All callers updated
29739 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
29740 (grub_script_yylex): remove
29741 (grub_script_yylex2): renamed to ...
29742 (grub_script_yylex): ...renamed
29743 parse the expressions like a${b}c
29744 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29745 (GRUB_PARSER_TOKEN_VAR): remove
29746 (GRUB_PARSER_TOKEN_NAME): likewise
29747 ("if"): declare as typeless
29748 ("while"): likewise
29749 ("function"): likewise
29754 (argument): likewise
29755 (script): accept empty scripts and make exit on error
29756 (arguments): use GRUB_PARSER_TOKEN_ARG
29757 (function): likewise
29758 (command): move error handling to script
29759 (menuentry): move grub_script_lexer_ref before
29760 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
29761 argument. All callers updated
29763 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29765 Prevent GRUB from probing floppies during boot.
29767 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29768 * commands/search.c (options): Add --no-floppy.
29769 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29770 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29771 --no-floppy when searching for UUIDs.
29773 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29775 Simplify the code duplication in commands/search.c.
29777 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29778 (search_fs): ... this. Update all users.
29780 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
29782 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29784 2009-05-28 Pavel Roskin <proski@gnu.org>
29786 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29787 Remove the original symlink explicitly.
29789 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29790 just one slash. That's how grub_fshelp_find_file() does it.
29792 2009-05-26 Pavel Roskin <proski@gnu.org>
29794 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29797 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29800 2009-05-25 Christian Franke <franke@computer.org>
29802 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29804 (grub_atapi_identify): Add wait after drive select.
29805 (grub_ata_identify): Do more strict status register check before
29806 calling grub_atapi_identify (). Suppress error message if status
29807 register is 0x00 after command failure. Add status register
29808 check after PIO read to avoid bogus identify due to stuck DRQ.
29809 Thanks to Pavel Roskin for testing.
29810 (grub_device_initialize): Remove unsafe status register check.
29811 Thanks to 'phcoder' for problem report and patch.
29812 Prevent sign extension in debug message.
29814 2009-05-23 Colin D Bennett <colin@gibibit.com>
29816 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29817 definition file, and functions defined in `normal/menu.c' have had
29818 their prototypes moved to `include/grub/menu.h' for consistency.
29820 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29822 (grub_menu_get_entry): Likewise.
29823 (grub_menu_get_timeout): Likewise.
29824 (grub_menu_set_timeout): Likewise.
29825 (grub_menu_execute_entry): Likewise.
29826 (grub_menu_execute_with_fallback): Likewise.
29827 (grub_menu_entry_run): Likewise.
29829 * include/grub/normal.h: Re-ordered and grouped function
29830 prototypes by file that the function is defined in.
29831 (grub_menu_execute_callback): Removed; moved to menu.h.
29832 (grub_menu_get_entry): Likewise.
29833 (grub_menu_get_timeout): Likewise.
29834 (grub_menu_set_timeout): Likewise.
29835 (grub_menu_execute_entry): Likewise.
29836 (grub_menu_execute_with_fallback): Likewise.
29837 (grub_menu_entry_run): Likewise.
29838 (grub_menu_addentry): Renamed from this ...
29839 (grub_normal_add_menu_entry): ... to this.
29841 * normal/main.c (grub_menu_addentry): Renamed from this ...
29842 (grub_normal_add_menu_entry): ... to this.
29844 * script/sh/execute.c (grub_script_execute_menuentry): Update
29845 reference to renamed grub_menu_addentry function.
29847 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
29849 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29851 2009-05-22 Pavel Roskin <proski@gnu.org>
29853 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29854 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29855 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29856 compiling for the i386 targets, but not for the utilities.
29858 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29860 (grub_root_drive): Likewise.
29861 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29863 (grub_root_drive): Change size to byte.
29864 (grub_start_addr): Remove.
29865 (grub_end_addr): Likewise.
29866 (grub_apm_bios_info): Likewise.
29868 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
29870 * normal/i386: Remove.
29871 * normal/powerpc: Likewise.
29872 * normal/sparc64: Likewise.
29873 * normal/x86_64: Likewise.
29875 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29877 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
29878 * loader/i386/linux_trampoline.S: Fix indentation
29879 * loader/i386/xnu_helper.S: Likewise
29881 2009-05-18 Colin D Bennett <colin@gibibit.com>
29883 Display error messages when parsing a Lua statement fails.
29884 Previously, executing a syntactically invalid statement like
29885 ")foo" or "bar;" would silently fail.
29887 * script/lua/grub_main.c (handle_lua_error): New function.
29888 (grub_lua_parse_line): Improved reporting of Lua parser and
29891 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29893 Remove -Werror which causes build to fail on some systems
29895 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29896 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29897 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
29899 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29901 trampoline for linux on 64-bit platform
29903 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29904 loader/i386/efi/linux_trampoline.S
29905 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
29907 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29909 * loader/i386/linux_trampoline.S: moved here
29910 * loader/i386/efi/linux.c (allocate_pages): reserve space for
29912 (jumpvector): removed
29913 (grub_linux_trampoline_start): new declaration
29914 (grub_linux_trampoline_end): likewise
29915 (grub_linux_boot): use trampoline when on 64-bit platform
29916 * loader/i386/linux.c: likewise
29918 2009-05-16 Pavel Roskin <proski@gnu.org>
29920 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
29921 const to avoid a warning.
29922 (grub_lua_setenv): Likewise.
29923 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
29924 lmsg to fix a warning.
29926 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
29928 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
29929 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29930 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
29931 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29932 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29933 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29934 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29935 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29937 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
29939 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
29941 2009-05-16 Bean <bean123ch@gmail.com>
29943 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
29944 (lua_mod_SOURCES): New variable.
29945 (lua_mod_CFLAGS): Likewise.
29946 (lua_mod_LDFLAGS): Likewise.
29948 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
29949 (setjmp_mod_SOURCES): New variable.
29950 (setjmp_mod_CFLAGS): Likewise.
29951 (setjmp_LDFLAGS): Likewise.
29953 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
29954 (setjmp_mod_SOURCES): New variable.
29955 (setjmp_mod_CFLAGS): Likewise.
29956 (setjmp_LDFLAGS): Likewise.
29958 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29959 (setjmp_mod_SOURCES): New variable.
29960 (setjmp_mod_CFLAGS): Likewise.
29961 (setjmp_LDFLAGS): Likewise.
29963 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29964 (setjmp_mod_SOURCES): New variable.
29965 (setjmp_mod_CFLAGS): Likewise.
29966 (setjmp_LDFLAGS): Likewise.
29968 * normal/i386/setjmp.S: Moved from here ...
29969 * lib/i386/setjmp.S: ... Moved here
29970 * normal/x86_64/setjmp.S: Moved from here ...
29971 * lib/x86_64/setjmp.S: ... Moved here
29972 * normal/powerpc/setjmp.S: Moved from here ...
29973 * lib/powerpc/setjmp.S: ... Moved here
29974 * normal/sparc64/setjmp.S: Moved from here ...
29975 * lib/sparc64/setjmp.S: ... Moved here
29977 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
29978 returns_twice in mingw.
29980 * script/lua/grub_lib.c: New file.
29981 * script/lua/grub_lib.h: Likewise.
29982 * script/lua/grub_lua.h: Likewise.
29983 * script/lua/grub_main.c: Likewise.
29984 * script/lua/lapi.c: Likewise.
29985 * script/lua/lapi.h: Likewise.
29986 * script/lua/lauxlib.c: Likewise.
29987 * script/lua/lauxlib.h: Likewise.
29988 * script/lua/lbaselib.c: Likewise.
29989 * script/lua/lcode.c: Likewise.
29990 * script/lua/lcode.h: Likewise.
29991 * script/lua/ldblib.c: Likewise.
29992 * script/lua/ldebug.c: Likewise.
29993 * script/lua/ldebug.h: Likewise.
29994 * script/lua/ldo.c: Likewise.
29995 * script/lua/ldo.h: Likewise.
29996 * script/lua/ldump.c: Likewise.
29997 * script/lua/lfunc.c: Likewise.
29998 * script/lua/lfunc.h: Likewise.
29999 * script/lua/lgc.c: Likewise.
30000 * script/lua/lgc.h: Likewise.
30001 * script/lua/linit.c: Likewise.
30002 * script/lua/liolib.c: Likewise.
30003 * script/lua/llex.c: Likewise.
30004 * script/lua/llex.h: Likewise.
30005 * script/lua/llimits.h: Likewise.
30006 * script/lua/lmathlib.c: Likewise.
30007 * script/lua/lmem.c: Likewise.
30008 * script/lua/lmem.h: Likewise.
30009 * script/lua/loadlib.c: Likewise.
30010 * script/lua/lobject.c: Likewise.
30011 * script/lua/lobject.h: Likewise.
30012 * script/lua/lopcodes.c: Likewise.
30013 * script/lua/lopcodes.h: Likewise.
30014 * script/lua/loslib.c: Likewise.
30015 * script/lua/lparser.c: Likewise.
30016 * script/lua/lparser.h: Likewise.
30017 * script/lua/lstate.c: Likewise.
30018 * script/lua/lstate.h: Likewise.
30019 * script/lua/lstring.c: Likewise.
30020 * script/lua/lstring.h: Likewise.
30021 * script/lua/lstrlib.c: Likewise.
30022 * script/lua/ltable.c: Likewise.
30023 * script/lua/ltable.h: Likewise.
30024 * script/lua/ltablib.c: Likewise.
30025 * script/lua/ltm.c: Likewise.
30026 * script/lua/ltm.h: Likewise.
30027 * script/lua/lua.h: Likewise.
30028 * script/lua/luaconf.h: Likewise.
30029 * script/lua/lualib.h: Likewise.
30030 * script/lua/lundump.c: Likewise.
30031 * script/lua/lundump.h: Likewise.
30032 * script/lua/lvm.c: Likewise.
30033 * script/lua/lvm.h: Likewise.
30034 * script/lua/lzio.c: Likewise.
30035 * script/lua/lzio.h: Likewise.
30037 2009-05-16 Bean <bean123ch@gmail.com>
30039 * include/grub/kernel.h (grub_module_header_types): Add type
30042 * kern/main.c (grub_load_config): New function.
30043 (grub_main): Call grub_load_config to read boot config.
30045 * grub-mkimage (generate_image): New parameter config_path.
30046 (options): New option --config.
30047 (main): Parse --config option, and pass it to generate_image.
30049 2009-05-14 Christian Franke <franke@computer.org>
30051 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30052 This fixes build on Cygwin.
30054 2009-05-14 Pavel Roskin <proski@gnu.org>
30056 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30057 jump. This saves two bytes, so the typical case of 2 swapped
30058 drives would fit 32 bytes.
30060 2009-05-13 Pavel Roskin <proski@gnu.org>
30062 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30063 grub_uint32_t to avoid a warning.
30065 * loader/i386/linux.c (allocate_pages): When assigning
30066 real_mode_mem, cast through grub_size_t to fix a warning. The
30067 code already makes sure that the value would fit a pointer.
30068 (grub_linux_setup_video): Cast render_target->data to
30069 grub_size_t to fix a warning.
30071 2009-05-13 Javier Martín <lordhabbit@gmail.com>
30073 * commands/i386/pc/drivemap.c: New file - implement drivemap
30075 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30076 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30078 2009-05-13 Pavel Roskin <proski@gnu.org>
30080 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30081 embedding_area_exists.
30083 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30085 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30086 it easier to understand / work with.
30087 Improve warning messages for cases where there's no embedding area,
30088 or when it is too small (or core.img too large).
30090 2009-05-13 Pavel Roskin <proski@gnu.org>
30092 * loader/i386/pc/multiboot2.c: Add necessary includes for
30093 grub_multiboot2_real_boot().
30095 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30096 PX record is always little-endian. We only need the lower 2
30099 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30100 facilitate code reuse.
30101 (grub_cpio_mount): Use "struct head", not a char buffer. This
30102 fixes a warning reported by gcc 4.4.
30104 * kernel/disk.c (grub_disk_read): Use void pointer for the
30106 (grub_disk_write): Use const void pointer for the buffer.
30107 Adjust all callers. Remove unnecessary casts.
30109 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30111 * util/i386/pc/grub-install.in: Update copyright year.
30113 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30117 * commands/gptsync.c: new file
30118 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30119 (gptsync_mod_SOURCES): new variable
30120 (gptsync_mod_CFLAGS): likewise
30121 (gptsync_mod_LDFLAGS): likewise
30122 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
30124 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30125 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30126 * conf/i386-ieee1275.rmk: likewise
30127 * conf/i386-pc.rmk: likewise
30128 * conf/powerpc-ieee1275.rmk: likewise
30130 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30134 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30135 (grub_dl_ref): likewise
30137 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30139 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30140 split in two functions (one for msdos and one for gpt).
30142 2009-05-08 Pavel Roskin <proski@gnu.org>
30144 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30147 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30148 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30149 Initialize them with -1. Add sanity check for bad1. Eliminate
30152 2009-05-08 David S. Miller <davem@davemloft.net>
30154 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30156 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30158 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
30161 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
30163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30164 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
30166 2009-05-05 David S. Miller <davem@davemloft.net>
30168 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30170 2009-05-05 Pavel Roskin <proski@gnu.org>
30172 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30173 of grub_dl_ref() and grub_dl_unref().
30174 * commands/parttool.c: Remove preprocessor conditionals around
30175 grub_dl_ref() and grub_dl_unref().
30176 * fs/affs.c: Likewise.
30177 * fs/afs.c: Likewise.
30178 * fs/cpio.c: Likewise.
30179 * fs/ext2.c: Likewise.
30180 * fs/fat.c: Likewise.
30181 * fs/hfs.c: Likewise.
30182 * fs/hfsplus.c: Likewise.
30183 * fs/iso9660.c: Likewise.
30184 * fs/jfs.c: Likewise.
30185 * fs/minix.c: Likewise.
30186 * fs/ntfs.c: Likewise.
30187 * fs/reiserfs.c: Likewise.
30188 * fs/sfs.c: Likewise.
30189 * fs/udf.c: Likewise.
30190 * fs/ufs.c: Likewise.
30191 * fs/xfs.c: Likewise.
30192 * include/grub/dl.h: Likewise.
30193 * loader/xnu.c: Likewise.
30195 2009-05-04 Pavel Roskin <proski@gnu.org>
30197 * commands/acpi.c: Remove unused variable my_mod.
30198 * partmap/amiga.c: Likewise.
30199 * partmap/apple.c: Likewise.
30200 * partmap/gpt.c: Likewise.
30201 * partmap/pc.c: Likewise.
30202 * partmap/sun.c: Likewise.
30203 * term/gfxterm.c: Likewise.
30204 * term/i386/pc/vesafb.c: Likewise.
30205 * term/i386/pc/vga.c: Likewise.
30207 2009-05-04 David S. Miller <davem@davemloft.net>
30209 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30210 pointer args to grub_ieee1275_get_property().
30212 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30214 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30215 devices, and do not traverse down under controller nodes.
30217 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30218 (grub_ofdisk_open): Use it to un-escape "," characters.
30219 * kern/disk.c (find_part_sep): New.
30220 (grub_disk_open): Use it to find the first non-escaped ','
30221 character in the disk name.
30222 * util/ieee1275/devicemap.c (escape_of_path): New.
30223 (grub_util_emit_devicemap_entry): Use it.
30224 * util/sparc64/ieee1275/grub-install.in: Update script to
30225 strip partition specifiers properly by not triggering on
30226 '\' escaped ',' characters.
30228 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30230 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30232 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30234 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30235 on documentation from Wikipedia).
30237 2009-05-04 Pavel Roskin <proski@gnu.org>
30239 * disk/ata.c: Spelling fixes.
30240 * disk/raid.c: Likewise.
30241 * disk/usbms.c: Likewise.
30242 * disk/dmraid_nvidia.c: Likewise.
30243 * kern/ieee1275/openfw.c: Likewise.
30244 * kern/ieee1275/init.c: Likewise.
30245 * kern/ieee1275/cmain.c: Likewise.
30246 * boot/i386/pc/cdboot.S: Likewise.
30247 * video/readers/png.c: Likewise.
30248 * video/i386/pc/vbe.c: Likewise.
30249 * fs/udf.c: Likewise.
30250 * fs/hfs.c: Likewise.
30251 * fs/reiserfs.c: Likewise.
30252 * efiemu/runtime/efiemu.c: Likewise.
30253 * efiemu/main.c: Likewise.
30254 * efiemu/mm.c: Likewise.
30255 * include/grub/elf.h: Likewise.
30256 * include/grub/xnu.h: Likewise.
30257 * include/grub/usbdesc.h: Likewise.
30258 * include/grub/usb.h: Likewise.
30259 * include/grub/script_sh.h: Likewise.
30260 * include/grub/lib/LzmaEnc.h: Likewise.
30261 * include/grub/efiemu/efiemu.h: Likewise.
30262 * include/grub/command.h: Likewise.
30263 * normal/menu.c: Likewise.
30264 * normal/main.c: Likewise.
30265 * normal/datetime.c: Likewise.
30266 * bus/usb/uhci.c: Likewise.
30267 * mmap/i386/uppermem.c: Likewise.
30268 * mmap/mmap.c: Likewise.
30269 * commands/acpi.c: Likewise.
30270 * commands/test.c: Likewise.
30271 * partmap/apple.c: Likewise.
30272 * font/font.c: Likewise.
30273 * loader/sparc64/ieee1275/linux.c: Likewise.
30274 * loader/macho.c: Likewise.
30275 * loader/i386/bsd_trampoline.S: Likewise.
30276 * loader/i386/bsd.c: Likewise.
30277 * loader/xnu.c: Likewise.
30278 * term/i386/pc/vesafb.c: Likewise.
30279 * term/usb_keyboard.c: Likewise.
30280 * util/resolve.c: Likewise.
30281 * util/getroot.c: Likewise.
30283 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30285 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30287 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30289 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30292 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30294 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30295 parameter only available on BIOS.
30297 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30299 Removed wrong semicolon in declaration
30301 * grub/misc.h (grub_dprintf): remove semicolon
30303 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30305 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30306 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30307 is done by grub_cmd_linux() now).
30308 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30309 restore video to text mode.
30310 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30311 indicates lack of "vga=" parameter. "vga=0" is mapped to
30312 `GRUB_LINUX_VID_MODE_NORMAL'.
30314 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30316 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30317 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30318 and `normal/script.c'. Add `kern/rescue_reader.c',
30319 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
30320 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30321 `grub_script.tab.c'.
30323 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30324 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30326 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30327 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30329 * Makefile.in: Remove duplicated 2008 in Copyright line.
30331 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30333 * util/misc.c (grub_util_warn): New function. Emits a warning
30335 * include/grub/util/misc.h (grub_util_warn): New declaration.
30337 * util/i386/pc/grub-install.in: Understand --force and pass it down
30340 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30342 (setup): Improve error messages and add warnings when requested to
30343 install in odd layouts. Refuse to install using blocklists unless
30346 2009-05-04 martin f. krafft <madduck@madduck.net>
30348 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30350 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30352 Updated copyright year
30354 * fs/hfsplus.c: updated copyright year
30356 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30360 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
30361 in the space previously used by unused3
30362 (grub_hfsplus_uuid): new function
30363 (grub_hfsplus_fs): added uuid field
30365 2009-05-03 Pavel Roskin <proski@gnu.org>
30367 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30368 suppress warnings. It's no longer needed.
30369 * disk/host.c: Likewise.
30370 * disk/ata_pthru.c: Likewise.
30371 * disk/loopback.c: Likewise.
30372 * hook/datehook.c: Likewise.
30373 * parttool/pcpart.c: Likewise.
30374 * fs/i386/pc/pxe.c: Likewise.
30375 * fs/ntfscomp.c: Likewise.
30376 * efiemu/main.c: Likewise.
30377 * mmap/mmap.c: Likewise.
30378 * commands/crc.c: Likewise.
30379 * commands/hexdump.c: Likewise.
30380 * commands/hdparm.c: Likewise.
30381 * commands/acpi.c: Likewise.
30382 * commands/echo.c: Likewise.
30383 * commands/minicmd.c: Likewise.
30384 * commands/blocklist.c: Likewise.
30385 * commands/memrw.c: Likewise.
30386 * commands/loadenv.c: Likewise.
30387 * commands/usbtest.c: Likewise.
30388 * commands/lsmmap.c: Likewise.
30389 * commands/boot.c: Likewise.
30390 * commands/parttool.c: Likewise.
30391 * commands/configfile.c: Likewise.
30392 * commands/search.c: Likewise.
30393 * commands/ieee1275/suspend.c: Likewise.
30394 * commands/cat.c: Likewise.
30395 * commands/i386/pc/pxecmd.c: Likewise.
30396 * commands/i386/pc/play.c: Likewise.
30397 * commands/i386/pc/halt.c: Likewise.
30398 * commands/i386/pc/vbeinfo.c: Likewise.
30399 * commands/i386/pc/vbetest.c: Likewise.
30400 * commands/lspci.c: Likewise.
30401 * commands/date.c: Likewise.
30402 * commands/handler.c: Likewise.
30403 * commands/ls.c: Likewise.
30404 * commands/test.c: Likewise.
30405 * commands/cmp.c: Likewise.
30406 * commands/efi/loadbios.c: Likewise.
30407 * commands/efi/fixvideo.c: Likewise.
30408 * commands/halt.c: Likewise.
30409 * commands/help.c: Likewise.
30410 * commands/reboot.c: Likewise.
30411 * hello/hello.c: Likewise.
30412 * script/sh/main.c: Likewise.
30413 * loader/xnu.c: Likewise.
30414 * term/terminfo.c: Likewise.
30415 * term/i386/pc/serial.c: Likewise.
30416 * term/usb_keyboard.c: Likewise.
30418 2009-05-03 David S. Miller <davem@davemloft.net>
30420 * normal/menu.c: Include grub/parser.h
30422 2009-05-03 Pavel Roskin <proski@gnu.org>
30424 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30426 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30427 Suggested by Javier Martín <lordhabbit@gmail.com>
30429 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30430 efiemu??.o doesn't exist.
30431 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30434 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
30436 FreeBSD 64-bit support
30438 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
30439 and loader/i386/bsd_trampoline.S
30440 (bsd_mod_ASFLAGS): new variable
30441 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30442 (FREEBSD_MODTYPE_KERNEL64): likewise
30443 (grub_bsd64_trampoline_start): likewise
30444 (grub_bsd64_trampoline_end): likewise
30445 (grub_bsd64_trampoline_selfjump): likewise
30446 (grub_bsd64_trampoline_gdt): likewise
30447 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30448 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30449 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30450 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
30451 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30453 * loader/i386/bsd_pagetable.c: new file
30454 * loader/i386/bsd_trampoline.S: likewise
30455 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30456 (ALIGN_VAR): likewise
30457 (entry_hi): new variable
30458 (kern_end_mdofs): likewise
30459 (is_64bit): likewise
30460 (grub_freebsd_add_meta): use ALIGN_VAR
30461 (grub_e820_mmap): new declaration
30462 (grub_freebsd_add_mmap): new function
30463 (grub_freebsd_add_meta_module): support 64 bit kernels
30464 (grub_freebsd_list_modules): use ALIGN_VAR
30465 (gdt_descriptor): new declaration
30466 (grub_freebsd_boot): support 64 bit kernels
30467 (grub_bsd_elf64_hook): new function
30468 (grub_bsd_load_elf): support elf64
30470 2009-05-03 Bean <bean123ch@gmail.com>
30472 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30473 after we get the result of if statement.
30475 2009-05-03 Bean <bean123ch@gmail.com>
30477 * Makefile.in (enable_efiemu): New variable.
30479 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30481 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30483 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30484 path, add -mno-red-zone option.
30485 (efiemu64_s.o): Likewise.
30486 (efiemu64.o): Use macro $^ for source file.
30488 * configure.ac (--enable-efiemu): New option.
30490 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30494 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30495 (pkglib_MODULES): add xnu.mod
30496 (xnu_mod_SOURCES): new variable
30497 (xnu_mod_CFLAGS): likewise
30498 (xnu_mod_LDFLAGS): likewise
30499 (xnu_mod_ASFLAGS): likewise
30500 * conf/i386-pc.rmk: likewise
30501 * conf/x86_64-efi.rmk: likewise
30502 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
30504 * include/grub/i386/macho.h: new file
30505 * include/grub/i386/xnu.h: likewise
30506 * include/grub/macho.h: likewise
30507 * include/grub/machoload.h: likewise
30508 * include/grub/x86_64/macho.h: likewise
30509 * include/grub/x86_64/xnu.h: likewise
30510 * include/grub/xnu.h: likewise
30511 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30512 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30513 * loader/i386/efi/xnu.c: new file
30514 * loader/i386/pc/xnu.c: likewise
30515 * loader/i386/xnu.c: likewise
30516 * loader/i386/xnu_helper.S: likewise
30517 * loader/macho.c: likewise
30518 * loader/xnu.c: likewise
30519 * loader/xnu_resume.c: likewise
30520 * util/grub-dumpdevtree: likewise
30521 * include/grub/i386/pit.h: include grub/err.h
30522 (grub_pit_wait): export
30523 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
30525 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30529 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
30530 _linux_efi, linux_efi.
30531 new files in grub-emu
30532 new targets efiemu32.o and efiemu64.o
30533 * loader/linux_normal_efiemu.c: likewise
30534 * loader/i386/efi/linux.c: added preliminary efiemu support
30535 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
30537 * include/grub/autoefi.h: new file
30538 * include/grub/i386/efiemu.h: likewise
30539 * include/grub/i386/pc/efiemu.h: likewise
30540 * include/grub/efi/api.h: add LL suffix when necessary
30541 new definitions relating to tables
30542 * include/grub/efiemu/efiemu.h: new file
30543 * include/grub/efiemu/runtime.h: likewise
30544 * efiemu/prepare.c: likewise
30545 * efiemu/loadcore_common.c: likewise
30546 * efiemu/loadcore64.c: likewise
30547 * efiemu/runtime/efiemu.sh: likewise
30548 * efiemu/runtime/efiemu.S: likewise
30549 * efiemu/runtime/efiemu.c: likewise
30550 * efiemu/runtime/config.h: likewise
30551 * efiemu/prepare32.c: likewise
30552 * efiemu/main.c: likewise
30553 * efiemu/modules/pnvram.c: likewise
30554 * efiemu/modules/i386: likewise
30555 * efiemu/modules/i386/pc: likewise
30556 * efiemu/modules/acpi.c: likewise
30557 * efiemu/i386/pc/cfgtables.c: likewise
30558 * efiemu/i386/loadcore64.c: likewise
30559 * efiemu/i386/loadcore32.c: likewise
30560 * efiemu/prepare64.c: likewise
30561 * efiemu/loadcore.c: likewise
30562 * efiemu/symbols.c: likewise
30563 * efiemu/mm.c: likewise
30564 * efiemu/loadcore32.c: likewise
30566 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30570 * commands/acpi.c: new file
30571 * commands/i386/pc/acpi.c: likewise
30572 * commands/efi/acpi.c: likewise
30573 * include/grub/acpi.h: likewise
30574 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30575 (acpi_mod_SOURCES): new variable
30576 (acpi_mod_CFLAGS): likewise
30577 (acpi_mod_LDFLAGS): likewise
30578 * conf/i386-efi.rmk: likewise
30579 * conf/x86_64-efi.rmk: likewise
30581 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30583 Missing part from mmap patch
30585 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30586 (grub_mmap_unregister)
30587 (grub_mmap_free_and_unregister): use grub_mmap_register
30589 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30593 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30594 * loader/i386/linux.c (find_mmap_size): likewise
30595 (allocate_pages): likewise
30596 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30597 (grub_fill_multiboot_mmap): likewise
30598 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30599 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30600 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30601 (OPENBSD_MMAP_RESERVED): likewise
30602 * include/grub/i386/pc/memory.h: include grub/memory.h
30603 (grub_lower_mem): removed
30604 (grub_upper_mem): likewise
30605 (GRUB_MACHINE_MEMORY_ACPI): new definition
30606 (GRUB_MACHINE_MEMORY_NVS): likewise
30607 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30608 (GRUB_MACHINE_MEMORY_HOLE): likewise
30609 (grub_machine_mmap_register): likewise
30610 (grub_machine_mmap_unregister): likewise
30611 (grub_machine_get_upper): likewise
30612 (grub_machine_get_lower): likewise
30613 (grub_machine_get_post64): likewise
30614 * include/grub/i386/efi/memory.h: new file
30615 * include/grub/x86_64/efi/memory.h: likewise
30616 * include/grub/efi/memory.h: likewise
30617 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30618 (mmap_mod_SOURCES): new variable
30619 (mmap_mod_LDFLAGS): likewise
30620 (mmap_mod_ASFLAGS): likewise
30621 * conf/i386-coreboot.rmk: likewise
30622 * conf/i386-ieee1275.rmk: likewise
30623 * conf/i386-efi.rmk: likewise
30624 * conf/x86_64-efi.rmk: likewise
30625 * include/grub/types.h (UINT_TO_PTR): new macro
30626 (PTR_TO_UINT32): likewise
30627 (PTR_TO_UINT64): likewise
30628 * include/grub/memory.h: new file
30629 * mmap/i386/pc/mmap.c: likewise
30630 * mmap/i386/pc/mmap_helper.S: likewise
30631 * mmap/i386/uppermem.c: likewise
30632 * mmap/mmap.c: likewise
30633 * mmap/efi/mmap.c: likewise
30634 * kern/i386/coreboot/init.c (grub_machine_init): don't use
30636 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30637 (grub_upper_mem): likewise
30638 (grub_machine_init): don't use grub_upper_mem,
30639 make grub_lower_mem local
30640 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30641 grub_mmap_iterate and grub_mmap_get_upper
30642 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30644 2009-05-02 Bean <bean123ch@gmail.com>
30646 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30647 script/sh/parser.y.
30648 (pkglib_MODULES): Add normal.mod and sh.mod.
30649 (normal_SOURCES): New variable.
30650 (normal_mod_CFLAGS): Likewise.
30651 (normal_mod_LDFLAGS): Likewise.
30652 (sh_mod_SOURCES): Likewise.
30653 (sh_mod_CFLAGS): Likewise.
30654 (sh_mod_LDFLAGS): Likewise.
30656 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30657 script/sh/lexer.c_DEPENDENCIES.
30658 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30659 kern/rescue_reader.c and kern/rescue_parser.c.
30660 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30661 (grub_emu_SOURCES): Change source files.
30662 (pkglib_MODULES): Remove normal.mod.
30663 (normal_SOURCES): Removed.
30664 (normal_mod_CFLAGS): Likewise.
30665 (normal_mod_LDFLAGS): Likewise.
30666 * conf/i386-coreboot.rmk: Likewise.
30667 * conf/i386-efi.rmk: Likewise.
30668 * conf/i386-ieee1276.rmk: Likewise.
30669 * conf/powerpc-ieee1275.rmk: Likewise.
30670 * conf/sparc64-ieee1275.rmk: Likewise.
30671 * conf/x86_64-efi.rmk: Likewise.
30673 * include/grub/command.h (grub_command_execute): New inline function.
30675 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30677 * include/grub/normal.h: Remove <grub/setjmp.h>.
30678 (grub_fs_module_list): Moved to normal/autofs.c.
30679 (grub_exit_env): Removed.
30680 (grub_command_execute): Likewise.
30681 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30683 (read_command_list): New function declaration.
30684 (read_fs_list): Likewise.
30686 * include/parser.h: Include <grub/reader.h>.
30687 (grub_parser_split_cmdline): Change type of getline parameter.
30688 (grub_parser): New structure.
30689 (grub_parser_class): New variable.
30690 (grub_parser_execute): New function declaration.
30691 (grub_register_rescue_parser): Likewise.
30692 (grub_parser_register): New inline function.
30693 (grub_parser_unregister): Likewise.
30694 (grub_parser_get_current): Likewise.
30695 (grub_parser_set_current): Likewise.
30697 * include/grub/reader.h: New file.
30698 * kern/reader.c: Likewise.
30699 * kern/rescue_parser.c: Likewise.
30700 * kern/rescue_reader.c: Likewise.
30701 * normal/autofs.c: Likewise.
30702 * normal/dyncmd.c: Likewise.
30704 * include/grub/rescue.h: Removed.
30705 * normal/command.h: Likewise.
30707 * include/grub/script.h: Moved to ...
30708 * include/grub/script_sh.h: ... Moved here.
30709 * normal/execute.c: Moved to ...
30710 * script/sh/execute.c: ... Moved here.
30711 * normal/function.c: Moved to ...
30712 * script/sh/function.c: ... Moved here.
30713 * normal/lexer.c: Moved to ...
30714 * script/sh/lexer.c: ... Moved here.
30715 * normal/parser.y: Moved to ...
30716 * script/sh/parser.y: ... Moved here.
30717 * normal/script.c: Moved to ...
30718 * script/sh/script.c: ... Moved here.
30720 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30722 (grub_exit_env): Removed.
30723 (fs_module_list): Moved to normal/autofs.c.
30724 (grub_file_getline): Don't handle comment here.
30725 (free_menu): Skip removed field entry->commands.
30726 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30728 (read_config_file): Removed nested parameter, change getline function.
30729 (grub_enter_normal_mode): Removed.
30730 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30731 (read_command_list): Likewise.
30732 (autoload_fs_module): Moved to normal/autofs.c.
30733 (read_fs_list): Likewise.
30734 (reader_nested): New variable.
30735 (grub_normal_execute): Run parser.sh to switch to sh parser.
30736 (grub_cmd_rescue): Removed.
30737 (cmd_normal): Removed.
30738 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30740 (grub_cmdline_run): New function.
30741 (grub_normal_reader_init): Likewise.
30742 (grub_normal_read_line): Likewise.
30743 (grub_env_write_pager): Likewise.
30744 (cmdline): New variable.
30745 (grub_normal_reader): Likewise.
30746 (GRUB_MOD_INIT): Register normal reader and set as current, register
30747 pager hook, register normal command with grub_register_command_prio,
30748 so that it won't show up in command.lst.
30749 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30750 grub_fs_autoload_hook.
30752 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30753 (grub_menu_execute_entry): Replace grub_script_execute with
30754 grub_parser_execute, change parameter to grub_command_execute.
30756 * normal/menu_text.c: Remove <grub/script.h>.
30758 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30759 and <grub/parser.h>.
30760 (run): Change editor_getline to use new parser interface. Change
30761 parameter to grub_command_execute.
30763 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30764 <grub/reader.h> and <grub/parser.h>.
30765 (grub_load_normal_mode): Execute normal command.
30766 (grub_main): Call grub_register_core_commands,
30767 grub_register_rescue_parser and grub_register_rescue_reader, use
30768 grub_reader_loop to enter input loop.
30770 * kern/parser.c (grub_parser_split_cmdline): Change type of
30772 (grub_parser_class): New variable.
30773 (grub_parser_execute): New function.
30775 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30776 * loader/multiboot2.c: Likewise.
30777 * loader/sparc64/ieee1275/linux.c: Likewise.
30779 * util/grub-emu.c (read_command_list): New dummy function.
30781 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30783 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30784 count to 16 for CCISS and IDA.
30786 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30788 * normal/menu_text.c (grub_wait_after_message): Print a newline
30789 after waiting for user input.
30791 * loader/i386/linux.c: Include `<grub/normal.h>'.
30792 (grub_cmd_linux): Improve the error message about `ask' mode, by
30793 waiting for user input so it's not missed (we can do this, since
30794 user requested interaction).
30796 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30798 Added missing lst to grub-mkrescue
30800 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30801 and ${input_dir}/parttool.lst
30803 2009-04-30 David S. Miller <davem@davemloft.net>
30805 * util/hostdisk.c (device_is_wholedisk): New function.
30806 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30807 zero only if device_is_wholedisk() returns true.
30809 * util/hostdisk.c (convert_system_partition_to_system_disk):
30810 Handle virtual disk devices named /dev/vdiskX as found on sparc
30813 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30814 lettered partition specifier is found, convert to numbered.
30816 2009-04-29 David S. Miller <davem@davemloft.net>
30818 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30819 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30821 * normal/command.c: Add missing newline at end of file.
30823 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30825 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30826 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30827 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30828 ihandles have a 32-bit type but need to be stored in a "void *".
30830 2009-04-28 Pavel Roskin <proski@gnu.org>
30832 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30833 not disk. Adjust all dependencies.
30834 (grub_fs_uuid_close): Use grub_device_close(), not
30837 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30838 parent's partition, don't copy it by reference, as it gets freed
30841 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30843 Preboot hooks support
30845 * commands/boot.c (struct grub_preboot_t): new declaration
30846 (preboots_head): new variable
30847 (preboots_tail): likewise
30848 (grub_loader_register_preboot_hook): new function
30849 (grub_loader_unregister_preboot_hook): likewise
30850 (grub_loader_set): launch preboot hooks
30851 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30852 (grub_loader_register_preboot_hook): new declaration
30853 (grub_loader_unregister_preboot_hook): likewise
30855 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30859 * disk/scsi.c (grub_scsi_open): added missing cast when
30860 calling grub_dprintf
30862 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30864 Bug and warning fixes
30866 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
30868 * commands/test.c (test_parse): fixed bug with file tests and corrected
30869 declaration of find_file
30871 2009-04-26 Pavel Roskin <proski@gnu.org>
30873 * Makefile.in: Don't install empty manual pages if help2man is
30874 missing. Use help2man option for output, not shell redirection.
30876 2009-04-26 David S. Miller <davem@davemloft.net>
30878 * util/grub-mkdevicemap.c (make_device_map): Add missing
30879 NESTED_FUNC_ATTR to process_device().
30881 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30885 * commands/test.c: rewritten to use bash-like test
30887 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30889 Parttool autoloading and improvements
30891 * Makefile.in (pkglib_DATA): add parttool.lst
30892 (parttool.lst): new target
30893 * genmk.rb: generate parttool-*
30894 (CLEANFILES): add #{parttool}
30895 (PARTTOOLFILES): new variable
30896 * genparttoollist.sh: new file
30897 * parttool/pcpart.c (grub_pcpart_boot): more feedback
30898 (grub_pcpart_type): likewise
30899 * commands/parttool.c (helpmsg): new variable
30900 (grub_cmd_parttool): output help if not enough arguments are supplied
30902 (GRUB_MOD_INIT(parttool)): use helpmsg
30904 2009-04-24 David S. Miller <davem@davemloft.net>
30906 Avoiding opening same device multiple times in device iterator.
30908 * kern/device.c: (grub_device_iterate): Define struct part_ent,
30909 and use it to build a list of partitions in iterate_disk() and
30910 iterate_partition().
30912 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
30915 * disk/ieee1275/nand.c (grub_nand_iterate): Return
30916 grub_devalias_iterate() result instead of unconditional 0.
30917 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
30918 Also, capture hook return value, either directly or via
30919 grub_children_iterate(), and propagate to caller.
30920 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
30921 grub_children_iterate): Return value is now 'int' instead of
30923 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
30924 like a proper iterator, stopping when hooks return non-zero.
30925 (grub_devalias_iterate): Likewise.
30927 2009-04-23 David S. Miller <davem@davemloft.net>
30929 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
30931 2009-04-22 David S. Miller <davem@davemloft.net>
30933 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
30934 is larger than address_cells, use that value for address_cells too.
30936 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
30937 IEEE1275_MAX_PATH_LEN): Define.
30938 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
30939 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
30940 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
30941 'devtype'. Explicitly NULL terminate devalias expansion.
30943 * util/sparc64/ieee1275/misc.c: New file.
30944 * util/sparc64/ieee1275/grub-setup.c: New file.
30945 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
30946 * util/sparc64/ieee1275/grub-mkimage.c: New file.
30947 * util/sparc64/ieee1275/grub-install.in: New file.
30948 * util/ieee1275/ofpath.c: New file.
30949 * util/ieee1275/devicemap.c: New file.
30950 * util/devicemap.c: New file.
30951 * util/deviceiter.c: New file.
30952 * kern/sparc64/ieee1275/init.c: New file.
30953 * include/grub/util/ofpath.h: New file.
30954 * include/grub/util/deviceiter.h: New file.
30955 * util/grub-mkdevicemap.c: Include deviceiter.h.
30956 Implement using grub_util_emit_devicemap_entry and
30957 grub_util_iterate_devices.
30958 * conf/i386-corebook.rmk: Build util/deviceiter.c and
30959 util/devicemap.c into grub-mkdevicemap
30960 * conf/i386-efi.rmk: Likewise.
30961 * conf/i386-ieee1275.rmk: Likewise.
30962 * conf/i386-pc.rmk: Likewise.
30963 * conf/powerpc-ieee1275.rmk: Likewise.
30964 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
30965 images and installation utilities. Build kernel as image
30966 instead of as elf binary. Use common rules as much as possible.
30968 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
30970 Correct GPT definition
30972 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30975 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
30977 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
30979 2009-04-19 David S. Miller <davem@davemloft.net>
30981 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
30982 (grub_rescue_cmd_linux): Rename to...
30983 (grub_cmd_linux): and fix prototype.
30984 (grub_rescue_cmd_initrd): Rename to...
30985 (grub_cmd_initrd): and fix prototype.
30986 (cmd_linux, cmd_initrd): New.
30987 (GRUB_MOD_INIT(linux)): Use grub_register_command().
30988 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
30990 2009-04-17 Pavel Roskin <proski@gnu.org>
30992 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
30994 (grub_ohci_transfer): Likewise.
30996 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
30998 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
30999 return without a value. Fix inconsistent indentation.
31001 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31002 match struct grub_fs.
31004 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31005 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31006 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31007 * commands/lspci.c (grub_lspci_iter): Likewise.
31009 2009-04-16 Bean <bean123ch@gmail.com>
31011 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31014 2009-04-15 Pavel Roskin <proski@gnu.org>
31016 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31017 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31018 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31021 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31023 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
31024 that no multiple data or metadata areas are supported and `Unknown
31027 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31029 Move loader out of the kernel
31031 * kern/loader.c: moved to ...
31032 * commands/boot.c: ... moved here
31033 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31034 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31035 * include/grub/kernel.h (grub_machine_fini): export
31036 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31037 (grub_loader_set): likewise
31038 (grub_loader_unset): likewise
31039 (grub_loader_boot): likewise
31040 * conf/common.rmk: new module boot.mod
31041 (pkglib_MODULES): add boot.mod
31042 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31043 (grub_emu_SOURCES): likewise
31044 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31045 (grub_emu_SOURCES): likewise
31046 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31047 (grub_emu_SOURCES): likewise
31048 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31049 (grub_emu_SOURCES): likewise
31050 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31051 (grub_emu_SOURCES): likewise
31052 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31053 (grub_emu_SOURCES): likewise
31054 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
31055 (grub_emu_SOURCES): likewise
31057 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31059 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
31061 * kern/misc.c (grub_itoa): Removed function
31062 (grub_ltoa): likewise
31063 (grub_vsprintf): use grub_lltoa
31065 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31069 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31070 * conf/i386-coreboot.rmk: likewise
31071 * conf/i386-ieee1275.rmk: likewise
31072 * conf/powerpc-ieee1275.rmk: likewise
31074 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31076 * INSTALL: Add that `./autogen.sh' needs to be run before
31079 2009-04-14 Bean <bean123ch@gmail.com>
31081 * Makefile.in (pkglib_DATA): Add handler.lst.
31082 (handler.lst): New rule.
31084 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31085 * conf/i386-coreboot.rmk: Likewise.
31086 * conf/i386-ieee1275.rmk: Likewise.
31087 * conf/i386-efi.rmk: Likewise.
31088 * conf/x86_64-efi.rmk: Likewise.
31089 * conf/powerpc-ieee1275.rmk: Likewise.
31090 * conf/sparc64-ieee1275.rmk: Likewise.
31092 * genhandlerlist.sh: New file.
31094 * genmk.rb: Add rules to generate handler.lst.
31096 * include/grub/normal.h (grub_file_getline): New function definition.
31097 (read_handler_list): Likewise.
31098 (free_handler_list): Likewise.
31100 * include/grub/term.h (grub_term_register_input): Add name parameter
31101 for auto generation of handler.lst.
31102 (grub_term_register_output): Likewise.
31104 * normal/handler.c: New file.
31106 * normal/main.c (get_line): Renamed to grub_file_getline.
31107 (read_config_file): Use the newly renamed grub_file_getline.
31108 (read_command_list): Likewise.
31109 (read_fs_list): Likewise.
31110 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31111 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31113 * term/efi/console.c (grub_console_init): Add name parameter for auto
31114 generation of handler.lst.
31115 * term/gfxterm.c: Likewise.
31116 * term/i386/pc/at_keyboard.c: Likewise.
31117 * term/i386/pc/console.c: Likewise.
31118 * term/i386/pc/serial.c: Likewise.
31119 * term/i386/pc/vesafb.c: Likewise.
31120 * term/i386/pc/vga.c: Likewise.
31121 * term/i386/pc/vga_text.c: Likewise.
31122 * term/ieee1275/ofconsole.c: Likewise.
31123 * term/usb_keyboard.c: Likewise.
31125 2009-04-14 Bean <bean123ch@gmail.com>
31127 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31128 properly with null character.
31130 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31132 * configure: Remove.
31133 * config.h.in: Likewise.
31134 * stamp-h.in: Likewise.
31135 * DISTLIST: Likewise.
31136 * conf/common.mk: Likewise.
31137 * conf/i386-coreboot.mk: Likewise.
31138 * conf/i386-efi.mk: Likewise.
31139 * conf/i386-ieee1275.mk: Likewise.
31140 * conf/i386.mk: Likewise.
31141 * conf/i386-pc.mk: Likewise.
31142 * conf/powerpc-ieee1275.mk: Likewise.
31143 * conf/sparc64-ieee1275.mk: Likewise.
31144 * conf/x86_64-efi.mk: Likewise.
31146 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31149 2009-04-14 John Stanley <jpsinthemix@verizon.net>
31150 David S. Miller <davem@davemloft.net>
31152 * util/hostdisk.c (make_device_name): Fix buffer length
31155 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31157 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31158 <sys/param.h> and <sys/sysctl.h>.
31159 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31160 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31161 opening the device and reset them afterwards.
31163 2009-04-13 Pavel Roskin <proski@gnu.org>
31165 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31166 Reported by John Stanley <jpsinthemix@verizon.net>
31168 2009-04-13 Robert Millan <rmh@aybabtu.com>
31170 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
31171 that name for menuentries when appropriate.
31173 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31175 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31177 2009-04-13 Robert Millan <rmh@aybabtu.com>
31179 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31180 to Linux, simply abort telling the user it's no longer supported.
31182 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31184 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
31185 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
31186 `freebsd_loadenv' only when devices.hints exist.
31188 2009-04-13 Pavel Roskin <proski@gnu.org>
31190 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31192 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31194 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31196 (grub_drive): Likewise.
31198 2009-04-13 David S. Miller <davem@davemloft.net>
31200 * kern/sparc64/ieee1275/ieee1275.c: New file.
31201 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31202 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31203 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31204 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31205 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31206 grub_ieee1275_alloc_physmem): Declare new exported functions.
31208 * include/grub/sparc64/ieee1275/loader.h: New file.
31209 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31210 * include/grub/sparc64/kernel.h: Likewise.
31211 * loader/sparc64/ieee1275/linux.c: Likewise.
31213 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31214 (grub_fstest_SOURCES): Likewise.
31216 * util/hostdisk.c (make_device_name): Do not make any assumptions
31217 about the length of drive names.
31219 * kern/dl.c (grub_dl_load_file): Close file immediately when
31220 we are done using it.
31222 2009-04-12 David S. Miller <davem@davemloft.net>
31224 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31225 values. Noticed by Pavel Roskin.
31227 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31230 * genmk.rb: Add more flexible image type specification, also
31231 pass --strip-unneeded to objcopy.
31232 * conf/i386-pc.rmk: Use *_FORMAT.
31233 * conf/i386-pc.mk: Rebuilt.
31235 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31236 (OFDISK_HASH_SZ): Define.
31237 (ofdisk_hash): New hash table.
31238 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31239 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31240 instead of device phandle which is not unique.
31242 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31243 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31244 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31245 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31246 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31247 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31248 GRUB_KERNEL_MACHINE_DATA_END): Define.
31249 (grub_kernel_image_size, grub_total_module_size): Declare.
31251 2009-04-12 Pavel Roskin <proski@gnu.org>
31253 * configure.ac: Change the logic when we check for target tools.
31254 Do it when the target is specified and it's different from the
31255 specified value of the host.
31257 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
31259 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31260 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31261 GNU/kFreeBSD. Check if a device is a character device. Use
31262 DIOCGMEDIASIZE to get the size.
31263 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31264 support for GNU/kFreeBSD.
31265 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31266 is a character device instead of a block device. Add support for
31267 FreeBSD device names.
31269 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31270 is a character device instead of a block device.
31272 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31273 is a character device instead of a block device.
31275 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31277 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31278 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31279 FreeBSD. Check if a device is a character device. Use
31280 DIOCGMEDIASIZE to get the size.
31281 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31282 support for FreeBSD.
31283 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31284 is a character device instead of a block device. Add support for
31285 FreeBSD device names.
31287 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31288 a character device instead of a block device.
31289 (grub_util_check_char_device): New function.
31291 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31292 a character device instead of a block device.
31294 * include/grub/util/getroot.h (grub_util_check_char_device): New
31297 2009-04-11 David S. Miller <davem@davemloft.net>
31299 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31301 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31302 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31303 function, if present.
31304 (__bswapdi2): Likewise.
31306 * include/grub/sparc64/ieee1275/boot.h: New file.
31307 * boot/sparc64/ieee1275/boot.S: Likewise.
31308 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31310 * kern/misc.c (grub_ltoa): New function.
31311 (grub_vsprintf): Use it to format 'long' integers.
31313 2009-04-10 David S. Miller <davem@davemloft.net>
31315 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31316 slots are of type grub_ieee1275_cell_t.
31317 (grub_nand_read): Likewise.
31318 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31319 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31320 macros are used to compare values in arg/ret block of the call.
31321 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31322 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31323 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31324 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31325 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31326 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31327 grub_ieee1275_close, grub_ieee1275_set_property,
31328 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31329 grub_ieee1275_cell_t.
31330 * kern/ieee1275/openfw.c (grub_map): Likewise.
31331 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31332 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31334 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31335 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31336 (grub_devalias_iterate): Likewise.
31338 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
31342 * fs/ufs.c (INODE_NBLOCKS): new definition
31343 (struct grub_ufs_dirent): added fields for non-BSD dirents
31344 (grub_ufs_get_file_block): fixed double indirect handling
31345 (grub_ufs_lookup_symlink): use more robust way to determine whether
31347 (grub_ufs_find_file): support for non-BSD dirents
31348 (grub_ufs_dir): support for non-BSD dirents
31350 2009-04-10 Bean <bean123ch@gnail.com>
31352 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31353 attribute, otherwise the size would be wrong for i386 platform.
31355 * include/grub/pci.h (grub_pci_read_word): New inline function.
31356 (grub_pci_read_byte): Likewise.
31357 (grub_pci_write): Likewise.
31358 (grub_pci_write_word): Likewise.
31359 (grub_pci_write_byte): Likewise.
31361 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31363 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31364 (find_framebuf): Scan pci to locate the frame buffer address.
31366 * commands/efi/fixvideo.c: New file.
31368 * commands/efi/loadbios.c: Likewise.
31370 * commands/memrw.c: Likewise.
31372 * util/grub-dumpbios.in: Likewise.
31374 * conf/common.rmk (grub-dumpbios): New utility.
31375 (pkglib_MODULES): New module memrw.mod.
31376 (memrw_mod_SOURCE): New macro.
31377 (memrw_mod_CFLAGS): Likewise.
31378 (memrw_mod_LDFLAGS): Likewise.
31380 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
31382 (loadbios_mod_SOURCE): New macro.
31383 (loadbios_mod_CFLAGS): Likewise.
31384 (loadbios_mod_LDFLAGS): Likewise.
31385 (fixvideo_mod_SOURCE): Likewise.
31386 (fixvideo_mod_CFLAGS): Likewise.
31387 (fixvideo_mod_LDFLAGS): Likewise.
31389 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
31391 (loadbios_mod_SOURCE): New macro.
31392 (loadbios_mod_CFLAGS): Likewise.
31393 (loadbios_mod_LDFLAGS): Likewise.
31394 (fixvideo_mod_SOURCE): Likewise.
31395 (fixvideo_mod_CFLAGS): Likewise.
31396 (fixvideo_mod_LDFLAGS): Likewise.
31398 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
31400 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31402 2009-04-07 David S. Miller <davem@davemloft.net>
31404 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31405 support for R_SPARC_OLO10 relocations. Fix compile warning for
31406 R_SPARC_WDISP30 case.
31407 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
31409 2009-04-06 Pavel Roskin <proski@gnu.org>
31411 * include/grub/misc.h (ARRAY_SIZE): New macro.
31412 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31414 * loader/i386/linux.c (allocate_pages): Use free_pages().
31415 (grub_linux_unload): Don't use free_pages().
31416 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31417 wrong index. Treat all other modes as text modes.
31418 (grub_cmd_linux): Initialize vid_mode unconditionally to
31419 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31421 * commands/help.c (print_command_help): Use cmd->prio, not
31422 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31424 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
31428 * parttool/pcpart.c: new file
31429 * commands/parttool.c: likewise
31430 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31431 (parttool_mod_SOURCES): new variable
31432 (parttool_mod_CFLAGS): likewise
31433 (parttool_mod_LDFLAGS): likewise
31434 (pcpart_mod_SOURCES): likewise
31435 (pcpart_mod_CFLAGS): likewise
31436 (pcpart_mod_LDFLAGS): likewise
31437 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
31438 and parttool/pcpart.c
31439 * conf/i386-efi.rmk: likewise
31440 * conf/i386-ieee1275.rmk: likewise
31441 * conf/i386-pc.rmk: likewise
31442 * conf/powerpc-ieee1275.rmk: likewise
31443 * conf/sparc64-ieee1275.rmk: likewise
31444 * conf/x86_64-ieee1275.rmk: likewise
31446 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31448 Support for mtime and further expandability of dir command
31450 * include/grub/lib/datetime.h: moved to ...
31451 * include/grub/datetime.h: ... moved here and added
31452 declaration of grub_unixtime2datetime. All users updated
31453 * include/grub/fs.h: new syntax for dir and mtime functions in
31455 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31456 and GRUB_FSHELP_FLAGS_MASK
31457 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31458 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31459 (grub_ext2_mtime): new function
31460 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31461 (grub_hfsplus_mtime): new function
31462 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31463 (GRUB_UFS_ATTR_FILE): likewise
31464 (GRUB_UFS_ATTR_LNK): likewise
31465 (struct grub_ufs_sblock): new fields mtime
31466 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31468 (grub_ufs_dir): mtime support
31469 (grub_ufs_mtime): new function
31470 * fs/affs.c (grub_affs_dir): use new dir syntax
31471 * fs/afs.c (grub_afs_dir): likewise
31472 * fs/cpio.c (grub_cpio_dir): likewise
31473 * fs/fat.c (grub_fat_find_dir): likewise
31474 * fs/hfs.c (grub_hfs_dir): likewise
31475 * fs/iso9660.c (grub_iso9660_dir): likewise
31476 * fs/jfs.c (grub_jfs_dir): likewise
31477 * fs/minix.c (grub_minix_dir): likewise
31478 * fs/ntfs.c (grub_ntfs_dir): likewise
31479 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31480 * fs/sfs.c (grub_sfs_dir): likewise
31481 * fs/xfs.c (grub_xfs_dir): likewise
31482 * util/hostfs.c (grub_hostfs_dir): likewise
31483 * lib/datetime.c: moved to ...
31484 * normal/datetime.c: ... moved here
31485 (grub_unixtime2datetime): new function
31486 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
31487 * normal/completion.c (iterate_dir): use new dir syntax
31488 * normal/misc.c (grub_normal_print_device_info): tell the
31489 last modification time of a volume
31490 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
31491 * conf/common.rmk: added lib/datetime.c to ls.mod
31492 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
31493 (normal_mod_SOURCES): likewise
31494 (datetime_mod_SOURCES): Removed lib/datetime.c
31495 * conf/i386-efi.rmk: likewise
31496 * conf/i386-ieee1275.rmk: likewise
31497 * conf/i386-pc.rmk: likewise
31498 * conf/powerpc-ieee1275.rmk: likewise
31499 * conf/sparc64-ieee1275.rmk: likewise
31500 * conf/x86_64-efi.rmk: likewise
31502 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31504 Trim trailing spaces in FAT label and support mtools-like labels
31506 * fs/fat.c (grub_fat_iterate_dir): New function based
31507 on grub_fat_find_dir
31508 (grub_fat_find_dir): use grub_fat_iterate_dir
31509 (grub_fat_label): likewise
31511 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31513 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
31515 remove extraneous kernel_elf_HEADERS
31517 2009-04-04 Bean <bean123ch@gnail.com>
31519 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31521 * util/misc.c: Likewise.
31523 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31525 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31526 instead of grub_printf.
31528 2009-04-03 Robert Millan <rmh@aybabtu.com>
31530 * loader/i386/linux.c (grub_linux_setup_video): Fill
31531 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31532 values from `mode info' structure instead of hardcoded
31535 2009-04-01 Pavel Roskin <proski@gnu.org>
31537 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31539 * genmk.rb: Likewise.
31540 * configure.ac: Likewise.
31542 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31544 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31545 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31547 2009-04-01 David S. Miller <davem@davemloft.net>
31549 * normal/sparc64/setjmp.S: Fix setjmp implementation.
31550 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
31551 (grub_setjmp): Mark with 'returns_twice' attribute.
31552 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31553 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31554 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31556 2009-04-01 Robert Millan <rmh@aybabtu.com>
31558 Reapply fix from 2008-07-28 which was accidentally reverted; also
31559 perform the same fix to a similar check in same function.
31561 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31562 with the same number are found, just use issue a warning with
31563 grub_dprintf(), as this error has been reported to be non-fatal.
31565 2009-03-31 Pavel Roskin <proski@gnu.org>
31567 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31568 for cross-compilation.
31570 2009-03-30 Robert Millan <rmh@aybabtu.com>
31572 Fix i386-ieee1275 build.
31574 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31575 Remove declaration.
31577 2009-03-30 Pavel Roskin <proski@gnu.org>
31579 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31580 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31581 zero-terminated, rely only on the strlen value. Fix comparison
31582 of strings differing in length.
31584 2009-03-30 Robert Millan <rmh@aybabtu.com>
31586 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31587 checking for abi version. Improve error messages on BIOS to notify
31588 user about `linux16' command.
31590 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31594 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31595 in case of collision
31596 * disk/scsi.c (grub_scsi_open): free scsi in case of error
31598 2009-03-29 Robert Millan <rmh@aybabtu.com>
31600 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31601 set `vid_mode' accordingly.
31602 (grub_linux_boot): Process `vid_mode' and set video mode.
31604 2009-03-29 Robert Millan <rmh@aybabtu.com>
31606 * util/grub.d/10_linux.in (linux_entry): New function.
31607 Factorize generation of Linux boot entries.
31609 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31611 Make the format of Environment Block plain text. The boot loader
31612 part is not tested well yet.
31614 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31616 (envblk): Likewise.
31617 (usage): Remove "info" and "clear". Add "unset". Update the
31618 description of "set", as this does not delete variables any
31620 (create_envblk_file): Complete rewrite.
31621 (open_envblk_file): Likewise.
31622 (cmd_info): Removed.
31623 (cmd_list): Likewise.
31624 (cmd_set): Likewise.
31625 (cmd_clear): Likewise.
31626 (list_variables): New function.
31627 (write_envblk): Likewise.
31628 (set_variables): Likewise.
31629 (unset_variables): Likewise.
31630 (main): Complete rewrite.
31632 * commands/loadenv.c (buffer): Removed.
31633 (envblk): Likewise.
31634 (open_envblk_file): New function.
31635 (read_envblk_file): Complete rewrite.
31636 (grub_cmd_load_env): Likewise.
31637 (grub_cmd_list_env): Likewise.
31638 (struct blocklist): New struct.
31639 (free_blocklists): New function.
31640 (check_blocklists): Likewise.
31641 (write_blocklists): Likewise.
31642 (grub_cmd_save_env): Complete rewrite.
31644 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31645 a plain text signature.
31646 (GRUB_ENVBLK_MAXLEN): Removed.
31647 (struct grub_envblk): Complete rewrite.
31648 (grub_envblk_find): Removed.
31649 (grub_envblk_insert): Likewise.
31650 (grub_envblk_open): New prototype.
31651 (grub_envblk_set): Likewise.
31652 (grub_envblk_delete): Put const to VALUE.
31653 (grub_envblk_iterate): Put const to NAME and VALUE.
31654 (grub_envblk_close): New prototype.
31655 (grub_envblk_buffer): New inline function.
31656 (grub_envblk_size): Likewise.
31658 * lib/envblk.c: Include grub/mm.h.
31659 (grub_env_find): Removed.
31660 (grub_envblk_open): New function.
31661 (grub_envblk_close): Likewise.
31662 (escaped_value_len): Likewise.
31663 (find_next_line): Likewise.
31664 (grub_envblk_insert): Removed.
31665 (grub_envblk_set): New function.
31666 (grub_envblk_delete): Complete rewrite.
31667 (grub_envblk_iterate): Likewise.
31669 2009-03-28 Robert Millan <rmh@aybabtu.com>
31671 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31672 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31673 variables. Use 16-bit loader.
31674 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31676 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31677 (grub_linux16_boot): ... this. Update all users.
31678 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31679 (grub_linux_boot): ... this. Update all users.
31681 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31682 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31683 commands to `linux16' and `initrd16'.
31684 (GRUB_MOD_FINI(linux)): Rename to ...
31685 (GRUB_MOD_FINI(linux16)): ... this.
31687 2009-03-24 Pavel Roskin <proski@gnu.org>
31689 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31690 not just for compilation.
31692 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31694 Move multiboot helper out of kernel
31696 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31697 `loader/i386/multiboot_helper.S'.
31698 * conf/i386-coreboot.rmk: Likewise
31699 * conf/i386-ieee1275.rmk: Likewise
31701 * kern/i386/loader.S: Move multiboot helpers from here...
31702 * loader/i386/multiboot_helper.S: ...moved here
31703 * include/grub/i386/loader.h: Move declarations of multiboot
31704 helpers from here...
31705 * include/grub/i386/multiboot.h: ...moved here
31706 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31708 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31710 * kern/env.c (grub_env_context_open): Added an argument to specify
31711 whether a new context inherits exported variables from current
31712 one. This is useful when making a sandbox to interpret a config
31714 All callers updated.
31716 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31718 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31720 * kern/env.c (grub_env_context_close): Fix memory leaks.
31722 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31724 * normal/main.c (grub_normal_execute): Added an argument
31725 BATCH to specify if an interactive interface should be provided
31726 after reading a config file.
31727 All callers updated.
31728 (read_command_list): Prevent being executed twice.
31729 (read_fs_list): Likewise.
31731 * include/grub/normal.h (grub_normal_execute): Updated the
31734 2009-03-22 Pavel Roskin <proski@gno.org>
31736 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31738 * kern/i386/pc/startup.S: Likewise.
31739 * kern/i386/efi/startup.S: Likewise.
31740 * kern/i386/ieee1275/startup.S: Likewise.
31741 * kern/i386/coreboot/startup.S: Likewise.
31742 * kern/x86_64/efi/startup.S: Likewise.
31744 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31745 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31746 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31748 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31750 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31752 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31754 Use vaddr of correct segment for entry_point.
31756 2009-03-21 Bean <bean123ch@gmail.com>
31758 * commands/blocklist.c: Add include file <grub/command.h>, remove
31759 <grub/normal.h> and <grub/arg.h>.
31760 (grub_cmd_blocklist): Use the new command interface.
31761 (GRUB_MOD_INIT): Likewise.
31762 (GRUB_MOD_FINI): Likewise.
31763 * commands/boot.c: Likewise.
31764 * commands/cat.c: Likewise.
31765 * commands/cmp.c: Likewise.
31766 * commands/configfile.c: Likewise.
31767 * commands/crc.c: Likewise.
31768 * commands/echo.c: Likewise.
31769 * commands/halt.c: Likewise.
31770 * commands/handler.c: Likewise.
31771 * commands/hdparm.c: Likewise.
31772 * commands/help.c: Likewise.
31773 * commands/hexdump.c: Likewise.
31774 * commands/loadenv.c: Likewise.
31775 * commands/ls.c: Likewise.
31776 * commands/lsmmap.c: Likewise.
31777 * commands/lspci.c: Likewise.
31778 * commands/loadenv.c: Likewise.
31779 * commands/read.c: Likewise.
31780 * commands/reboot.c: Likewise.
31781 * commands/search.c: Likewise.
31782 * commands/sleep.c: Likewise.
31783 * commands/test.c: Likewise.
31784 * commands/usbtest.c: Likewise.
31785 * commands/videotest.c: Likewise.
31786 * commands/i386/cpuid.c: Likewise.
31787 * commands/i386/pc/halt.c: Likewise.
31788 * commands/i386/pc/play.c: Likewise.
31789 * commands/i386/pc/pxecmd.c: Likewise.
31790 * commands/i386/pc/vbeinfo.c: Likewise.
31791 * commands/i386/pc/vbetest.c: Likewise.
31792 * commands/ieee1275/suspend.c: Likewise.
31793 * disk/loopback.c: Likewise.
31794 * font/font_cmd.c: Likewise.
31795 * hello/hello.c: Likewise.
31796 * loader/efi/appleloader.c: Likewise.
31797 * loader/efi/chainloader.c: Likewise.
31798 * loader/i386/bsd.c: Likewise.
31799 * loader/i386/efi/linux.c: Likewise.
31800 * loader/i386/ieee1275/linux.c: Likewise.
31801 * loader/i386/linux.c: Likewise.
31802 * loader/i386/pc/chainloader.c: Likewise.
31803 * loader/i386/pc/linux.c: Likewise.
31804 * loader/powerpc/ieee1275/linux.c: Likewise.
31805 * loader/multiboot_loader.c: Likewise.
31806 * term/gfxterm.c: Likewise.
31807 * term/i386/pc/serial.c: Likewise.
31808 * term/terminfo.c: Likewise.
31810 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31811 * term/i386/pc/vga.c: Likewise.
31812 * video/readers/jpeg.c: Likewise.
31813 * video/readers/png.c: Likewise.
31814 * video/readers/tga.c: Likewise.
31816 * util/grub-fstest (cmd_loopback): Removed.
31817 (cmd_blocklist): Likewise.
31818 (cmd_ls): Likewise.
31819 (grub_register_command): Likewise.
31820 (grub_unregister_command): Likewise.
31821 (execute_command): Use grub_command_find to locate command and execute
31824 * include/grub/efi/chainloader.h: Removed.
31825 * loader/efi/chainloader_normal.c: Likewise.
31826 * loader/i386/bsd_normal.c: Likewise.
31827 * loader/i386/pc/chainloader_normal.c: Likewise.
31828 * loader/i386/pc/multiboot_normal.c: Likewise.
31829 * loader/linux_normal.c: Likewise.
31830 * loader/multiboot_loader_normal.c: Likewise.
31831 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31833 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31834 and grub_register_command_p1.
31836 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31837 kern/command.c, lib/arg.c and commands/extcmd.c.
31838 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31839 (minicmd_mod_SOURCES): New variable.
31840 (minicmd_mod_CFLAGS): Likewise.
31841 (minicmd_mod_LDFLAGS): Likewise.
31842 (extcmd_mod_SOURCES): Likewise.
31843 (extcmd_mod_CFLAGS): Likewise.
31844 (extcmd_mod_LDFLAGS): Likewise.
31845 (boot_mod_SOURCES): Removed.
31846 (boot_mod_CFLAGS): Likewise.
31847 (boot_mod_LDFLAGS): Likewise.
31849 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31851 (kernel_img_HEADERS): Add command.h.
31852 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31853 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31855 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31856 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31857 remove the corresponding normal mode command.
31858 (normal_mod_SOURCES): Remove normal/arg.c.
31859 * conf/i386-coreboot.rmk: Likewise.
31860 * conf/i386-efi.rmk: Likewise.
31861 * conf/i386-ieee1275.rmk: Likewise.
31862 * conf/powerpc-ieee1275.rmk: Likewise.
31863 * conf/x86_64-efi.rmk: Likewise.
31865 * include/grub/arg.h: Move from here ...
31866 * include/grub/lib/arg.h: ... to here.
31868 * normal/arg.c: Move from here ...
31869 * lib/arg.c: ... to here.
31871 * commands/extcmd.c: New file.
31872 * commands/minicmd.c: Likewise.
31873 * include/grub/command.h: Likewise.
31874 * include/grub/extcmd.h: Likewise.
31875 * kern/command.c: Likewise.
31876 * kern/corecmd.c: Likewise.
31878 * kern/list.c (grub_list_iterate): Return int instead of void.
31879 (grub_list_insert): New function.
31880 (grub_prio_list_insert): Likewise.
31882 * kern/rescue.c (grub_rescue_command): Removed.
31883 (grub_rescue_command_list): Likewise.
31884 (grub_rescue_register_command): Likewise.
31885 (grub_rescue_unregister_command): Likewise.
31886 (grub_rescue_cmd_boot): Move to minicmd.c
31887 (grub_rescue_cmd_help): Likewise.
31888 (grub_rescue_cmd_info): Likewise.
31889 (grub_rescue_cmd_boot): Likewise.
31890 (grub_rescue_cmd_testload): Likewise.
31891 (grub_rescue_cmd_dump): Likewise.
31892 (grub_rescue_cmd_rmmod): Likewise.
31893 (grub_rescue_cmd_lsmod): Likewise.
31894 (grub_rescue_cmd_exit): Likewise.
31895 (grub_rescue_print_devices): Moved to corecmd.c.
31896 (grub_rescue_print_files): Likewise.
31897 (grub_rescue_cmd_ls): Likewise.
31898 (grub_rescue_cmd_insmod): Likewise.
31899 (grub_rescue_cmd_set): Likewise.
31900 (grub_rescue_cmd_unset): Likewise.
31901 (attempt_normal_mode): Use grub_command_find to get normal module.
31902 (grub_enter_rescue_mode): Use grub_register_core_commands to register
31903 commands, remove grub_rescue_register_command calls.
31905 * normal/command.c (grub_register_command): Removed.
31906 (grub_unregister_command): Likewise.
31907 (grub_command_find): Likewise.
31908 (grub_iterate_commands): Likewise.
31909 (rescue_command): Likewise.
31910 (export_command): Moved to corecmd.c.
31911 (set_command): Removed.
31912 (unset_command): Likewise.
31913 (insmod_command): Likewise.
31914 (rmmod_command): Likewise.
31915 (lsmod_command): Likewise.
31916 (grub_command_init): Likewise.
31918 * normal/completion.c (iterate_command): Use cmd->prio to check for
31920 (complete_arguments): Use grub_extcmd_t structure to find options.
31921 (grub_normal_do_completion): Change function grub_iterate_commands to
31922 grub_command_iterate.
31924 * normal/execute.c (grub_script_execute_cmd): No need to parse
31927 * normal/main.c (grub_dyncmd_dispatcher): New function.
31928 (read_command_list): Register unload commands as dyncmd.
31929 (grub_cmd_normal): Use new command interface, register rescue,
31930 unregister normal at entry, register normal, unregister rescue at exit.
31932 * include/grub/list.h (grub_list_test_t): New type.
31933 (grub_list_iterate): Return int instead of void.
31934 (grub_list_insert): New function.
31935 (GRUB_AS_NAMED_LIST_P): New macro.
31936 (GRUB_AS_PRIO_LIST): Likewise.
31937 (GRUB_AS_PRIO_LIST_P): Likewise.
31938 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
31939 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
31940 (grub_prio_list): New structure.
31941 (grub_prio_list_insert): New function.
31942 (grub_prio_list_remove): New inline function.
31944 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
31945 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
31946 (GRUB_COMMAND_FLAG_MENU): Likewise.
31947 (GRUB_COMMAND_FLAG_BOTH): Likewise.
31948 (GRUB_COMMAND_FLAG_TITLE): Likewise.
31949 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
31950 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
31951 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
31952 (grub_command): Likewise.
31953 (grub_register_command): Likewise.
31954 (grub_command_find): Likewise.
31955 (grub_iterate_commands): Likewise.
31956 (grub_command_init): Likewise.
31957 (grub_arg_parse): Likewise.
31958 (grub_arg_show_help): Likewise.
31960 * include/grub/rescue.h (grub_rescue_register_command): Removed.
31961 (grub_rescue_unregister_command): Likewise.
31963 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
31964 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
31965 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
31967 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
31968 grub_rescue_cmd_initrd.
31969 * include/grub/i386/loader.h: Likewise.
31970 * include/grub/x86_64/loader.h: Likewise.
31972 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
31974 2009-03-21 Bean <bean123ch@gmail.com>
31976 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
31977 instead of stat in mingw environment.
31979 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
31981 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
31983 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
31986 2009-03-21 Bean <bean123ch@gmail.com>
31988 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
31989 out of range error.
31991 2009-03-18 Michel Dänzer <michel@daenzer.net>
31993 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
31994 checking inode flags for EXT4_EXTENTS_FLAG.
31996 2009-03-18 Robert Millan <rmh@aybabtu.com>
31998 * loader/i386/linux.c: Include `<grub/video.h>' and
31999 `<grub/i386/pc/vbe.h>'..
32000 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32001 (grub_linux32_boot): Attempt to configure video settings with
32002 grub_linux_setup_video().
32003 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32004 to avoid grub_console_fini() which would step out of graphical mode
32007 2009-03-14 Robert Millan <rmh@aybabtu.com>
32009 Fix build on powerpc.
32010 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32012 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32014 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32015 background image command.
32017 2009-03-12 Colin D Bennett <colin@gibibit.com>
32019 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32020 (grub_gfxterm_putchar): Extract pairs of identical calls to
32021 draw_cursor out of conditional blocks.
32023 2009-03-11 Pavel Roskin <proski@gnu.org>
32025 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32026 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32028 2009-03-11 Robert Millan <rmh@aybabtu.com>
32030 * loader/i386/multiboot_elfxx.c
32031 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32033 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
32035 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32038 2009-03-11 Robert Millan <rmh@aybabtu.com>
32040 * loader/i386/multiboot.c (code_size): New variable.
32041 (grub_multiboot): Define offsets by adding to `code_size' rather
32042 than subtracting from `grub_multiboot_payload_size'. Provide
32043 4-byte alignment to MBI and others by increasing
32044 `boot_loader_name_length' appropriately.
32046 * loader/i386/multiboot_elfxx.c
32047 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32049 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
32051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32054 2009-03-08 Robert Millan <rmh@aybabtu.com>
32056 Make loader/i386/linux.c usable on i386-pc again.
32058 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32060 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32063 2009-03-07 Bean <bean123ch@gmail.com>
32065 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32068 2009-03-06 Robert Millan <rmh@aybabtu.com>
32070 Fix display issue on terminals with screen size other than 80x25
32071 (e.g. gfxterm with resolution higher than 640x480).
32073 * normal/main.c (grub_normal_init_page): Display title text in a
32074 position relative to the center of the terminal instead of relying
32075 on a hardcoded offset.
32077 2009-03-04 Robert Millan <rmh@aybabtu.com>
32079 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32082 * Makefile.in (host_kernel): New variable.
32083 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32084 scripts instead of just the windows one.
32085 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32087 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32089 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32091 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32092 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32093 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32094 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32095 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32096 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32098 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32100 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32101 or if there's no space for the disk label and print the partition number on a
32104 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32106 * util/misc.c: Include <time.h>.
32107 (grub_millisleep): New function.
32109 2009-03-04 Bean <bean123ch@gmail.com>
32111 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32112 another option -mno-red-zone.
32114 * commands/handler.c: Change module description.
32116 * kern/handler.c: Add missing space at the end of description line.
32118 * kern/list.c: Likewise.
32120 2009-03-03 Robert Millan <rmh@aybabtu.com>
32122 Move more components to the relocation area, and fix mbi pointer
32123 handling to use the destination rather than the origin (thanks to
32124 Vladimir Serbinenko for spotting).
32126 * loader/i386/multiboot.c (mbi_dest): New variable.
32127 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32128 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32131 2009-03-01 Bean <bean123ch@gmail.com>
32133 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
32134 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32135 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32136 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32138 * loader/i386/efi/linux.c (acpi_guid): New variable.
32139 (acpi_guid): Likewise.
32140 (EBDA_SEG_ADDR): New constant.
32141 (LOW_MEM_ADDR): Likewise.
32142 (FAKE_EBDA_SEG): Likewise.
32143 (fake_bios_data): New function.
32144 (grub_linux_boot): Call fake_bios_data.
32146 2009-03-01 Bean <bean123ch@gmail.com>
32148 * commands/terminal.c: Removed.
32150 * commands/handler.c: New file.
32152 * include/grub/list.h: Likewise.
32154 * include/grub/handler.h: Likewise.
32156 * kern/list.c: Likewise.
32158 * kern/handler.c: Likewise.
32160 * kern/term.h: Include header file <grub/handler.h>.
32161 (grub_term_input): Move next field to the beginning.
32162 (grub_term_output): Likewise.
32163 (grub_term_input_class): New variable.
32164 (grub_term_output_class): Likewise.
32165 (grub_term_register_input): Changed to inline function.
32166 (grub_term_register_output): Likewise.
32167 (grub_term_unregister_input): Likewise.
32168 (grub_term_unregister_output): Likewise.
32169 (grub_term_set_current_input): Likewise.
32170 (grub_term_set_current_output): Likewise.
32171 (grub_term_get_current_input): Likewise.
32172 (grub_term_get_current_output): Likewise.
32173 (grub_term_iterate_input): Removed.
32174 (grub_term_iterate_output): Likewise.
32176 * kern/term.c (grub_term_list_input): Removed.
32177 (grub_term_list_output): Likewise.
32178 (grub_term_input_class): New variable.
32179 (grub_term_output_class): Likewise.
32180 (grub_cur_term_input): Change variable as macro.
32181 (grub_cur_term_output): Likewise.
32182 (grub_term_register_input): Removed.
32183 (grub_term_register_output): Likewise.
32184 (grub_term_unregister_input): Likewise.
32185 (grub_term_unregister_output): Likewise.
32186 (grub_term_set_current_input): Likewise.
32187 (grub_term_set_current_output): Likewise.
32188 (grub_term_iterate_input): Likewise.
32189 (grub_term_iterate_output): Likewise.
32190 (grub_term_get_current_input): Likewise.
32191 (grub_term_get_current_output): Likewise.
32193 * util/grub-editenv.c: Include header file <grub/handler.h>.
32194 (grub_term_get_current_input): Removed.
32195 (grub_term_get_current_output): Likewise.
32196 (grub_term_input_class): New variable.
32197 (grub_term_output_class): Likewise.
32199 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32200 (grub_term_get_current_output): Likewise.
32201 (grub_term_input_class): New variable.
32202 (grub_term_output_class): Likewise.
32204 * util/grub-probe.c (grub_term_get_current_input): Removed.
32205 (grub_term_get_current_output): Likewise.
32206 (grub_term_input_class): New variable.
32207 (grub_term_output_class): Likewise.
32209 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32210 (grub_term_get_current_output): Likewise.
32211 (grub_term_input_class): New variable.
32212 (grub_term_output_class): Likewise.
32214 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32215 (terminal_mod_SOURCES): Likewise.
32216 (terminal_mod_CFLAGS): Likewise.
32217 (terminal_mod_LDFLAGS): Likewise.
32219 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32221 (kernel_img_SOURCES): Add list.c and handler.c.
32222 (kernel_img_HEADERS): Add list.h and handler.h.
32224 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32226 (kernel_mod_SOURCES): Add list.c and handler.c.
32227 (kernel_mod_HEADERS): Add list.h and handler.h.
32229 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32231 (kernel_elf_SOURCES): Add list.c and handler.c.
32232 (kernel_elf_HEADERS): Add list.h and handler.h.
32234 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32236 (kernel_elf_SOURCES): Add list.c and handler.c.
32237 (kernel_elf_HEADERS): Add list.h and handler.h.
32239 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32241 (kernel_mod_SOURCES): Add list.c and handler.c.
32242 (kernel_mod_HEADERS): Add list.h and handler.h.
32244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32246 (kernel_elf_SOURCES): Add list.c and handler.c.
32247 (kernel_elf_HEADERS): Add list.h and handler.h.
32249 2009-02-27 Robert Millan <rmh@aybabtu.com>
32251 Factorize elf32 / elf64 code in Multiboot loader. This will
32252 prevent it from getting out of sync again.
32254 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32255 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32256 grub_multiboot_load_elf64): Move from here ...
32257 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32258 grub_multiboot_load_elf): ... to here (new file).
32260 2009-02-27 Robert Millan <rmh@aybabtu.com>
32262 * util/grub.d/10_linux.in: Rename "single-user mode" to
32265 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32267 Don't leak in SCSI code.
32268 * disk/scsi.c (grub_scsi_close): free `scsi'.
32270 2009-02-27 Robert Millan <rmh@aybabtu.com>
32272 * loader/i386/pc/multiboot.c: Move from here ...
32273 * loader/i386/multiboot.c: ... to here. Update all users.
32275 2009-02-27 Robert Millan <rmh@aybabtu.com>
32277 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32278 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32280 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
32282 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32285 2009-02-27 Robert Millan <rmh@aybabtu.com>
32287 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32288 `0x' qualifier as 0 when base is specified as parameter).
32290 2009-02-24 Bean <bean123ch@gmail.com>
32292 * configure.ac: Check for -mcmodel=large in x86_64 target.
32294 * include/grub/efi/api.h (efi_call_10): New macro.
32295 (efi_wrap_10): New function.
32297 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32298 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32299 (GRUB_PE32_REL_BASED_LOW): Likewise.
32300 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32301 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32302 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32303 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32304 (GRUB_PE32_REL_BASED_REL): Likewise.
32305 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32306 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32307 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32309 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32312 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32313 (efi_wrap_10): New function.
32315 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32317 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32318 MB/MBP model (NV chipset).
32319 (devdata_devs): Add devpath_5 to the list.
32321 * load/i386/efi/linux.c (video_base): Remove variable.
32322 (RGB_MASK): New macro.
32323 (RGB_MAGIC): Likewise.
32324 (LINE_MIN): Likewise.
32325 (LINE_MAX): Likewise.
32326 (FBTEST_STEP): Likewise.
32327 (FBTEST_COUNT): Likewise.
32328 (fb_list): New variable.
32329 (grub_find_video_card): Remove function.
32330 (find_framebuf): New function.
32331 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32334 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32335 problem for x86_64.
32337 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32339 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32341 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32344 2009-02-22 Robert Millan <rmh@aybabtu.com>
32346 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32347 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32348 in our relocation, instead of using it directly from heap. Also
32349 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32351 2009-02-21 Robert Millan <rmh@aybabtu.com>
32353 Implement USB keyboard support (based on patch by Marco Gerards)
32355 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32356 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32357 (usb_keyboard_mod_LDFLAGS): New variables.
32359 * term/usb_keyboard.c: New file.
32361 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32363 Corrected wrong declaration
32365 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32367 2009-02-14 Christian Franke <franke@computer.org>
32369 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32370 (grub_lspci_iter): Print class code and programming interface byte.
32372 2009-02-14 Christian Franke <franke@computer.org>
32374 * gendistlist.sh: Ignore `.svn' directories.
32376 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
32378 * fs/fat.c: Add 2009 to Copyright line.
32380 2009-02-14 Christian Franke <franke@computer.org>
32382 * commands/hdparm.c: New file. Provides `hdparm' command
32383 which sends ATA commands via grub_disk_ata_pass_through ().
32385 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32387 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32388 and <grub/cpu/io.h> to include/grub/ata.h.
32389 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32390 (GRUB_CDROM_SECTOR_SIZE): Remove.
32391 (GRUB_ATA_*): Move to include/grub/ata.h.
32392 (GRUB_ATAPI_*): Likewise.
32393 (enum grub_ata_commands): Likewise.
32394 (enum grub_ata_timeout_milliseconds): Likewise.
32395 (struct grub_ata_device): Likewise.
32396 (grub_ata_regset): Likewise.
32397 (grub_ata_regget): Likewise.
32398 (grub_ata_regset2): Likewise.
32399 (grub_ata_regget2): Likewise.
32400 (grub_ata_check_ready): Likewise.
32401 (grub_ata_wait_not_busy): Remove static, exported in
32402 include/grub/ata.h.
32403 (grub_ata_wait_drq): Likewise.
32404 (grub_ata_pio_read): Likewise.
32406 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32407 function for hdparm.mod.
32409 * include/grub/ata.h: New file, contains declarations from
32411 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32413 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32414 (grub_disk_ata_pass_through): New exported variable.
32416 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32418 2009-02-13 Colin D Bennett <colin@gibibit.com>
32420 Support multiple fallback entries, and provide an API to support
32421 executing default+fallback menu entries. Renamed the `terminal' menu
32424 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32425 variable declaration.
32426 (grub_menu_execute_callback): New structure declaration.
32427 (grub_menu_execute_callback_t): New typedef.
32428 (grub_menu_execute_with_fallback): New function declaration.
32429 (grub_menu_get_entry): Likewise.
32430 (grub_menu_get_timeout): Likewise.
32431 (grub_menu_set_timeout): Likewise.
32433 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32435 * normal/menu.c (grub_wait_after_message): Moved to
32436 `normal/menu_text.c'.
32437 (draw_border): Likewise.
32438 (print_message): Likewise.
32439 (print_entry): Likewise.
32440 (print_entries): Likewise.
32441 (grub_menu_init_page): Likewise.
32442 (get_entry_number): Likewise.
32443 (print_timeout): Likewise.
32444 (run_menu): Likewise.
32445 (grub_menu_execute_entry): Likewise.
32446 (show_text_menu): Likewise.
32447 (get_and_remove_first_entry_number): New function.
32448 (grub_menu_execute_with_fallback): Likewise.
32449 (get_entry): Renamed to ...
32450 (grub_menu_get_entry): .. this and made it global.
32451 (get_timeout): Renamed to ...
32452 (grub_menu_get_timeout): ... this and made it global.
32453 (set_timeout): Renamed to ...
32454 (grub_menu_set_timeout): ... this and made it global.
32455 (grub_normal_terminal_menu_viewer): Renamed to ...
32456 (grub_normal_text_menu_viewer): ... this.
32458 * normal/menu_text.c: New file. Extracted text-menu-specific code
32459 from normal/menu.c.
32461 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32462 (normal_mod_SOURCES): Likewise.
32464 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32465 (normal_mod_SOURCES): Likewise.
32467 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32468 (normal_mod_SOURCES): Likewise.
32470 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32471 (normal_mod_SOURCES): Likewise.
32473 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32474 (normal_mod_SOURCES): Likewise.
32476 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32477 (normal_mod_SOURCES): Likewise.
32479 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32480 (normal_mod_SOURCES): Likewise.
32482 2009-02-11 Robert Millan <rmh@aybabtu.com>
32484 * util/grub.d/00_header.in: Update old reference to `font' command.
32486 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
32488 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32490 Based on patch from Javier Martín.
32492 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32494 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
32495 to avoid false positives with FAT.
32496 (grub_fstest_SOURCES): Likewise.
32497 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32498 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32500 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32501 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32502 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32504 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32506 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
32507 bpb.version_specific.fat12_or_fat16.fstype and
32508 bpb.version_specific.fat32.fstype.
32510 2009-02-08 Robert Millan <rmh@aybabtu.com>
32512 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
32514 2009-02-08 Robert Millan <rmh@aybabtu.com>
32516 * Makefile.in (host_os, host_cpu): New variables.
32517 (target_os): Remove. Update all users.
32519 2009-02-08 Marco Gerards <marco@gnu.org>
32521 * Makefile.in (enable_grub_emu_usb): New variable.
32522 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32523 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32524 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32525 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32526 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32527 `usbtest.mod' and `usbms.mod'.
32528 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32529 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32530 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32531 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32532 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32535 * disk/usbms.c: New file.
32537 * include/grub/usb.h: Likewise.
32539 * include/grub/usbtrans.h: Likewise.
32541 * include/grub/usbdesc.h: Likewise.
32543 * bus/usb/usbtrans.c: Likewise.
32545 * bus/usb/ohci.c: Likewise.
32547 * bus/usb/uhci.c: Likewise.
32549 * bus/usb/usbhub.c: Likewise.
32551 * bus/usb/usb.c: Likewise.
32553 * commands/usbtest.c: Likewise.
32555 * util/usb.c: Likewise.
32557 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32559 * configure.ac: Test for libusb presence.
32561 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32563 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32565 * kern/mm.c: Add more comments.
32567 2009-02-08 Robert Millan <rmh@aybabtu.com>
32569 Patch from Javier Martín.
32570 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32571 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32573 2009-02-08 Robert Millan <rmh@aybabtu.com>
32575 * fs/cpio.c: Split tar functionality to ...
32576 * fs/tar.c: ... here (new file). Update all users.
32578 2009-02-07 Robert Millan <rmh@aybabtu.com>
32580 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32581 backward-incompatible features.
32583 Based on patch from Javier Martín, with some adjustments.
32585 2009-02-07 Michael Scherer <misc@mandriva.org>
32587 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32589 2009-02-07 Robert Millan <rmh@aybabtu.com>
32591 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32592 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32593 after the RAID stuff.
32595 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32597 Fixes problem when running vbetest command as reported by
32598 Vladimir Serbinenko <phcoder@gmail.com>.
32600 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32602 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
32604 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32605 /dev/md/NpN style mdraid devices.
32607 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32609 * util/unifont2pff.rb: Remove.
32611 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32613 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32616 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32618 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32619 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32620 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32621 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32623 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32624 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32626 2009-02-02 Christian Franke <franke@computer.org>
32628 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32630 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
32632 * INSTALL: Note that we now require at least autoconf 2.59 and
32633 that LZO is optional.
32635 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32637 Base on patch on bug #24154 created by Tomas Tintera
32638 <trosos@seznam.cz>.
32640 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32642 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32644 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
32645 <bero@arklinux.org>.
32647 * normal/parser.y (script_init): Add missing semicolon.
32649 2009-01-31 Colin D Bennett <colin@gibibit.com>
32651 * normal/main.c: Add include to grub/menu_viewer.h.
32652 (free_menu_entry_classes): Added.
32653 (grub_normal_menu_addentry): Added class property handling.
32654 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32655 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32657 * normal/menu_viewer.c: New file.
32659 * normal/menu.c (run_menu_entry): Renamed to ...
32660 (grub_menu_execute_entry): ... this and made it as global.
32661 (grub_menu_run): Renamed to ...
32662 (show_text_menu): ... this and made it local.
32663 (show_text_menu): Adapt to new function names.
32664 (grub_normal_terminal_menu_viewer): New global variable.
32666 * include/grub/menu.h: New file.
32668 * include/grub/menu_viewer.h: New file.
32670 * include/grub/normal.h: Added include to grub/menu.h.
32671 (grub_menu_entry): Moved to include/grub/menu.h.
32672 (grub_menu_entry_t): Likewise.
32673 (grub_menu): Likewise.
32674 (grub_menu_t): Likewise.
32675 (grub_normal_terminal_menu_viewer): Added.
32676 (grub_menu_execute_entry): Likewise.
32677 (grub_menu_run): Removed.
32679 * DISTLIST: Added include/grub/menu.h.
32680 Added include/grub/menu_viewer.h.
32681 Added normal/menu_viewer.c.
32683 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32685 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32686 arglist for menutitle arguments.
32688 * normal/main.c (grub_normal_menu_addentry): Likewise.
32690 * normal/parser.y (menuentry): Likewise.
32692 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32694 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32695 (grub_script_create_cmdmenu): Likewise.
32697 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32699 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32702 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32704 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32706 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32708 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32710 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32712 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32714 2009-01-30 Christian Franke <franke@computer.org>
32716 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32717 in option help text.
32719 2009-01-27 Pavel Roskin <proski@gnu.org>
32721 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32723 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32725 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32727 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32729 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32730 unregister function.
32732 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32734 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32736 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32738 * util/grub-mkfont.c (usage): Fix typo.
32740 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32742 2009-01-26 Daniel Mierswa <impulze@impulze.org>
32744 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32746 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32748 * kern/misc.c (grub_strcasecmp): New function.
32749 (grub_strcasecmp): Use grub_size_t instead of int for length.
32751 * include/grub/misc.h: Update function prototypes.
32753 2009-01-26 Robert Millan <rmh@aybabtu.com>
32755 * configure.ac: Fix cross-compilation check.
32757 2009-01-22 Christian Franke <franke@computer.org>
32759 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32760 (precision) digit string. Allow `.format2' without `format1' (width).
32761 Limit input chars for `%s' output to `format2' if specified. This is
32762 compatible with standard printf ().
32764 2009-01-22 Christian Franke <franke@computer.org>
32766 * disk/ata.c (grub_ata_wait_status): Replace by ...
32767 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32768 other status bits may be invalid while BSY is asserted.
32769 (grub_ata_check_ready): New function.
32770 (grub_ata_cmd): Removed.
32771 (grub_ata_wait_drq): New function.
32772 (grub_ata_strncpy): Remove inline.
32773 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32774 and error check now done by grub_ata_wait_drq ().
32775 (grub_ata_pio_write): Likewise.
32776 (grub_atapi_identify): Set DEV before check for !BSY. Use
32777 grub_ata_wait_drq () to wait for data.
32778 (grub_ata_device_initialize): Add status register check to
32779 detect missing SATA slave devices. Add debug messages.
32780 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32781 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32782 transfer loop by grub_ata_pio_write ().
32783 (grub_ata_identify): Set DEV before check for !BSY. Use
32784 grub_ata_wait_drq () to wait for data.
32785 (grub_ata_setaddress): Set DEV before check for !BSY.
32786 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32787 read/write in one loop. Fix invalid command on write. Fix incomplete
32788 command on (size % batch) == 0. Add missing error check after write of
32789 last block. Add debug messages.
32790 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32792 2009-01-19 Christian Franke <franke@computer.org>
32794 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32795 (GRUB_ATAPI_IREASON_*): Likewise.
32796 (grub_ata_pio_write): Fix timeout error return.
32797 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32798 (grub_atapi_wait_drq): New function.
32799 (grub_atapi_packet): New parameter `size'.
32800 Use grub_atapi_wait_drq () and direct write instead of
32801 grub_ata_pio_write ().
32802 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32803 reads the number of bytes requested by the device for each DRQ
32805 (grub_atapi_write): Remove old implementation, return not
32806 implemented instead.
32808 2009-01-19 Christian Franke <franke@computer.org>
32810 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32811 of 512 to calculate data size.
32812 (grub_scsi_read12): Likewise.
32813 (grub_scsi_write10): Likewise.
32814 (grub_scsi_write12): Likewise.
32815 (grub_scsi_read): Adjust size according to blocksize.
32816 Add checks for invalid blocksize and unaligned transfer.
32818 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32820 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32822 * term/gfxterm.c (write_char): Fix background rendering for wide
32825 2009-01-19 Robert Millan <rmh@aybabtu.com>
32827 * config.guess: Update to latest version from config git.
32828 * config.sub: Likewise.
32830 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
32832 * Makefile.in: Change font compilation to use new grub-mkfont instead
32835 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32836 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32837 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32838 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32839 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32840 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32841 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32842 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32843 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32845 2009-01-16 Christian Franke <franke@computer.org>
32847 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32848 (enum grub_ata_timeout_milliseconds): New enum.
32849 (grub_ata_wait_status): Add parameter milliseconds.
32850 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32851 recovery from timed-out commands.
32852 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32853 return grub_errno instead of REG_ERROR.
32854 (grub_ata_pio_write): Add parameter milliseconds.
32855 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32856 Pass milliseconds to grub_ata_wait_status () and
32857 grub_ata_pio_read ().
32858 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32859 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32860 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32861 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32862 It is not suitable for device detection, because DEV bit is ignored,
32863 the command may run too long, and not all devices set the signature
32865 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32866 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32867 Fix device selection, DEV bit must be set first to address the registers
32868 of the correct device.
32869 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32870 grub_ata_pio_read/write ().
32871 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32872 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32874 2009-01-13 Carles Pina i Estany <carles@pina.cat>
32876 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32878 2009-01-13 Bean <bean123ch@gmail.com>
32880 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32882 2009-01-13 Bean <bean123ch@gmail.com>
32884 * Makefile.in: (enable_grub_mkfont): New variable.
32885 (freetype_cflags): Likewise.
32886 (freetype_libs): Likewise.
32888 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32889 (grub_mkfont_SOURCES): New variable.
32890 (grub_mkfont_CFLAGS): Likewise.
32891 (grub_mkfont_LDFLAGS): Likewise.
32893 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32894 library if `--enable-grub-mkfont' is requested.
32895 (enable_grub_mkfont): New variable.
32896 (freetype_cflags): Likewise.
32897 (freetype_libs): Likewise.
32899 * util/grub-mkfont.c: New file.
32901 2009-01-12 Christian Franke <franke@computer.org>
32903 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32904 mode check. Fix setting of compat_use[].
32906 2009-01-10 Robert Millan <rmh@aybabtu.com>
32908 Update a few copyright years which we forgot to do in 2008 (only for
32909 files whose changes made in 2008 were copyright-significant)
32911 * Makefile.in: Add 2008 to Copyright line.
32912 * disk/ieee1275/ofdisk.c: Likewise.
32913 * disk/efi/efidisk.c: Likewise.
32914 * kern/dl.c: Likewise.
32915 * kern/sparc64/ieee1275/init.c: Likewise.
32916 * kern/mm.c: Likewise.
32917 * kern/efi/mm.c: Likewise.
32918 * boot/i386/pc/boot.S: Likewise.
32919 * genfslist.sh: Likewise.
32920 * fs/iso9660.c: Likewise.
32921 * fs/hfs.c: Likewise.
32922 * fs/jfs.c: Likewise.
32923 * fs/minix.c: Likewise.
32924 * fs/ufs.c: Likewise.
32925 * gensymlist.sh.in: Likewise.
32926 * genkernsyms.sh.in: Likewise.
32927 * include/grub/misc.h: Likewise.
32928 * include/grub/types.h: Likewise.
32929 * include/grub/symbol.h: Likewise.
32930 * include/grub/elf.h: Likewise.
32931 * include/grub/kernel.h: Likewise.
32932 * include/grub/disk.h: Likewise.
32933 * include/grub/dl.h: Likewise.
32934 * include/grub/i386/linux.h: Likewise.
32935 * include/grub/i386/pc/biosdisk.h: Likewise.
32936 * include/grub/efi/api.h: Likewise.
32937 * include/grub/efi/pe32.h: Likewise.
32938 * include/grub/util/misc.h: Likewise.
32939 * normal/execute.c: Likewise.
32940 * normal/arg.c: Likewise.
32941 * normal/completion.c: Likewise.
32942 * normal/lexer.c: Likewise.
32943 * normal/parser.y: Likewise.
32944 * normal/misc.c: Likewise.
32945 * commands/i386/pc/vbeinfo.c: Likewise.
32946 * commands/hexdump.c: Likewise.
32947 * commands/terminal.c: Likewise.
32948 * commands/ls.c: Likewise.
32949 * commands/help.c: Likewise.
32950 * partmap/pc.c: Likewise.
32951 * loader/efi/chainloader.c: Likewise.
32952 * loader/multiboot_loader.c: Likewise.
32953 * loader/i386/pc/multiboot2.c: Likewise.
32954 * term/efi/console.c: Likewise.
32955 * term/i386/pc/serial.c: Likewise.
32956 * util/lvm.c: Likewise.
32957 * util/console.c: Likewise.
32958 * util/i386/efi/grub-mkimage.c: Likewise.
32959 * util/raid.c: Likewise.
32961 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
32963 * commands/videotest.c: Removed include to grub/machine/memory.h.
32965 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
32966 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
32967 (video_mod_SOURCES): Removed.
32968 (video_mod_CFLAGS): Likewise.
32969 (video_mod_LDFLAGS): Likewise.
32970 (gfxterm_mod_SOURCES): Likewise.
32971 (gfxterm_mod_CFLAGS): Likewise.
32972 (gfxterm_mod_LDFLAGS): Likewise.
32973 (videotest_mod_SOURCES): Likewise.
32974 (videotest_mod_CFLAGS): Likewise.
32975 (videotest_mod_LDFLAGS): Likewise.
32976 (bitmap_mod_SOURCES): Likewise.
32977 (bitmap_mod_CFLAGS): Likewise.
32978 (bitmap_mod_LDFLAGS): Likewise.
32979 (tga_mod_SOURCES): Likewise.
32980 (tga_mod_CFLAGS): Likewise.
32981 (tga_mod_LDFLAGS): Likewise.
32982 (jpeg_mod_SOURCES): Likewise.
32983 (jpeg_mod_CFLAGS): Likewise.
32984 (jpeg_mod_LDFLAGS): Likewise.
32985 (png_mod_SOURCES): Likewise.
32986 (png_mod_CFLAGS): Likewise.
32987 (png_mod_LDFLAGS): Likewise.
32989 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
32990 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
32991 (video_mod_SOURCES): Added.
32992 (video_mod_CFLAGS): Likewise.
32993 (video_mod_LDFLAGS): Likewise.
32994 (videotest_mod_SOURCES): Likewise.
32995 (videotest_mod_CFLAGS): Likewise.
32996 (videotest_mod_LDFLAGS): Likewise.
32997 (bitmap_mod_SOURCES): Likewise.
32998 (bitmap_mod_CFLAGS): Likewise.
32999 (bitmap_mod_LDFLAGS): Likewise.
33000 (tga_mod_SOURCES): Likewise.
33001 (tga_mod_CFLAGS): Likewise.
33002 (tga_mod_LDFLAGS): Likewise.
33003 (jpeg_mod_SOURCES): Likewise.
33004 (jpeg_mod_CFLAGS): Likewise.
33005 (jpeg_mod_LDFLAGS): Likewise.
33006 (png_mod_SOURCES): Likewise.
33007 (png_mod_CFLAGS): Likewise.
33008 (png_mod_LDFLAGS): Likewise.
33009 (gfxterm_mod_SOURCES): Likewise.
33010 (gfxterm_mod_CFLAGS): Likewise.
33011 (gfxterm_mod_LDFLAGS): Likewise.
33013 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33014 grub/machine/console.h.
33016 2009-01-04 Jerone Young <jerone@gmail.com>
33018 Make on screen instructions clearer
33020 Based on patch created by Jidanni <jidanni@jidanni.org>
33022 * normal/menu.c: print clearer instructions on the screen
33024 2009-01-02 Colin D Bennett <colin@gibibit.com>
33028 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33029 build system and fixed gfxterm.c to work with different sized fonts.
33031 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
33033 * configure: Re-generated.
33035 * DISTLIST: Removed font/manager.c.
33037 Added font/font_cmd.c.
33039 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33042 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
33044 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
33046 * kern/term.c: Changed users of grub_utf8_to_ucs4.
33048 * normal/menu.c: Likewise.
33050 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33051 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
33053 * include/grub/font.h: Replaced with new file.
33055 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33056 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33057 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33058 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33059 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
33060 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
33061 fg_red, fg_green, fg_blue, fg_alpha.
33062 (grub_video_adapter): Removed blit_glyph.
33063 (grub_video_blit_glyph): Removed.
33065 * font/manager.c: Removed file.
33067 * font/font.c: New file.
33069 * font/font_cmd.c: Likewise.
33071 * video/video.c (grub_video_blit_glyph): Removed.
33073 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33074 (grub_video_vbe_map_rgba): Likewise.
33075 (grub_video_vbe_unmap_color_int): Likewise.
33076 (grub_video_vbe_blit_glyph): Removed.
33077 (grub_video_vbe_adapter): Removed blit_glyph.
33079 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33080 (get_pixel): Likewise.
33081 (set_pixel): Likewise.
33083 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
33085 * term/gfxterm.c: Adapted to new font engine.
33087 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
33089 * term/i386/pc/vga.c: Likewise.
33091 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
33093 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33095 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33097 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33099 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33101 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33103 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33105 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33107 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33109 * util/grub.d/00_header.in: Changed to use new loadfont command.
33111 * util/grub-mkconfig_lib.in: Changed font extension.
33113 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
33115 * util/getroot.c (grub_util_get_grub_dev): Add support for
33116 /dev/md/dNNpNN style partitionable mdraid devices.
33118 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
33120 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33121 at a time limit of the PXE TFTP API correctly.
33122 (grub_pxefs_close): Likewise.
33124 2008-11-29 Robert Millan <rmh@aybabtu.com>
33126 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
33127 grub_ata_device_initialize() calls.
33129 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
33131 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33133 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33135 2008-11-28 Robert Millan <rmh@aybabtu.com>
33137 Fix build on powerpc-ieee1275. Based on patch created by
33138 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33139 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33140 `kern/ieee1275/mmap.c'.
33141 * include/grub/powerpc/ieee1275/memory.h: New file.
33143 Provide grub-install on coreboot.
33144 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33145 (grub_install_SOURCES): New variable.
33146 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33147 usable on coreboot.
33149 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
33151 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33152 to `grub_term_input_t'.
33153 (grub_term_get_current_output): Change return type to
33154 `grub_term_output_t'.
33156 2008-11-22 Robert Millan <rmh@aybabtu.com>
33158 Fix breakage on coreboot due to declaration mismatch.
33159 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33160 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33161 grub_vga_text_cls().
33163 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
33164 comments. Avoid copying one more byte than necessary (just in case).
33166 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33167 to 0x200000 (avoids trouble with some OFW implementations, and matches
33168 with the one in Yaboot).
33169 Reported by Manoel Abranches
33171 2008-11-20 Robert Millan <rmh@aybabtu.com>
33173 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33174 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33176 * util/grub-mkconfig_lib.in (grub_warn): New function.
33177 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33178 warnings, to obtain consistent formatting.
33179 * util/grub.d/00_header.in: Likewise.
33180 * util/update-grub_lib.in: Likewise.
33182 * loader/i386/linux.c (allocate_pages): Fix a warning.
33183 Move comment text to `#error' stanza.
33185 Harmonize ieee1275's grub_available_iterate() with the generic
33186 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33187 build problem on i386-ieee1275):
33188 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33189 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33190 parameter `type'. Update all users of this function.
33191 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33192 `kern/ieee1275/mmap.c'.
33193 * kern/ieee1275/init.c
33194 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33196 (grub_machine_mmap_iterate): ... this.
33197 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33198 return type to `grub_err_t'. Update all implementations of this
33199 function prototype.
33200 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33203 Add `lsmmap' command (lists firmware-provided memory map):
33204 * commands/lsmmap.c: New file.
33205 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33206 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33208 * conf/powerpc-ieee1275.rmk: Likewise.
33209 * conf/i386-coreboot.rmk: Likewise.
33210 * conf/i386-ieee1275.rmk: Likewise.
33212 2008-11-19 Robert Millan <rmh@aybabtu.com>
33214 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
33215 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33216 constraints to initrd allocation (based on code from
33217 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33218 for Linux to find it.
33220 2008-11-14 Robert Millan <rmh@aybabtu.com>
33222 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33223 order to cope with duplicate slashes.
33225 2008-11-14 Robert Millan <rmh@aybabtu.com>
33227 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33228 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33229 don't want to mess with lower memory, because it is used in the Linux
33232 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
33233 an appropriate place in lower memory, between 0x10000 and 0x90000,
33234 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33235 is in our heap (probably as a result of it being corrupted during
33236 decompression). Add #error instance with comment to explain why this
33237 loader isn't currently usable on PC/BIOS.
33239 2008-11-14 Robert Millan <rmh@aybabtu.com>
33241 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
33242 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
33244 2008-11-12 Robert Millan <rmh@aybabtu.com>
33246 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33248 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33249 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33251 * include/grub/i386/pc/memory.h: ... to here.
33253 2008-11-12 Robert Millan <rmh@aybabtu.com>
33255 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33258 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33259 (grub_console_cur_color, grub_console_real_putchar)
33260 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33261 (grub_console_setcolorstate, grub_console_setcolor)
33262 (grub_console_getcolor): Move from here ...
33263 * include/grub/i386/vga_common.h: ... to here (new file).
33265 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33266 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33267 `<grub/i386/io.h>'.
33268 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33269 `<grub/i386/vga_common.h>'.
33271 2008-11-12 Robert Millan <rmh@aybabtu.com>
33273 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33274 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33275 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33277 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33278 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33280 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33281 grub_console_init() with call to grub_vga_text_init().
33282 (grub_machine_fini): Replace call to
33283 grub_console_fini() with call to grub_vga_text_fini() and
33284 grub_at_keyboard_fini().
33286 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33287 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33288 (grub_console_setcolorstate, grub_console_setcolor)
33289 (grub_console_getcolor): New function prototypes.
33291 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33292 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33293 (grub_vga_text_setcursor): Static-ize.
33294 (grub_vga_text_term): New structure.
33295 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33297 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33298 (grub_console_cur_color, grub_console_standard_color)
33299 (grub_console_normal_color, grub_console_highlight_color)
33300 (map_char, grub_console_putchar, grub_console_getcharwidth)
33301 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33302 (grub_console_getcolor): Move from here ...
33303 * term/i386/vga_common.c: ... to here (same function names).
33305 2008-11-12 Robert Millan <rmh@aybabtu.com>
33307 Use newly-added Multiboot support in coreboot.
33309 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33310 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33312 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33313 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33314 (codestart): Store the MBI in `startup_multiboot_info' when we're
33315 being loaded using Multiboot.
33317 * kern/i386/coreboot/init.c (grub_machine_init): Move
33318 grub_at_keyboard_init() call to beginning of function (useful for
33319 debugging). Call grub_machine_mmap_init() before attempting to use
33320 grub_machine_mmap_iterate().
33321 (grub_lower_mem, grub_upper_mem): Move from here ...
33322 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33325 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33326 function prototype.
33328 2008-11-12 Robert Millan <rmh@aybabtu.com>
33330 Fix a regression introduced by the at_keyboard.mod split. Because
33331 some terminals are default on some platforms and non-default on
33332 others, the first terminal being registered determines which is
33333 going to be default.
33335 * kern/term.c (grub_term_register_input): If this is the first
33336 terminal being registered, set it as the current one.
33337 (grub_term_register_output): Likewise.
33339 * term/efi/console.c (grub_console_init): Do not call
33340 grub_term_set_current_output() or grub_term_set_current_input().
33341 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33342 * term/i386/pc/console.c (grub_console_init): Likewise.
33343 (grub_console_fini): Do not call grub_term_set_current_input()
33344 (but leave grub_term_set_current_output() to restore text mode).
33346 2008-11-10 Robert Millan <rmh@aybabtu.com>
33348 * util/grub.d/00_header.in: Add backward compatibility check for
33349 versions of terminal.mod that don't understand `terminal_input' or
33352 2008-11-09 Robert Millan <rmh@aybabtu.com>
33354 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33355 `terminal_input' / `terminal_output', not `terminal'.
33357 2008-11-08 Robert Millan <rmh@aybabtu.com>
33359 * Makefile.in (include_DATA): Fix srcdir=. assumption.
33360 (DISTCLEANFILES): Add `build_env.mk'.
33362 2008-11-08 Robert Millan <rmh@aybabtu.com>
33364 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
33365 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33366 members. Update all users.
33367 * util/console.c (grub_ncurses_term): Split in ...
33368 (grub_ncurses_term_input): ... this, and ...
33369 (grub_ncurses_term_output): ... this. Update all users.
33370 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
33372 2008-11-08 Robert Millan <rmh@aybabtu.com>
33374 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33375 (PKGDATA): Add $(pkgdata_SRCDIR).
33376 (pkglib_BUILDDIR): New variable.
33377 (pkgdata_SRCDIR): New variable.
33378 (build_env.mk): New target.
33379 (include_DATA): New variable.
33380 (install-local): Install $(include_DATA) files in $(includedir).
33382 2008-11-07 Pavel Roskin <proski@gnu.org>
33384 * gendistlist.sh: Use C locale for sorting to ensure consistent
33385 output on all systems.
33387 * util/grub.d/00_header.in: Remove incorrect space before
33390 2008-11-07 Robert Millan <rmh@aybabtu.com>
33392 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33394 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33395 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33396 (based on find_multi_boot1_header).
33397 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33398 using find_multi_boot2_header(), and abort if neither Multiboot or
33399 Multiboot headers were found.
33401 2008-11-07 Robert Millan <rmh@aybabtu.com>
33403 Modularize at_keyboard.mod:
33405 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33406 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33407 (at_keyboard_mod_LDFLAGS): New variables.
33409 Actual terminal split:
33411 * include/grub/term.h (struct grub_term): Split in ...
33412 (struct grub_term_input): ... this, and ...
33413 (struct grub_term_output): ... this. Update all users.
33414 (grub_term_set_current): Split in ...
33415 (grub_term_set_current_input): ... this, and ...
33416 (grub_term_set_current_output): ... this.
33417 (grub_term_get_current): Split in ...
33418 (grub_term_get_current_input): ... this, and ...
33419 (grub_term_get_current_output): ... this.
33420 (grub_term_register): Split in ...
33421 (grub_term_register_input): ... this, and ...
33422 (grub_term_register_output): ... this.
33423 (grub_term_unregister): Split in ...
33424 (grub_term_unregister_input): ... this, and ...
33425 (grub_term_unregister_output): ... this.
33426 (grub_term_iterate): Split in ...
33427 (grub_term_iterate_input): ... this, and ...
33428 (grub_term_iterate_output): ... this.
33430 * kern/term.c (grub_term_list): Split in ...
33431 (grub_term_list_input): ... this, and ...
33432 (grub_term_list_output): ... this. Update all users.
33433 (grub_cur_term): Split in ...
33434 (grub_cur_term_input): ... this, and ...
33435 (grub_cur_term_output): ... this. Update all users.
33436 (grub_term_set_current): Split in ...
33437 (grub_term_set_current_input): ... this, and ...
33438 (grub_term_set_current_output): ... this.
33439 (grub_term_get_current): Split in ...
33440 (grub_term_get_current_input): ... this, and ...
33441 (grub_term_get_current_output): ... this.
33442 (grub_term_register): Split in ...
33443 (grub_term_register_input): ... this, and ...
33444 (grub_term_register_output): ... this.
33445 (grub_term_unregister): Split in ...
33446 (grub_term_unregister_input): ... this, and ...
33447 (grub_term_unregister_output): ... this.
33448 (grub_term_iterate): Split in ...
33449 (grub_term_iterate_input): ... this, and ...
33450 (grub_term_iterate_output): ... this.
33452 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33453 a check for input and one for output (and only attempt to get keys
33454 from user when input works).
33456 * util/grub-probe.c (grub_term_get_current): Split in ...
33457 (grub_term_get_current_input): ... this, and ...
33458 (grub_term_get_current_output): ... this.
33459 * util/grub-fstest.c: Likewise.
33460 * util/i386/pc/grub-setup.c: Likewise.
33461 * util/grub-editenv.c: Likewise.
33463 Portability adjustments:
33465 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33466 `term/i386/pc/at_keyboard.c'.
33467 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33468 grub_keyboard_controller_init() (now handled by terminal .init).
33469 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33470 grub_at_keyboard_init().
33471 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33472 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33473 at_keyboard.mod via input terminal interface).
33474 * include/grub/i386/coreboot/console.h: Convert into a stub for
33475 `<grub/i386/pc/console.h>'.
33477 Migrate full terminals to new API:
33479 * term/efi/console.c (grub_console_term): Split into ...
33480 (grub_console_term_input): ... this, and ...
33481 (grub_console_term_output): ... this. Update all users.
33482 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33483 (grub_ofconsole_init): Split into ...
33484 (grub_ofconsole_init_input): ... this, and ...
33485 (grub_ofconsole_init_output): ... this.
33486 (grub_ofconsole_term): Split into ...
33487 (grub_ofconsole_term_input): ... this, and ...
33488 (grub_ofconsole_term_output): ... this. Update all users.
33489 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33490 (grub_serial_term_input): ... this, and ...
33491 (grub_serial_term_output): ... this. Update all users.
33492 * term/i386/pc/console.c (grub_console_term): Split into ...
33493 (grub_console_term_input): ... this, and ...
33494 (grub_console_term_output): ... this. Update all users.
33495 (grub_console_term_input): Only enable it on PC/BIOS platform.
33496 (grub_console_init): Remove grub_keyboard_controller_init() call.
33498 Migrate input terminals to new API:
33500 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33501 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33502 i386-specific anyway).
33503 (grub_console_checkkey): Rename to ...
33504 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33506 (grub_keyboard_controller_orig): New variable.
33507 (grub_console_getkey): Rename to ...
33508 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33510 (grub_keyboard_controller_init): Static-ize. Save original
33511 controller value so that it can be restored ...
33512 (grub_keyboard_controller_fini): ... here (new function).
33513 (grub_at_keyboard_term): New structure.
33514 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33517 Migrate output terminals to new API:
33519 * term/i386/pc/vga.c (grub_vga_term): Change type to
33520 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33521 members. Update all users.
33522 * term/gfxterm.c (grub_video_term): Change type to
33523 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33524 members. Update all users.
33525 * include/grub/i386/pc/console.h (grub_console_checkkey)
33526 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33529 Migrate `terminal' command and userland tools to new API:
33531 * commands/terminal.c (grub_cmd_terminal): Split into ...
33532 (grub_cmd_terminal_input): ... this, and ...
33533 (grub_cmd_terminal_output): ... this.
33534 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33535 `terminal_input' and `terminal_output'.
33536 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33537 `terminal_input' / `terminal_output' API.
33538 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33539 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33540 provided ${GRUB_TERMINAL}, convert it).
33542 2008-11-04 Robert Millan <rmh@aybabtu.com>
33544 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33546 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33548 2008-11-03 Bean <bean123ch@gmail.com>
33550 * kern/elf.c (grub_elf32_load): Revert to previous code.
33551 (grub_elf64_load): Likewise.
33553 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33555 2008-11-01 Robert Millan <rmh@aybabtu.com>
33557 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33558 (TARGET_CPPFLAGS): Likewise.
33559 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33561 2008-11-01 Carles Pina i Estany <carles@pina.cat>
33563 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33565 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33567 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33568 addition of objects until the code is not going to be able to fail.
33570 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33572 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33573 (add a missing NULL check, and correct them by moving the pointer
33574 operations after the actual check).
33576 2008-10-29 Robert Millan <rmh@aybabtu.com>
33578 * util/i386/pc/grub-install.in: Handle empty string as output from
33579 make_system_path_relative_to_its_root().
33581 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33583 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33584 circular metadata worst case scenario. If the metadata is circular
33585 then copy the wrap in place.
33586 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33587 project lib/format_text/layout.h
33588 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33590 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33592 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
33594 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33596 * util/update-grub_lib.in: Mention filename in warning message.
33598 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33600 * NEWS: Update for rename of update-grub to grub-mkconfig.
33602 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33604 * util/update-grub_lib.in: Copy to ...
33605 * util/grub-mkconfig_lib.in: ... this. Update all users.
33606 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
33607 * util/update-grub.in: Rename to ...
33608 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33609 option. Add `--output' option to allow users to specify the generated
33610 configuration file. Default to stdout.
33611 (update_grub_dir): Rename to ...
33612 (grub_mkconfig_dir): ... this.
33613 (grub_cfg): Default to an empty string.
33614 * conf/common.rmk (update-grub): Rename to ...
33615 (grub-mkconfig): ... this.
33616 (update-grub_lib): Copy to ...
33617 (grub-mkconfig_lib): ... this.
33618 (update-grub_SCRIPTS): Copy to ...
33619 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33620 (update-grub_DATA): Rename to ...
33621 (grub-mkconfig_DATA): ... this.
33623 2008-09-28 Robert Millan <rmh@aybabtu.com>
33625 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33626 to `modified'. Add the real `created' field.
33627 (grub_iso9660_uuid): Use `modified' rather than `created' for
33628 constructing the UUID.
33630 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
33632 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33633 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33635 2008-09-28 Bean <bean123ch@gmail.com>
33637 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33638 Thanks to Christian Franke for finding this bug.
33640 2008-09-25 Robert Millan <rmh@aybabtu.com>
33642 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33643 instances of grub_util_get_disk_name() (see previous commit).
33645 2008-09-25 Robert Millan <rmh@aybabtu.com>
33647 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33648 `util/i386/get_disk_name.c'.
33649 * conf/i386-efi.rmk: Likewise.
33650 * conf/x86_64-efi.rmk: Likewise.
33651 * conf/i386-coreboot.rmk: Likewise.
33652 * conf/i386-ieee1275.rmk: Likewise.
33653 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33654 `util/ieee1275/get_disk_name.c'.
33655 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33656 * util/ieee1275/get_disk_name.c: Remove file.
33657 * util/i386/get_disk_name.c: Remove file.
33658 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33659 "hd%d" for device.map entries, rather than using
33660 grub_util_get_disk_name().
33662 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33664 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33666 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33668 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33670 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33672 (GRUB_TERM_PPAGE): Changed to 0x4900.
33674 2008-09-24 Robert Millan <rmh@aybabtu.com>
33676 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33677 macros (they were i386-pc specific).
33678 * include/grub/sparc64/ieee1275/console.h: Likewise.
33679 * include/grub/efi/console.h: Likewise.
33681 2008-09-22 Bean <bean123ch@gmail.com>
33683 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33684 resident and in attribute list.
33686 * include/grub/ntfs.h (BMP_LEN): Removed.
33688 2008-09-22 Bean <bean123ch@gmail.com>
33690 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
33691 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33693 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33694 error occurs, as grub_disk_open will call grub_disk_close, which will
33695 call p->close (scsi).
33697 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33699 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33700 (AC_PREREQ): Bumped to 2.59.
33701 (AC_TRY_COMPILE): Replace obsolete macro with ...
33702 (AC_COMPILE_IFELSE): ... this.
33703 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33704 (AC_LINK_IFELSE): ... this.
33706 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33708 * autogen.sh: Add a call to `gendistlist.sh'.
33710 2008-09-19 Christian Franke <franke@computer.org>
33712 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33713 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33714 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33715 Export __enable_execute_stack() to modules.
33716 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33719 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33721 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33724 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33726 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
33727 #include <grub/util/hostdisk.h>.
33729 2008-09-08 Robert Millan <rmh@aybabtu.com>
33731 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33732 segments when their filesz is zero (grub_file_read() interprets
33733 zero-size as "read until EOF", which results in memory corruption).
33734 Use `lowest_segment' rather than 0 for calculating the current
33735 segment load address.
33737 2008-09-08 Robert Millan <rmh@aybabtu.com>
33739 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33740 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33741 clobbered useful information.
33743 2008-09-08 Robert Millan <rmh@aybabtu.com>
33745 * include/grub/util/biosdisk.h: Move to ...
33746 * include/grub/util/hostdisk.h: ... here. Update all users.
33747 * util/biosdisk.c: Move to ...
33748 * util/hostdisk.c: ... here. Update all users.
33750 2008-09-07 Robert Millan <rmh@aybabtu.com>
33752 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33754 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33755 and length can be stored directly in the `mbi->mmap_addr' and
33756 `mbi->mmap_length' struct fields.
33758 2008-09-07 Robert Millan <rmh@aybabtu.com>
33760 * conf/i386.rmk: New file. Provides declaration for building
33762 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33763 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33765 Include `conf/i386.mk'.
33766 * conf/i386-efi.rmk: Likewise.
33767 * conf/x86_64-efi.rmk: Likewise.
33768 * conf/i386-coreboot.rmk: Likewise.
33769 * conf/i386-ieee1275.rmk: Likewise.
33771 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33773 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33774 Adds optimization support for BGR based modes.
33776 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33777 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33778 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33779 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33780 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33781 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33782 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33783 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33784 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33785 (grub_video_i386_vbeblit_index_index): Likewise.
33786 (grub_video_i386_vbeblit_replace_directN): Added.
33787 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33788 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33789 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33790 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33791 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33792 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33793 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33794 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33795 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33796 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33797 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33798 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33799 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33801 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33802 (grub_video_i386_vbefill_R8G8B8): Likewise.
33803 (grub_video_i386_vbefill_index): Likewise.
33804 (grub_video_i386_vbefill_direct32): Added.
33805 (grub_video_i386_vbefill_direct24): Likewise.
33806 (grub_video_i386_vbefill_direct16): Likewise.
33807 (grub_video_i386_vbefill_direct8): Likewise.
33809 * include/grub/video.h (grub_video_blit_format): Removed
33810 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33811 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33812 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33813 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33814 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
33816 * video/video.c (grub_video_get_blit_format): Updated to use new
33817 blit formats. Added handling for 16 bit color modes.
33819 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
33821 (common_blitter): Updated to use new blitters.
33823 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33825 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33826 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33827 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33828 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33829 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33830 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33831 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33832 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33833 (grub_video_i386_vbeblit_index_index): Likewise.
33834 (grub_video_i386_vbeblit_replace_directN): Added.
33835 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33836 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33837 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33838 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33839 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33840 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33841 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33842 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33843 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33844 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33845 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33846 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33847 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33849 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33850 (grub_video_i386_vbefill_R8G8B8): Likewise.
33851 (grub_video_i386_vbefill_index): Likewise.
33852 (grub_video_i386_vbefill_direct32): Added.
33853 (grub_video_i386_vbefill_direct24): Likewise.
33854 (grub_video_i386_vbefill_direct16): Likewise.
33855 (grub_video_i386_vbefill_direct8): Likewise.
33857 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33860 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33863 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33866 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33869 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33871 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33874 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33876 * fs/iso9660.c (grub_iso9660_date): New structure.
33877 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33878 (grub_iso9660_uuid): New function.
33880 2008-09-05 Bean <bean123ch@gmail.com>
33882 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33884 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33885 insensitive bit for names in Win32 and Win32 & DOS namespace.
33887 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33889 * include/grub/types.h (LONG_MAX): Likewise.
33891 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33893 * util/getroot.c: Include <config.h>.
33894 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33895 add support for /dev/md/N devices and handle LVM double dash escaping.
33897 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33899 * config.guess: Update to latest version from config git.
33900 * config.sub: Likewise.
33902 2008-09-03 Robert Millan <rmh@aybabtu.com>
33904 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33905 `disk->total_sectors'.
33907 2008-09-01 Colin D Bennett <colin@gibibit.com>
33909 * include/grub/normal.h: Fixed incorrect comment for
33910 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
33912 2008-09-01 Colin D Bennett <colin@gibibit.com>
33914 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
33915 values with defines.
33917 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
33918 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
33919 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
33920 (GRUB_VBE_MODEATTR_COLOR): Likewise.
33921 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
33922 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
33923 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
33924 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
33925 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
33926 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
33927 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
33928 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
33929 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
33930 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
33931 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
33932 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
33933 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
33934 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
33935 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
33937 2008-08-31 Robert Millan <rmh@aybabtu.com>
33939 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
33941 (grub_multiboot): Fix a few warnings.
33943 2008-08-31 Robert Millan <rmh@aybabtu.com>
33945 * loader/i386/pc/multiboot.c: Update comment not to say that
33946 boot_device support is unimplemented.
33948 2008-08-31 Robert Millan <rmh@aybabtu.com>
33950 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
33951 or memory map support are unimplemented.
33953 2008-08-31 Colin D Bennett <colin@gibibit.com>
33955 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
33957 2008-08-31 Colin D Bennett <colin@gibibit.com>
33959 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
33960 total video memory in 'vbeinfo' output; show color format details for
33963 2008-08-30 Pavel Roskin <proski@gnu.org>
33965 * util/genmoddep.c: Remove for real this time.
33966 * DISTLIST: Remove util/genmoddep.c.
33968 2008-08-30 Robert Millan <rmh@aybabtu.com>
33970 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
33971 as required by Multiboot spec (it was already 4-byte aligned, but
33974 2008-08-29 Pavel Roskin <proski@gnu.org>
33976 * kern/powerpc/ieee1275/crt0.S: Rename to ...
33977 * kern/powerpc/ieee1275/startup.S: ... this.
33978 * conf/powerpc-ieee1275.rmk: Adjust for the above.
33979 * DISTLIST: Likewise.
33981 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
33982 grub/cpu/kernel.h. Add start label for consistency with other
33983 platforms. Add grub_prefix immediately after start. Add jump
33984 to the code after grub_prefix.
33985 * include/grub/powerpc/kernel.h: Provide valid values for
33986 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
33988 2008-08-29 Bean <bean123ch@gmail.com>
33990 * configure.ac: Change host_os to cygwin for mingw.
33991 (asprintf): New check for function.
33993 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
33994 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
33996 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
33997 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
33998 sync, sleep and grub_util_get_disk_size for mingw.
34000 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34001 to get size in mingw.
34002 (open_device): Use flag O_BINARY if it's defined.
34003 (find_root_device): Add dummy code for mingw.
34005 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34006 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34007 (get_scsi_disk_name): Return 0 for mingw.
34009 * util/hostfs.c: #include <grub/util/misc.h>.
34010 (grub_hostfs_open): Use "rb" flag to open file, use
34011 grub_util_get_disk_size to get disk size for mingw.
34013 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34014 (asprintf): New function if HAVE_ASPRINTF is not set.
34015 (sync): New function for mingw.
34017 (grub_util_get_disk_size): Likewise.
34019 2008-08-28 Pavel Roskin <proski@gnu.org>
34021 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34024 2008-08-28 Robert Millan <rmh@aybabtu.com>
34026 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34028 2008-08-28 Robert Millan <rmh@aybabtu.com>
34030 Change find_grub_drive() syntax so it doesn't prevent it from
34031 detecting NULL names as errors.
34033 * util/biosdisk.c (find_grub_drive): Move free slot search code
34035 (find_free_slot): ... to here.
34036 (read_device_map): Use find_free_slot() to search for free slots.
34038 2008-08-27 Marco Gerards <marco@gnu.org>
34040 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34041 (scsi_mod_SOURCES): New variable.
34042 (scsi_mod_CFLAGS): Likewise
34043 (scsi_mod_LDFLAGS): Likewise.
34045 * disk/scsi.c: New file.
34047 * include/grub/scsi.h: Likewise.
34049 * include/grub/scsicmd.h: Likewise.
34051 * disk/ata.c: Include <grub/scsi.h>.
34052 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34054 (grub_ata_iterate): Skip ATAPI devices.
34055 (grub_ata_open): Only handle ATAPI devices.
34056 (struct grub_atapi_read): Removed.
34057 (grub_atapi_readsector): Likewise.
34058 (grub_ata_read): No longer handle ATAPI devices.
34059 (grub_ata_write): Likewise.
34060 (grub_atapi_iterate): New function.
34061 (grub_atapi_read): Likewise.
34062 (grub_atapi_write): Likewise.
34063 (grub_atapi_open): Likewise.
34064 (grub_atapi_close): Likewise.
34065 (grub_atapi_dev): New variable.
34066 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34067 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34069 * include/grub/disk.h (enum grub_disk_dev_id): Add
34070 `GRUB_DISK_DEVICE_SCSI_ID'.
34072 2008-08-26 Robert Millan <rmh@aybabtu.com>
34074 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34075 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34078 2008-08-23 Bean <bean123ch@gmail.com>
34080 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34081 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34082 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34083 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34085 (raid5rec_mod_SOURCES): New macro.
34086 (raid5rec_mod_CFLAGS): Likewise.
34087 (raid5rec_mod_LDFLAGS): Likewise.
34088 (raid6rec_mod_SOURCES): Likewise.
34089 (raid6rec_mod_CFLAGS): Likewise.
34090 (raid6rec_mod_LDFLAGS): Likewise.
34091 (mdraid_mod_SOURCES): Likewise.
34092 (mdraid_mod_CFLAGS): Likewise.
34093 (mdraid_mod_LDFLAGS): Likewise.
34094 (dm_nv_mod_SOURCES): Likewise.
34095 (dm_nv_mod_CFLAGS): Likewise.
34096 (dm_nv_mod_LDFLAGS): Likewise.
34098 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34099 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34100 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34102 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34103 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34105 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34107 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34109 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34111 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34113 * disk/raid5_recover.c: New file.
34115 * disk/raid6_recover.c: Likewise.
34117 * disk/mdraid_linux.c: Likewise.
34119 * disk/dmraid_nvidia.c: Likewise.
34121 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34124 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34125 calculate the size of raid device.
34126 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34127 different layout of raid5.
34128 (grub_raid_scan_device): Remove code specific to mdraid.
34129 (grub_raid_list): New variable.
34130 (free_array): New function.
34131 (grub_raid_register): Likewise.
34132 (grub_raid_unregister): Likewise.
34133 (grub_raid_rescan): Likewise.
34134 (GRUB_MOD_INIT): Don't iterate device here.
34135 (GRUB_MOD_FINI): Use free_array to release resource.
34137 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34138 (grub_raid5_recover_func_t): New function variable type.
34139 (grub_raid6_recover_func_t): Likewise.
34140 (grub_raid5_recover_func): New variable.
34141 (grub_raid6_recover_func): Likewise.
34142 (grub_raid_register): New function.
34143 (grub_raid_unregister): Likewise.
34144 (grub_raid_rescan): Likewise.
34145 (grub_raid_block_xor): Likewise.
34147 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34148 (CMD_CRC): New macro.
34150 (read_file): Handle device as well as file.
34151 (cmd_crc): New function.
34152 (fstest): Handle multiple disks.
34153 (options): Remove part, raw and long, add root and diskcount.
34154 (usage): Add crc, remove -p, -r, -l, add -r and -c.
34155 (main): Find the first non option entry and ignore subsequent options,
34156 add handling for the new options, support multiple disks.
34158 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34160 2008-08-23 Bean <bean123ch@gmail.com>
34162 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34164 * genfslist.sh: Ignore kernel.mod.
34166 * genpartmaplist.sh: Likewise.
34168 2008-08-23 Robert Millan <rmh@aybabtu.com>
34170 * util/getroot.c (find_root_device): Skip anything that starts with
34171 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34173 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
34175 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34176 * util/grub.d/00_header.in: Allow the administrator to change default
34177 gfxmode via ${GRUB_GFXMODE}.
34179 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
34181 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34183 2008-08-21 Robert Millan <rmh@aybabtu.com>
34185 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34187 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34188 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34190 2008-08-20 Carles Pina i Estany <carles@pina.cat>
34192 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34193 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34195 2008-08-19 Robert Millan <rmh@aybabtu.com>
34197 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34198 (struct grub_virtual_screen): Remove `cursor_color'.
34199 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34201 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34203 2008-08-18 Robert Millan <rmh@aybabtu.com>
34205 Unify (identical) linux_normal.c files.
34206 * loader/i386/efi/linux_normal.c: Move from here ...
34207 * loader/linux_normal.c: ... to here. Update all users.
34208 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34209 * loader/i386/ieee1275/linux_normal.c: Likewise.
34211 2008-08-18 Robert Millan <rmh@aybabtu.com>
34213 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34214 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34215 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34216 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34217 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34219 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34220 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34221 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34222 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34223 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34224 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34225 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34226 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34227 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34228 portably using grub_getxy().
34229 Replace `-EFI' with `-bzImage' in boot message.
34231 2008-08-17 Robert Millan <rmh@aybabtu.com>
34233 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34235 2008-08-17 Robert Millan <rmh@aybabtu.com>
34237 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34239 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34240 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34241 (grub_machine_mmap_iterate): New function declaration.
34242 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34244 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34247 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34248 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34249 Move e820 parsing from here ...
34250 * kern/i386/pc/mmap.c: New file.
34251 (grub_machine_mmap_iterate): ... to here.
34253 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34254 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34255 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34256 (grub_available_iterate): Redeclare to return `void', and redeclare
34257 its hook to use grub_uint64_t as addr and size parameters, and rename
34259 (grub_machine_mmap_iterate): ... this. Update all users.
34261 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34262 to make it more readable. Rename to ...
34263 (grub_machine_mmap_iterate): ... this.
34265 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34266 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34267 (grub_multiboot): Allocate an extra region after the payload, and fill
34268 it with a Multiboot memory map. Adjust a.out loader to calculate size
34269 with the extra space.
34270 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34271 with the extra space.
34273 2008-08-17 Carles Pina i Estany <carles@pina.cat>
34275 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
34277 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
34279 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34280 mdate-sh to the list `find' searches for.
34281 * DISTLIST: Regenerated.
34283 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
34285 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34286 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
34287 genmoddep.awk, gensymlist.sh.in.
34288 (DISTDIRS): Add bus, docs, hook, lib.
34289 * DISTLIST: Regenerated.
34290 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
34292 2008-08-16 Robert Millan <rmh@aybabtu.com>
34294 * disk/raid.c (grub_raid_init): Handle/report errors set by
34295 grub_device_iterate().
34296 * disk/lvm.c (grub_lvm_init): Likewise.
34298 2008-08-15 Bean <bean123ch@gmail.com>
34300 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34302 (datetime_mod_SOURCES): New macro.
34303 (datetime_mod_CFLAGS): Likewise.
34304 (datetime_mod_LDFLAGS): Likewise.
34305 (date_mod_SOURCES): Likewise.
34306 (date_mod_CFLAGS): Likewise.
34307 (date_mod_LDFLAGS): Likewise.
34308 (datehook_mod_SOURCES): Likewise.
34309 (datehook_mod_CFLAGS): Likewise.
34310 (datehook_mod_LDFLAGS): Likewise.
34312 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34314 (datetime_mod_SOURCES): New macro.
34315 (datetime_mod_CFLAGS): Likewise.
34316 (datetime_mod_LDFLAGS): Likewise.
34317 (date_mod_SOURCES): Likewise.
34318 (date_mod_CFLAGS): Likewise.
34319 (date_mod_LDFLAGS): Likewise.
34320 (datehook_mod_SOURCES): Likewise.
34321 (datehook_mod_CFLAGS): Likewise.
34322 (datehook_mod_LDFLAGS): Likewise.
34324 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34326 (datetime_mod_SOURCES): New macro.
34327 (datetime_mod_CFLAGS): Likewise.
34328 (datetime_mod_LDFLAGS): Likewise.
34329 (date_mod_SOURCES): Likewise.
34330 (date_mod_CFLAGS): Likewise.
34331 (date_mod_LDFLAGS): Likewise.
34332 (datehook_mod_SOURCES): Likewise.
34333 (datehook_mod_CFLAGS): Likewise.
34334 (datehook_mod_LDFLAGS): Likewise.
34336 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34338 (datetime_mod_SOURCES): New macro.
34339 (datetime_mod_CFLAGS): Likewise.
34340 (datetime_mod_LDFLAGS): Likewise.
34341 (date_mod_SOURCES): Likewise.
34342 (date_mod_CFLAGS): Likewise.
34343 (date_mod_LDFLAGS): Likewise.
34344 (datehook_mod_SOURCES): Likewise.
34345 (datehook_mod_CFLAGS): Likewise.
34346 (datehook_mod_LDFLAGS): Likewise.
34348 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34350 (datetime_mod_SOURCES): New macro.
34351 (datetime_mod_CFLAGS): Likewise.
34352 (datetime_mod_LDFLAGS): Likewise.
34353 (date_mod_SOURCES): Likewise.
34354 (date_mod_CFLAGS): Likewise.
34355 (date_mod_LDFLAGS): Likewise.
34356 (datehook_mod_SOURCES): Likewise.
34357 (datehook_mod_CFLAGS): Likewise.
34358 (datehook_mod_LDFLAGS): Likewise.
34360 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34362 * commands/date.c: New file.
34364 * hook/datehook.c: Likewise.
34366 * include/grub/lib/datetime.h: Likewise.
34368 * include/grub/i386/cmos.h: Likewise.
34370 * lib/datetime.c: Likewise.
34372 * lib/i386/datetime.c: Likewise.
34374 * lib/efi/datetime.c: Likewise.
34376 2008-08-14 Robert Millan <rmh@aybabtu.com>
34378 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34379 (grub_mkelfimage_SOURCES): New variable.
34380 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34382 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34383 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34384 * conf/powerpc-ieee1275.rmk: Likewise.
34385 * conf/i386-ieee1275.rmk: Likewise.
34387 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34388 * kern/i386/coreboot/init.c: Likewise.
34390 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34391 with `<grub/cpu/kernel.h>'.
34392 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34394 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34395 * kern/i386/coreboot/startup.S: Likewise.
34397 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34398 (GRUB_MOD_GAP): Remove.
34399 * include/grub/powerpc/kernel.h: New file.
34400 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34401 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34402 * include/grub/i386/kernel.h: New file.
34403 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34404 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34405 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34407 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34409 Use --directory when invoking grub_mkimage.
34411 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34412 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34413 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34414 and GRUB_KERNEL_CPU_PREFIX.
34416 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
34418 * include/grub/err.h (grub_err_printf): New function prototype.
34419 * util/misc.c (grub_err_printf): New function.
34420 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34422 * kern/err.c (grub_print_error): Use grub_err_printf.
34424 2008-08-13 Robert Millan <rmh@aybabtu.com>
34426 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34428 2008-08-13 Robert Millan <rmh@aybabtu.com>
34430 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34433 2008-08-12 Robert Millan <rmh@aybabtu.com>
34435 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34436 of the relocation code from here ...
34437 (grub_multiboot): ... to here.
34438 (forward_relocator, backward_relocator): Move from here ...
34439 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34440 (grub_multiboot_backward_relocator): ... to here.
34441 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34442 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34443 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34444 (grub_multiboot_forward_relocator_end)
34445 (grub_multiboot_backward_relocator)
34446 (grub_multiboot_backward_relocator_end): New variables.
34448 2008-08-12 Bean <bean123ch@gmail.com>
34450 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34452 2008-08-11 Robert Millan <rmh@aybabtu.com>
34454 * kern/i386/linuxbios/startup.S: Move from here ...
34455 * kern/i386/coreboot/startup.S: ... to here.
34457 * kern/i386/linuxbios/init.c: Move from here ...
34458 * kern/i386/coreboot/init.c: ... to here.
34460 * kern/i386/linuxbios/table.c: Move from here ...
34461 * kern/i386/coreboot/mmap.c: ... to here.
34463 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34465 2008-08-11 Robert Millan <rmh@aybabtu.com>
34467 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34468 errors. Leave it to the upper layer to handle them.
34470 2008-08-09 Christian Franke <franke@computer.org>
34472 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34473 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34474 Install `grub.d/10_windows' only on Cygwin.
34475 * configure.ac: Add subst of `target_os'.
34476 Check `target_os' also before setting TARGET_OBJ2ELF.
34477 Add `--enable-grub-pe2elf'.
34479 2008-08-08 Robert Millan <rmh@aybabtu.com>
34481 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34482 (grub_last_time): Change type to grub_uint64_t.
34483 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34484 (grub_disk_close): Likewise.
34486 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34487 (run_menu): Migrate code from to using grub_get_time_ms().
34489 * util/misc.c (grub_get_time_ms): New function.
34491 2008-08-08 Marco Gerards <marco@gnu.org>
34493 * disk/ata.c (grub_ata_regget): Change return type to
34495 (grub_ata_regget2): Likewise.
34496 (grub_ata_wait_status): New function.
34497 (grub_ata_wait_busy): Removed function, updated all users to use
34498 `grub_ata_wait_status'.
34499 (grub_ata_wait_drq): Likewise.
34500 (grub_ata_cmd): New function.
34501 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34503 (grub_ata_pio_write): Add error handling.
34504 (grub_atapi_identify): Likewise.
34505 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34507 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34508 handling. Actually use the detected registers. Reorder the
34509 detection logic such that it is easier to read.
34510 (grub_ata_pciinit): Do not assign the same ID to each controller.
34511 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34513 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34515 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34517 2008-08-08 Marco Gerards <marco@gnu.org>
34521 2008-08-07 Bean <bean123ch@gmail.com>
34523 * include/grub/x86_64/pci.h: New file.
34525 2008-08-07 Christian Franke <franke@computer.org>
34527 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34528 (TIMER2_GATE): Likewise.
34529 (grub_pit_wait): Add enable/disable of the timer2 gate
34530 bit of port 0x61. This fixes a possible infinite loop.
34532 2008-08-07 Bean <bean123ch@gmail.com>
34534 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34535 kern/i386/tsc.c and kern/i386/pit.c.
34537 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34540 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34543 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34545 2008-08-07 Bean <bean123ch@gmail.com>
34547 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34549 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34551 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34552 multiple inclusion. Add #include <grub/types.h>.
34554 2008-08-06 Christian Franke <franke@computer.org>
34556 * conf/common.rmk: Build and install `10_windows'.
34557 * util/grub.d/10_windows.in: New script.
34559 2008-08-06 Pavel Roskin <proski@gnu.org>
34561 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34563 2008-08-06 Robert Millan <rmh@aybabtu.com>
34565 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34566 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34568 2008-08-06 Bean <bean123ch@gmail.com>
34570 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34571 (grub_pxefs_fs_int): Remove dummy definition.
34572 (grub_pxefs_open): Use data->block_size to store the current block
34574 (grub_pxefs_read): Use block size stored in data->block_size. As the
34575 value of grub_pxe_blksize can be changed after the file is opened.
34577 2008-08-06 Bean <bean123ch@gmail.com>
34579 * fs/i386/pc/pxe.c (curr_file): new variable.
34580 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34581 require the dummy internal file system anymore.
34582 (grub_pxefs_read): Removed.
34583 (grub_pxefs_close): Likewise.
34584 (grub_pxefs_fs_int): Likewise.
34585 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34586 connection when we switch file.
34587 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34589 2008-08-06 Robert Millan <rmh@aybabtu.com>
34591 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34593 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34594 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34596 * kern/i386/halt.c: New file.
34597 * kern/i386/reboot.c: Likewise.
34598 * include/grub/i386/reboot.h: Likewise.
34599 * include/grub/i386/halt.h: Likewise.
34601 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34602 Include `<grub/cpu/halt.h>'.
34603 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34604 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34606 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34607 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34608 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34609 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34610 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34611 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34613 * include/grub/i386/at_keyboard.h: ... to here.
34615 2008-08-05 Robert Millan <rmh@aybabtu.com>
34617 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34618 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34619 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34620 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34621 `kern/generic/millisleep.c'.
34623 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34624 instead of grub_get_rtc().
34625 (grub_tsc_init): Initialize `tsc_boot_time'.
34627 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34628 (grub_machine_init): Use grub_tsc_init() rather than
34629 installing an RTC-based handler via grub_install_get_time_ms().
34631 * kern/i386/pit.c: New file.
34632 * include/grub/i386/pit.h: Likewise.
34634 2008-08-05 Bean <bean123ch@gmail.com>
34636 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34638 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34639 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34640 (pxe_mod_SOURCES): New macro.
34641 (pxe_mod_CFLAGS): Likewise.
34642 (pxe_mod_LDFLAGS): Likewise.
34643 (pxecmd_mod_SOURCES): Likewise.
34644 (pxecmd_mod_CFLAGS): Likewise.
34645 (pxecmd_mod_LDFLAGS): Likewise.
34647 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34648 (grub_pxe_call): Likewise.
34650 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34652 * commands/i386/pc/pxecmd.c: New file.
34654 * fs/i386/pc/pxe.c: Likewise.
34656 * include/grub/i386/pc/pxe.h: Likewise.
34658 2008-08-05 Bean <bean123ch@gmail.com>
34660 * util/console.c (grub_console_cur_color): New variable.
34661 (grub_console_standard_color): Likewise.
34662 (grub_console_normal_color): Likewise.
34663 (grub_console_highlight_color): Likewise.
34664 (color_map): Likewise.
34665 (use_color): Likewise.
34666 (NUM_COLORS): New macro.
34667 (grub_ncurses_setcolorstate): Handle color properly.
34668 (grub_ncurses_setcolor): Don't change color here, just remember the
34669 settings, color will be set in grub_ncurses_setcolorstate.
34670 (grub_ncurses_getcolor): New function.
34671 (grub_ncurses_init): Initialize color pairs.
34672 (grub_ncurses_term): New member grub_ncurses_getcolor.
34674 2008-08-05 Colin D Bennett <colin@gibibit.com>
34676 High resolution timer support. Implemented for x86 CPUs using TSC.
34677 Extracted generic grub_millisleep() so it's linked in only as needed.
34678 This requires a Pentium compatible CPU; if the RDTSC instruction is
34679 not supported, then it falls back on the generic grub_get_time_ms()
34680 implementation that uses the machine's RTC.
34682 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34683 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34684 `kern/generic/millisleep.c'.
34686 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34687 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34689 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34690 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34692 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34694 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34695 `kern/generic/millisleep.c'.
34697 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34699 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34701 * kern/generic/rtc_get_time_ms.c: New file.
34703 * kern/generic/millisleep.c: New file.
34705 * kern/misc.c: Don't include
34706 <kern/time.h> anymore.
34707 (grub_millisleep_generic): Removed.
34709 * commands/sleep.c (grub_interruptible_millisleep): Uses
34710 grub_get_time_ms() instead of grub_get_rtc().
34712 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34714 (grub_cpu_is_cpuid_supported): New inline function.
34715 (grub_cpu_is_tsc_supported): New inline function.
34716 (grub_tsc_init): New function prototype.
34717 (grub_tsc_get_time_ms): New function prototype.
34719 * kern/i386/tsc.c (grub_get_time_ms): New file.
34721 * include/grub/time.h: Include <grub/types.h.
34722 (grub_millisleep_generic): Removed.
34723 (grub_get_time_ms): New prototype.
34724 (grub_install_get_time_ms): New prototype.
34725 (grub_rtc_get_time_ms): New prototype.
34727 * kern/time.c (grub_get_time_ms): New function.
34728 (grub_install_get_time_ms): New function.
34730 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34731 <grub/time.h> anymore.
34732 (grub_millisleep): Removed.
34733 (grub_machine_init): Call grub_tsc_init.
34735 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34736 get_time_ms() implementation.
34738 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34739 (ieee1275_get_time_ms): New function.
34740 (grub_machine_init): Install get_time_ms() implementation.
34742 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34743 (grub_machine_init): Call grub_tsc_init().
34744 (grub_millisleep): Removed.
34746 * kern/ieee1275/init.c (grub_millisleep): Removed.
34747 (grub_machine_init): Install ieee1275_get_time_ms()
34749 (ieee1275_get_time_ms): New function.
34750 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34753 2008-08-05 Marco Gerards <marco@gnu.org>
34755 * disk/ata.c: Include <grub/pci.h>.
34756 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34757 (grub_ata_initialize): Rewritten.
34758 (grub_ata_device_initialize): New function.
34760 2008-08-04 Pavel Roskin <proski@gnu.org>
34762 * kern/main.c: Include grub/mm.h.
34764 2008-08-04 Robert Millan <rmh@aybabtu.com>
34766 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34767 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34768 corruption problem).
34770 2008-08-04 Robert Millan <rmh@aybabtu.com>
34772 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34773 warnings introduced in my last commit.
34775 2008-08-03 Robert Millan <rmh@aybabtu.com>
34777 Make PCI available on all i386 architectures.
34779 * include/grub/i386/pc/pci.h: Move from here ...
34780 * include/grub/i386/pci.h: ... to here.
34782 * include/grub/i386/pc/pci.h: Remove.
34783 * include/grub/i386/efi/pci.h: Remove.
34784 * include/grub/x86_64/efi/pci.h: Remove.
34786 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34787 `<grub/cpu/pci.h>'.
34789 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34790 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34791 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34793 * conf/i386-ieee1275.rmk: Likewise.
34795 2008-08-03 Robert Millan <rmh@aybabtu.com>
34797 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34798 (grub_console_setcursor): Make it possible to set cursor off.
34800 2008-08-03 Robert Millan <rmh@aybabtu.com>
34802 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34803 of modules instead of assuming which platform provides what.
34804 * util/update-grub.in: Likewise.
34806 2008-08-03 Robert Millan <rmh@aybabtu.com>
34808 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34809 instead of `grub_install_dos_part' to determine whether a drive needs
34810 to be prepended to prefix (`grub_install_dos_part' is not reliable,
34811 because it can be overridden when loading GRUB via Multiboot).
34813 2008-08-02 Robert Millan <rmh@aybabtu.com>
34815 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34817 2008-08-02 Robert Millan <rmh@aybabtu.com>
34819 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34820 of informational grub_dprintf() calls.
34822 2008-08-02 Robert Millan <rmh@aybabtu.com>
34824 * disk/memdisk.c (memdisk_size): Don't initialize.
34825 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34827 * include/grub/i386/pc/kernel.h
34828 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34829 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34830 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34831 (grub_arch_memdisk_size): Remove.
34833 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34834 field (was only used to transfer a constant). Add `type' field to
34835 support multiple module types.
34836 (grub_module_iterate): New function.
34838 * kern/device.c (grub_device_open): Do not hide error messages
34839 when grub_disk_open() fails. Use grub_print_error() instead.
34841 * kern/i386/pc/init.c (grub_arch_modules_addr)
34842 (grub_arch_memdisk_size): Remove functions.
34843 (grub_arch_modules_addr): Return the module address in high memory
34844 (now that it isn't copied anymore).
34846 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34847 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34848 decompression routine (grub_total_module_size already includes that
34849 now). Don't copy modules back to low memory.
34851 * kern/main.c: Include `<grub/mm.h>'.
34852 (grub_load_modules): Split out (and use) ...
34853 (grub_module_iterate): ... this function, which iterates through
34854 module objects and runs a hook.
34855 Comment out grub_mm_init_region() call, as it would cause non-ELF
34856 modules to be overwritten.
34858 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34859 the memdisk image in its own region, make it part of the module list.
34860 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34861 (main): Parse --memdisk|-m option, and pass user-provided path as
34862 parameter to generate_image().
34863 (add_segments): Pass `memdisk_path' down to load_modules().
34864 (load_modules): Embed memdisk image in module section when requested.
34865 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34866 `header.type' instead of `header.offset'.
34868 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34869 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34870 (memdisk_mod_LDFLAGS): New variables.
34871 * conf/i386-coreboot.rmk: Likewise.
34872 * conf/i386-ieee1275.rmk: Likewise.
34874 2008-08-02 Robert Millan <rmh@aybabtu.com>
34876 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34877 (backward_relocator): New variables. Used to allocate and relocate
34878 the payload, respectively.
34879 (grub_multiboot_load_elf32): Load into heap instead of requested
34880 address, install the appropriate relocator code in each bound of
34881 the payload, and set the entry point such that
34882 grub_multiboot_real_boot() will jump to one of them.
34884 * kern/i386/loader.S (grub_multiboot_payload_size)
34885 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34886 (grub_multiboot_payload_entry_offset): New variables.
34887 (grub_multiboot_real_boot): Set cpu context to what the relocator
34888 expects, and jump to the relocator instead of the payload.
34890 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34891 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34892 (grub_multiboot_payload_entry_offset): Export.
34894 2008-08-01 Bean <bean123ch@gmail.com>
34896 * normal/menu_entry.c (editor_getline): Don't return the original
34897 string as result, as it will be released by lexer once it has done
34900 2008-08-01 Robert Millan <rmh@aybabtu.com>
34902 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34903 within menuentries, not before them.
34904 util/grub.d/10_hurd.in: Likewise.
34906 2008-08-01 Bean <bean123ch@gmail.com>
34908 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34909 (bufio_mod_SOURCES): New macro.
34910 (bufio_mod_CFLAGS): Likewise.
34911 (bufio_mod_LDFLAGS): Likewise.
34913 * include/grub/bufio.h: New file.
34915 * io/bufio.c: Likewise.
34917 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
34918 (grub_video_reader_png): Use grub_buffile_open to open file.
34920 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
34921 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
34923 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
34924 (grub_video_reader_tga): Use grub_buffile_open to open file.
34926 * font/manager.c: Include <grub/bufio.h>.
34927 (add_font): Use grub_buffile_open to open file.
34929 2008-07-31 Robert Millan <rmh@aybabtu.com>
34931 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
34932 ELF segments, use a macro for arbitrarily accessing any of them instead
34933 of preparing a pointer that allows access to one at a time.
34934 (grub_multiboot_load_elf64): Likewise.
34936 2008-07-31 Bean <bean123ch@gmail.com>
34938 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
34939 GRUB_KERNEL_MACHINE_DATA_END.
34941 2008-07-30 Robert Millan <rmh@aybabtu.com>
34943 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
34944 Increase from 0x50 to 0x60.
34945 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
34946 use UUIDs to identify the root drive for them. If that's not
34948 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
34949 check, for cross-disk installs.
34951 2008-07-30 Robert Millan <rmh@aybabtu.com>
34953 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
34954 is non-empty, use it to set the `prefix' environment variable instead
34955 of the usual approach.
34956 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
34957 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
34958 environment variable instead of dummy make_install_device().
34960 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
34961 (start): Insert a data section, with `grub_prefix' variable.
34962 * kern/i386/linuxbios/startup.S: Likewise.
34964 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
34965 New variable reference.
34966 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
34967 New macro. Defines offset of `grub_prefix' within startup.S (relative
34969 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
34970 section within startup.S (relative to `start').
34971 * include/grub/i386/coreboot/kernel.h: Likewise.
34973 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
34974 Overwrite grub_prefix with its contents, at the beginning of the
34976 (main): Understand -p|--prefix.
34978 2008-07-30 Robert Millan <rmh@aybabtu.com>
34980 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
34982 2008-07-30 Robert Millan <rmh@aybabtu.com>
34984 * term/i386/pc/vga_text.c (grub_console_cls): Use
34985 grub_console_gotoxy() to go back to beginning of the screen.
34986 Found by Patrick Georgi <patrick.georgi@coresystems.de>
34988 2008-07-29 Christian Franke <franke@computer.org>
34990 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34991 Add conversion of emulated mount points on Cygwin.
34993 2008-07-29 Christian Franke <franke@computer.org>
34995 * util/update-grub.in: Add a check for admin
34997 Remove old `grub.cfg.new' before creation.
34998 Add `-f' to `mv' to handle the different filesystem
34999 semantics of Windows.
35001 2008-07-29 Bean <bean123ch@gmail.com>
35003 * normal/main.c (get_line): Fix buffer overflow bug.
35005 2008-07-28 Robert Millan <rmh@aybabtu.com>
35007 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35008 (struct grub_apple_header): New struct. Describes the layout of
35009 the partmap header.
35010 (apple_partition_map_iterate): Check the header magic as well as the
35011 partition magic (which was already being checked).
35013 2008-07-28 Pavel Roskin <proski@gnu.org>
35015 * genmk.rb: Add a warning to the beginning of the output that
35016 it's a generated file and should not be edited.
35018 2008-07-28 Robert Millan <rmh@aybabtu.com>
35020 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35021 with the same number are found, just use issue a warning with
35022 grub_dprintf(), as this error has been reported to be non-fatal.
35024 2008-07-27 Robert Millan <rmh@aybabtu.com>
35026 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35029 2008-07-27 Bean <bean123ch@gmail.com>
35031 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35032 (grub_fat_find_dir): Ignore case when comparing filename.
35034 2008-07-27 Bean <bean123ch@gmail.com>
35036 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35037 smallino, as it's more descriptive, and i8count can be confused with
35038 the other field count.
35039 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35042 2008-07-27 Bean <bean123ch@gmail.com>
35044 * commands/crc.c: New file.
35046 * lib/crc.c: Likewise.
35048 * include/grub/lib/crc.h: Likewise.
35050 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35052 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35053 (hexdump): Move this function to ...
35055 * lib/hexdump.c: ... here.
35057 * include/grub/hexdump.h: Renamed to ...
35059 * include/grub/lib/hexdump.h: ... this.
35061 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35063 * util/grub-editenv.c: Likewise.
35065 * include/envblk.h: Renamed to ...
35067 * include/lib/envblk.h: ... this.
35069 * util/envblk.c: Renamed to ...
35071 * lib/envblk.c: ... this.
35073 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35075 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35076 (pkglib_MODULES): Add crc.mod.
35077 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35078 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35079 (crc_mod_SOURCES): New macro.
35080 (crc_mod_CFLAGS): Likewise.
35081 (crc_mod_LDFLAGS): Likewise.
35083 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35085 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35087 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35091 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35093 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
35095 * commands/help.c: Include <grub/term.h>.
35096 (TERM_WIDTH): Removed. Updated all users.
35098 2008-07-27 Pavel Roskin <proski@gnu.org>
35100 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35101 spurious warnings about a comment within a comment.
35103 2008-07-25 Robert Millan <rmh@aybabtu.com>
35105 * util/getroot.c (find_root_device): Skip devices that match
35106 /dev/dm-[0-9]. This lets the real device be found for any type of
35107 abstraction (LVM, EVMS, RAID..).
35108 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35109 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35110 device is found first, find_root_device() will now skip it.
35112 2008-07-24 Pavel Roskin <proski@gnu.org>
35114 * include/grub/types.h: Use __builtin_bswap32() and
35115 __builtin_bswap64() with gcc 4.3 and newer.
35117 2008-07-24 Christian Franke <franke@computer.org>
35119 * util/i386/pc/grub-install.in: If `--debug' is specified,
35120 pass `--verbose' to grub-setup.
35121 Abort script if make_system_path_relative_to_its_root() fails.
35123 2008-07-24 Bean <bean123ch@gmail.com>
35125 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35126 variable `target_platform' should be `platform'.
35128 2008-07-24 Bean <bean123ch@gmail.com>
35130 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
35131 (grub_png_init_fixed_block): New function.
35132 (grub_png_decode_image_data): Handle fixed huffman code compression.
35134 2008-07-24 Bean <bean123ch@gmail.com>
35136 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35137 (grub_pe2elf_SOURCES): New macro.
35138 (CLEANFILES): Add grub-pe2elf.
35140 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35141 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35142 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35143 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35144 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35145 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35146 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35147 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35148 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35149 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35150 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35151 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35152 (GRUB_PE32_DT_FUNCTION): Likewise.
35153 (GRUB_PE32_REL_I386_DIR32): Likewise.
35154 (GRUB_PE32_REL_I386_REL32): Likewise.
35155 (grub_pe32_symbol): New structure.
35156 (grub_pe32_reloc): Likewise.
35158 * util/grub-pe2elf.c: New file.
35160 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35161 start symbol in non pc platform.
35163 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35165 The following patches are from Christian Franke.
35167 * include/grub/dl.h: Remove .previous, gas supports this only
35170 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35171 Remove .type, gas supports this only for ELF format.
35173 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35174 nullbytes in symbol table. This fixes an infinite loop if table is
35177 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35178 TARGET_IMG_LDFLAGS and EXEEXT.
35180 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35181 TARGET_IMG_LDFLAGS_AC.
35182 (grub_CHECK_STACK_ARG_PROBE): New function.
35184 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35186 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35188 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35189 to set TARGET_IMG_LD* accordingly.
35190 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35191 Add call to grub_CHECK_STACK_ARG_PROBE.
35192 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35194 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35196 * genmk.rb: Add EXEEXT to CLEANFILES.
35198 2008-07-23 Robert Millan <rmh@aybabtu.com>
35200 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35201 define the codes for arrows and lines used for the menu).
35202 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35205 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35206 fonts, because the latter are too slow.
35208 2008-07-21 Bean <bean123ch@gmail.com>
35210 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35211 a20. Run keyboard test last, as it will cause macbook to halt.
35213 2008-07-18 Pavel Roskin <proski@gnu.org>
35215 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35216 load foreign architecture modules correctly anyway. Keep
35217 support for loading host architecture modules, whether we
35218 compile them or not.
35220 2008-07-17 Pavel Roskin <proski@gnu.org>
35222 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35223 change target_cpu. The compiler default can mismatch target_cpu
35226 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35227 * kern/efi/efi.c: Likewise.
35229 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35230 target compiler is functional.
35231 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35234 * configure.ac: Default to efi platform for x86_64-apple. Allow
35235 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35236 adjustments from the rest, only do them if target is not
35237 explicitly given. Merge other adjustments with the final sanity
35238 check. Remove an extraneous check for supported CPU. Be
35239 specific which CPU and which platform is not supported.
35241 * configure.ac: Default to pc platform for x86_64.
35243 2008-07-17 Robert Millan <rmh@aybabtu.com>
35245 Partial LinuxBIOS -> Coreboot rename.
35247 * conf/i386-linuxbios.rmk: Renamed to ...
35248 * conf/i386-coreboot.rmk: ... this.
35249 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35250 * configure.ac: Accept "coreboot" as input platform (but maintain
35251 compatibility with "linuxbios").
35252 * include/grub/i386/linuxbios: Renamed to ...
35253 * include/grub/i386/coreboot: ... this.
35255 2008-07-17 Bean <bean123ch@gmail.com>
35257 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
35258 (appleldr_mod_SOURCE): New variable.
35259 (appleldr_mod_CFLAGS): Likewise.
35260 (appleldr_mod_LDFLAGS): Likewise.
35261 (pci_mod_SOURCES): Likewise.
35262 (pci_mod_CFLAGS): Likewise.
35263 (pci_mod_LDFLAGS): Likewise.
35264 (lspci_mod_SOURCES): Likewise.
35265 (lspci_mod_CFLAGS): Likewise.
35266 (lspci_mod_LDFLAGS): Likewise.
35268 * conf/x86_64-efi.rmk: New file.
35270 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35272 (grub_efidisk_write): Likewise.
35274 * include/efi/api.h (efi_call_0): New macro.
35275 (efi_call_1): Likewise.
35276 (efi_call_2): Likewise.
35277 (efi_call_3): Likewise.
35278 (efi_call_4): Likewise.
35279 (efi_call_5): Likewise.
35280 (efi_call_6): Likewise.
35282 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35283 grub_rescue_cmd_chainloader.
35285 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35286 (grub_pe32_optional_header): Change some fields based on i386 or
35288 (GRUB_PE32_PE32_MAGIC): Likewise.
35290 * include/grub/efi/uga_draw.h: New file.
35292 * include/grub/elf.h (STN_ABS): New constant.
35293 (R_X86_64_NONE): Relocation constant for x86_64.
35294 (R_X86_64_64): Likewise.
35295 (R_X86_64_PC32): Likewise.
35296 (R_X86_64_GOT32): Likewise.
35297 (R_X86_64_PLT32): Likewise.
35298 (R_X86_64_COPY): Likewise.
35299 (R_X86_64_GLOB_DAT): Likewise.
35300 (R_X86_64_JUMP_SLOT): Likewise.
35301 (R_X86_64_RELATIVE): Likewise.
35302 (R_X86_64_GOTPCREL): Likewise.
35303 (R_X86_64_32): Likewise.
35304 (R_X86_64_32S): Likewise.
35305 (R_X86_64_16): Likewise.
35306 (R_X86_64_PC16): Likewise.
35307 (R_X86_64_8): Likewise.
35308 (R_X86_64_PC8): Likewise.
35310 * include/grub/i386/efi/pci.h: New file.
35312 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35313 Change it value based on platform.
35314 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35315 (GRUB_E820_RAM): Likewise.
35316 (GRUB_E820_RESERVED): Likewise.
35317 (GRUB_E820_ACPI): Likewise.
35318 (GRUB_E820_NVS): Likewise.
35319 (GRUB_E820_EXEC_CODE): Likewise.
35320 (GRUB_E820_MAX_ENTRY): Likewise.
35321 (grub_e820_mmap): New structure.
35322 (linux_kernel_header): Change the efi field according to different
35323 kernel version, also field from linux_kernel_header.
35325 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35327 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35328 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35329 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35330 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35331 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35332 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35333 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35334 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35335 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35336 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35338 * include/grub/x86_64/efi/kernel.h: New file.
35340 * include/grub/x86_64/efi/loader.h: Likewise.
35342 * include/grub/x86_64/efi/machine.h: Likewise.
35344 * include/grub/x86_64/efi/pci.h: Likewise.
35346 * include/grub/x86_64/efi/time.h: Likewise.
35348 * include/grub/x86_64/linux.h: Likewise.
35350 * include/grub/x86_64/setjmp.h: Likewise.
35352 * include/grub/x86_64/time.h: Likewise.
35354 * include/grub/x86_64/types.h: Likewise.
35356 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35357 GRUB_TARGET_SIZEOF_VOID_P.
35359 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35360 (grub_efi_locate_handle): Likewise.
35361 (grub_efi_open_protocol): Likewise.
35362 (grub_efi_set_text_mode): Likewise.
35363 (grub_efi_stall): Likewise.
35364 (grub_exit): Likewise.
35365 (grub_reboot): Likewise.
35366 (grub_halt): Likewise.
35367 (grub_efi_exit_boot_services): Likewise.
35368 (grub_get_rtc): Likewise.
35370 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35371 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35372 (grub_efi_allocate_pages): Wrap efi calls.
35373 (grub_efi_free_pages): Wrap efi calls.
35374 (grub_efi_get_memory_map): Wrap efi calls.
35376 * kern/x86_64/dl.c: New file.
35378 * kern/x86_64/efi/callwrap.S: Likewise.
35380 * kern/x86_64/efi/startup.S: Likewise.
35382 * loader/efi/appleloader.c: Likewise.
35384 * loader/efi/chainloader.c (cmdline): New variable.
35385 (grub_chainloader_unload): Wrap efi calls.
35386 (grub_chainloader_boot): Likewise.
35387 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35390 * loader/efi/chainloader_normal.c (chainloader_command):
35391 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35394 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35396 (grub_e820_add_region): New function.
35397 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35399 (grub_find_video_card): New function.
35400 (grub_linux_setup_video): New function.
35401 (grub_rescue_cmd_linux): Probe for video information.
35403 * normal/x86_64/setjmp.S: New file.
35405 * term/efi/console.c (map_char): New function.
35406 (grub_console_putchar): Map unicode char.
35407 (grub_console_checkkey): Wrap efi calls.
35408 (grub_console_getkey): Likewise.
35409 (grub_console_getwh): Likewise.
35410 (grub_console_gotoxy): Likewise.
35411 (grub_console_cls): Likewise.
35412 (grub_console_setcolorstate): Likewise.
35413 (grub_console_setcursor): Likewise.
35415 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35417 2008-07-16 Pavel Roskin <proski@gnu.org>
35419 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35422 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35423 pointer, not an integer. This fixes a warning and prevents
35424 precision loss on 64-bit systems.
35425 (relocate_addresses): Remove unneeded cast.
35427 2008-07-15 Pavel Roskin <proski@gnu.org>
35429 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35431 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35433 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35434 Fix comparison between signed and unsigned.
35436 * include/grub/i386/ieee1275/console.h: Declare
35437 grub_console_init() and grub_console_fini().
35439 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35440 It's empty and unused.
35442 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35443 beginning to avoid warnings with some compilers.
35445 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35446 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35448 2008-07-14 Pavel Roskin <proski@gnu.org>
35450 * kern/env.c (grub_register_variable_hook): Don't copy empty
35451 string, it leaks memory. Pass "" to grub_env_set(), it should
35452 handle constant strings.
35454 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35455 * commands/cmp.c (grub_cmd_cmp): Likewise.
35456 * kern/dl.c (grub_dl_flush_cache): Likewise.
35457 (grub_dl_load_core): Likewise.
35458 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35459 (grub_elf64_load_phdrs): Likewise.
35461 2008-07-13 Pavel Roskin <proski@gnu.org>
35463 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35464 between signed and unsigned.
35465 (LzmaEnc_Finish): Fix warning about an unused parameter.
35467 2008-07-13 Bean <bean123ch@gmail.com>
35469 * Makefile.in (enable_lzo): New rule.
35471 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35473 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35475 * boot/i386/pc/lnxboot.S: #include <config.h>.
35477 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
35478 its value according to the compression algorithm used, lzo or lzma.
35480 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35481 compression algorithm according to configure macro.
35483 * kern/i386/pc/startup.S (codestart): Likewise.
35485 * kern/i386/pc/lzma_decode.S: New file.
35487 * include/grub/lib/LzFind.h: Likewise.
35489 * include/grub/lib/LzHash.h: Likewise.
35491 * include/grub/lib/LzmaDec.h: Likewise.
35493 * include/grub/lib/LzmaEnc.h: Likewise.
35495 * include/grub/lib/LzmaTypes.h: Likewise.
35497 * lib/LzFind.c: Likewise.
35499 * lib/LzmaDec.c: Likewise.
35501 * lib/LzmaEnc.c: Likewise.
35503 2008-07-13 Bean <bean123ch@gmail.com>
35505 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35506 (grub_ext4_extent_header): New structure.
35507 (grub_ext4_extent): Likewise.
35508 (grub_ext4_extent_idx): Likewise.
35509 (grub_ext4_find_leaf): New function.
35510 (grub_ext2_read_block): Handle extents.
35512 2008-07-12 Robert Millan <rmh@aybabtu.com>
35514 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35516 2008-07-11 Robert Millan <rmh@aybabtu.com>
35518 * util/grub.d/40_custom.in: New file. Example on how to add custom
35519 entries to /etc/grub.d.
35520 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35521 40_custom (implicitly, by merging all the grub.d rules).
35523 2008-07-11 Pavel Roskin <proski@gnu.org>
35525 * commands/read.c (grub_getline): Fix invalid memory access.
35526 Don't add newline to the variable value.
35528 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35529 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35530 (serial_hw_get_port): Check validity of the port number.
35531 (grub_cmd_serial): Check return value of serial_hw_get_port().
35533 2008-07-07 Pavel Roskin <proski@gnu.org>
35535 * boot/i386/pc/diskboot.S (notification_string): Replace
35536 "Loading kernel" with just "loading". This is shorter, less
35537 confusing and saves a few bytes for possible future changes.
35539 2008-07-05 Pavel Roskin <proski@gnu.org>
35541 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35542 size for ATAPI devices, they are undefined. Output sector
35543 number in decimal form.
35545 * disk/ata.c: Use named constants for status bits.
35547 2008-07-04 Pavel Roskin <proski@gnu.org>
35549 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35550 grub_addr_t before casting it to the void pointer to fix a
35551 warning. Non-addressable regions are discarded earlier.
35552 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35553 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35554 (check_signature): Don't shadow table_header.
35555 (grub_linuxbios_table_iterate): Cast numeric constants to
35556 grub_linuxbios_table_header_t.
35557 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35560 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35563 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35564 pointer, which can cause warnings. Support 64-bit addresses.
35566 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35567 of sizeof(long). This fixes PowerPC image generation on x86_64.
35569 2008-07-04 Robert Millan <rmh@aybabtu.com>
35571 This fixes a performance issue when pc & gpt partmap iterators
35572 didn't abort iteration even after our hook found what it was
35573 looking for (often causing expensive probes of non-existent drives).
35575 Some callers relied on previous buggy behaviour, since they would
35576 raise an error when their own hooks caused early abortion of its
35579 * kern/device.c (grub_device_open): Improve error message.
35580 * disk/lvm.c (grub_lvm_open): Likewise.
35581 * disk/raid.c (grub_raid_open): Likewise.
35583 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35584 when hook requests it, independently of grub_errno.
35585 (pc_partition_map_probe): Do not fail when find_func() caused
35586 early abortion of pc_partition_map_iterate().
35588 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35589 when hook requests it, independently of grub_errno.
35590 (gpt_partition_map_probe): Do not fail when find_func() caused
35591 early abortion of gpt_partition_map_iterate().
35593 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35594 when hook requests it, independently of grub_errno. Do not fail when
35595 part_map_iterate_hook() caused early abortion of p->iterate().
35597 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35598 when grub_partition_iterate() returned with non-zero.
35600 2008-07-03 Pavel Roskin <proski@gnu.org>
35602 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35603 like we do in grub_ata_pio_read().
35604 (grub_ata_readwrite): Always write individual sectors. Fix the
35605 sector count for the remainder.
35606 (grub_ata_write): Enable writing to ATA devices. Correctly
35607 report error for ATAPI devices.
35609 2008-07-02 Pavel Roskin <proski@gnu.org>
35611 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35614 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35615 for every read sector, we already increment it for the whole
35616 batch. This fixes reading more than 256 sectors at once.
35618 * util/grub-editenv.c (cmd_info): Cast argument to long
35619 explicitly. ptrdiff_t reduces to int on i386.
35621 * util/grub-editenv.c (main): Be specific which parameter is
35624 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35625 (memdisk): Make memdisk_orig_addr a pointer.
35627 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35628 for file offsets, use grub_off_t instead. Fix printf format
35631 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35632 there. Real unexpected warnings should not drown in the noise
35633 about known problems.
35635 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35636 grub_disk_addr_t for memory addresses.
35638 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35639 explicitly to fix a warning.
35641 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35643 * Makefile.in (MODULE_LDFLAGS): New variable.
35644 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35645 the linker accepts --build-id=none.
35646 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35648 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35650 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35651 those in Linux XFS code. Provide a way to access 64-bit parent
35653 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35654 the end of struct grub_xfs_dir_header.
35656 2008-07-02 Bean <bean123ch@gmail.com>
35658 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35659 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35660 and GRUB_IEEE1275_FLAG_NO_ANSI.
35662 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35663 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35664 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35666 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35667 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35669 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35670 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35672 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35673 esc sequence on non ANSI terminal.
35674 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35676 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35679 2008-07-02 Bean <bean123ch@gmail.com>
35681 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35682 (grub_editenv_SOURCES): New variable.
35683 (pkglib_MODULES): Add loadenv.mod.
35684 (loadenv_mod_SOURCES): New variable.
35685 (loadenv_mod_CFLAGS): Likewise.
35686 (loadenv_mod_LDFLAGS): Likewise.
35688 * include/grub/envblk.h: New file.
35690 * util/envblk.c: New file.
35692 * util/grub-editenv.c: New file.
35694 * commands/loadenv.c: New file.
35696 2008-07-01 Pavel Roskin <proski@gnu.org>
35698 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35699 not unsigned char. This fixes warnings and is consistent with
35702 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35704 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35706 * term/tparm.c (analyze): Always set *popcount.
35708 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35709 cast to fix a warning.
35711 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35712 cast to suppress a warning.
35714 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35715 grub_fshelp_read_file() expects.
35717 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35718 write uuid as a 32-bit value in CPU byte order, so declare and
35721 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35722 long if the format specifier expects it.
35723 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35724 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35725 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35726 long to fix a warning.
35727 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35728 grub_dprintf() arguments to fix warnings.
35730 2008-06-30 Pavel Roskin <proski@gnu.org>
35732 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35733 install_bsd_part immediately before core.img is embedded or
35734 modified on disk. This fixes core.img verification if core.img
35735 cannot be embedded.
35737 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35738 core_path to calculate the blocklist.
35739 Patch from Javier Martín <lordhabbit@gmail.com>
35741 2008-06-29 Robert Millan <rmh@aybabtu.com>
35743 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35744 block to disk block.
35745 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35746 Patch from Niels Böhm <bitbucket@arcor.de>
35748 2008-06-29 Robert Millan <rmh@aybabtu.com>
35750 * util/update-grub_lib.in (font_path): Search for fonts in
35751 /boot/grub first, which is more likely to be readable (we aren't
35752 deciding where fonts live, just looking for them).
35754 2008-06-26 Pavel Roskin <proski@gnu.org>
35756 * util/biosdisk.c (read_device_map): Don't leave dead map
35757 entries for devices failing stat() check.
35759 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35760 core_path_dev for the core.img path on the target device.
35762 2008-06-26 Robert Millan <rmh@aybabtu.com>
35764 * disk/fs_uuid.c: New file.
35765 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35766 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35767 (fs_uuid_mod_LDFLAGS): New variables.
35768 * include/grub/disk.h (grub_disk_dev_id): Add
35769 `GRUB_DISK_DEVICE_UUID_ID'.
35770 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35771 implement iterate().
35773 2008-06-26 Robert Millan <rmh@aybabtu.com>
35775 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35776 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35777 Linux image includes no initrd.
35779 2008-06-21 Javier Martín <lordhabbit@gmail.com>
35781 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35782 call to resolve the core image location that effectively appended the
35785 2008-06-21 Robert Millan <rmh@aybabtu.com>
35787 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35790 * util/grub.d/10_hurd.in: ... to here ...
35791 * util/grub.d/10_linux.in: ... and here.
35793 2008-06-19 Robert Millan <rmh@aybabtu.com>
35795 * kern/main.c (grub_main): Export `prefix' variable immediately
35796 after it has been set by grub_machine_set_prefix().
35798 2008-06-19 Robert Millan <rmh@aybabtu.com>
35800 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35801 search result when not saving to variable, not the other way around.
35802 When saving to variable, abort iteration as soon as a match is found.
35804 2008-06-19 Robert Millan <rmh@aybabtu.com>
35806 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35807 check for partition that provides /boot/grub. Its logic is flawed,
35808 as it prevents prepare_grub_to_access_device() from being called
35811 2008-06-19 Robert Millan <rmh@aybabtu.com>
35813 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35814 "insmod" command directly when abstraction modules are needed,
35815 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
35816 since it had already been processed).
35818 2008-06-19 Pavel Roskin <proski@gnu.org>
35820 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35821 changed. This is needed in case GRUB_LIBDIR changes.
35822 * conf/i386-ieee1275.rmk: Likewise.
35823 * conf/i386-linuxbios.rmk: Likewise.
35824 * conf/i386-pc.rmk: Likewise.
35825 * conf/powerpc-ieee1275.rmk: Likewise.
35827 2008-06-18 Pavel Roskin <proski@gnu.org>
35829 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35830 kernel_elf_symlist.c to symlist.c for consistency with other
35831 architectures. Update all users.
35832 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35834 2008-06-18 Robert Millan <rmh@aybabtu.com>
35836 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35839 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35840 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35841 a RAID device, run setup() for all members independently on whether
35842 LVM abstraction is being used.
35843 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35844 If grub-mkimage has set `*install_dos_part == -2', don't override this
35846 Perform *install_dos_part adjustments independently on whether
35847 we're embedding or not.
35848 Clarify error message when image is too big for embedding.
35849 Remove duplicate *install_dos_part stanza.
35851 2008-06-17 Robert Millan <rmh@aybabtu.com>
35853 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35854 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35856 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35857 values in grub_ofconsole_normal_color and
35858 grub_ofconsole_highlight_color (they're not directly related to
35859 background and foreground).
35860 (grub_ofconsole_setcolorstate): Extract background and foreground
35861 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35863 2008-06-17 Robert Millan <rmh@aybabtu.com>
35865 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35866 /boot/grub for the check in last commit, not /boot (they could be
35867 different partitions).
35869 2008-06-16 Robert Millan <rmh@aybabtu.com>
35871 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35872 asked to setup access for the same partition that provides /boot,
35873 don't bother using UUIDs since our root already has the value we
35876 2008-06-16 Robert Millan <rmh@aybabtu.com>
35878 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35880 Patch from Sven Mueller <sven@debian.org>.
35882 2008-06-16 Robert Millan <rmh@aybabtu.com>
35884 * util/update-grub.in: Check for $EUID instead of $UID.
35885 Reported by Vincent Zweije.
35887 2008-06-16 Bean <bean123ch@gmail.com>
35889 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
35890 (grub_ext2_read_block): Likewise.
35891 (grub_ext2_read_inode): Likewise.
35892 (grub_ext2_mount): Likewise.
35893 (grub_ext2_close): Likewise.
35894 (grub_ext3_get_journal): Removed.
35896 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
35897 (grub_reiserfs_read_symlink): Likewise.
35898 (grub_reiserfs_mount): Likewise.
35899 (grub_reiserfs_open): Likewise.
35900 (grub_reiserfs_read): Likewise.
35901 (grub_reiserfs_close): Likewise.
35902 (grub_reiserfs_get_journal): Removed.
35904 * fs/fshelp.c (grub_fshelp_read): Removed.
35905 (grub_fshelp_map_block): Likewise.
35907 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35908 (grub_fshelp_journal): Likewise.
35909 (grub_fshelp_read): Likewise.
35910 (grub_fshelp_map_block): Likewise.
35912 2008-06-16 Pavel Roskin <proski@gnu.org>
35914 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
35915 floating point anymore.
35916 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
35918 2008-06-15 Pavel Roskin <proski@gnu.org>
35920 * commands/ls.c (grub_ls_list_files): Use integer calculations
35921 for human readable format, avoid floating point use.
35922 * kern/misc.c (grub_ftoa): Remove.
35923 (grub_vsprintf): Remove floating point support.
35925 2008-06-15 Robert Millan <rmh@aybabtu.com>
35927 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
35929 Reported by Max Vozeler.
35931 2008-06-15 Robert Millan <rmh@aybabtu.com>
35933 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
35934 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
35936 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
35937 the beginning of the prefix.
35939 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
35940 It is assumed that if we have a memdisk, grub-mkimage has set
35941 grub_prefix to include the "(memdisk)" drive in it.
35943 2008-06-15 Robert Millan <rmh@aybabtu.com>
35945 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
35946 Initialize keyboard controller after registering the terminal, so that
35947 grub_printf() can be called from grub_keyboard_controller_init().
35949 2008-06-15 Robert Millan <rmh@aybabtu.com>
35951 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
35952 extent-btree which is written as big endian on disk.
35953 Reported by Alain Greppin <al@chilibi.org>.
35955 2008-06-14 Robert Millan <rmh@aybabtu.com>
35957 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
35958 * util/i386/pc/grub-install.in (modules): Likewise.
35960 2008-06-13 Pavel Roskin <proski@gnu.org>
35962 * commands/ls.c (grub_ls_list_files): Fix format warnings.
35964 2008-06-13 Bean <bean123ch@gmail.com>
35966 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
35968 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
35970 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
35971 to indicate sparse block.
35973 2008-06-12 Pavel Roskin <proski@gnu.org>
35975 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
35976 number, grub_fshelp_read() does it for us.
35978 * fs/fshelp.c (grub_fshelp_read): New function. Implement
35979 linear disk read with journal translation.
35980 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
35981 * include/grub/fshelp.h: Declare grub_fshelp_read().
35983 2008-06-09 Pavel Roskin <proski@gnu.org>
35985 * fs/minix.c (grub_minix_mount): Handle error reading
35988 2008-06-08 Robert Millan <rmh@aybabtu.com>
35990 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
35991 don't append the RAID prefix afterwards.
35992 Reported by Clint Adams.
35994 2008-06-08 Robert Millan <rmh@aybabtu.com>
35996 Based on description from Pavel:
35997 * kern/disk.c (grub_disk_check_range): Rename to ...
35998 (grub_disk_adjust_range): ... this. Add a comment explaining the
35999 tasks performed by this function.
36001 2008-06-08 Robert Millan <rmh@aybabtu.com>
36003 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36004 `num_serial' (for consistency with other variables).
36005 (struct grub_ntfs_data): Add `uuid' member.
36006 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36007 (grub_ntfs_uuid): New function.
36008 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36010 2008-06-07 Pavel Roskin <proski@gnu.org>
36012 * util/biosdisk.c (open_device): Revert last change to the
36013 function, it broke installation. The sector needs to be
36014 different dependent on which device is opened.
36016 2008-06-06 Robert Millan <rmh@aybabtu.com>
36018 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36019 rest of GRUB, and breakage doesn't happen if its value were modified.
36021 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36022 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36023 a constant (same value).
36024 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36025 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36027 2008-06-06 Robert Millan <rmh@aybabtu.com>
36029 * util/biosdisk.c (open_device): Do not modify sector offset when
36030 accessing a partition. kern/disk.c already handles this for us.
36032 2008-06-06 Robert Millan <rmh@aybabtu.com>
36034 * util/grub-emu.c (grub_machine_init): Move code in this function from
36036 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36037 segfault in case grub_printf() is called).
36039 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36040 grub_probe. Update all users not to explicitly add it again.
36041 (grub_device): New variable; contains corresponding device for grubdir.
36042 (fs_module, partmap_module, devabstraction_module): Pass
36043 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36046 2008-06-05 Robert Millan <rmh@aybabtu.com>
36048 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36049 is found, print it (same layout as with labels).
36051 2008-06-04 Robert Millan <rmh@aybabtu.com>
36053 * util/biosdisk.c (get_drive): Rename to ...
36054 (find_grub_drive): ... this. Update all users.
36056 (get_os_disk): Rename to ...
36057 (convert_system_partition_to_system_disk): ... this. Update all users.
36059 (find_drive): Rename to ...
36060 (find_system_device): ... this. Update all users.
36062 2008-06-04 Robert Millan <rmh@aybabtu.com>
36064 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36065 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36066 (make_device_map): Likewise.
36068 2008-06-01 Robert Millan <rmh@aybabtu.com>
36070 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36071 before dereferencing it.
36073 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36074 union with fat12/fat16-specific ones. Add some new fields, including
36075 `num_serial' for both versions.
36076 (struct grub_fat_data): Add `uuid' member.
36077 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36078 names. Initialize `data->uuid' using `num_serial'.
36079 (grub_fat_uuid): New function.
36080 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36082 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36083 (grub_reiserfs_uuid): New function.
36084 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36087 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36088 (grub_xfs_uuid): New function.
36089 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36091 2008-06-01 Robert Millan <rmh@aybabtu.com>
36093 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36094 code that is backward compatible with pre-uuid search command.
36096 2008-05-31 Robert Millan <rmh@aybabtu.com>
36098 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36099 floppies after everything else, to ensure floppy drive isn't accessed
36100 unnecessarily (patch from Bean).
36102 2008-05-31 Robert Millan <rmh@aybabtu.com>
36104 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36105 not print device names when we were asked to set a variable.
36107 2008-05-31 Robert Millan <rmh@aybabtu.com>
36109 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36110 using "cursor-on" and "cursor-off" commands (understood at least by
36111 the Open Firmware flavour on OLPC).
36113 2008-05-31 Michael Gorven <michael@gorven.za.net>
36115 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36116 on and off sequences.
36118 2008-05-31 Robert Millan <rmh@aybabtu.com>
36120 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36121 * util/update-grub.in: Likewise.
36123 2008-05-30 Pavel Roskin <proski@gnu.org>
36125 * util/biosdisk.c (linux_find_partition): Simplify logic and
36126 make the code more universal. Keep special processing for
36127 devfs, but use a simple rule for all other devices. If the
36128 device ends with a number, append 'p' and the partition number.
36129 Otherwise, append only the partition number.
36131 2008-05-30 Robert Millan <rmh@aybabtu.com>
36133 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36134 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36135 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36136 the `root' parameter to Linux.
36138 2008-05-30 Robert Millan <rmh@aybabtu.com>
36140 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36141 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36142 --fs_uuid with --fs-uuid.
36143 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36144 all filesystems support them).
36146 2008-05-30 Robert Millan <rmh@aybabtu.com>
36148 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
36149 grub_printf() flags, since we're printing in units of 2 bytes.
36151 2008-05-30 Robert Millan <rmh@aybabtu.com>
36153 * util/grub.d/00_header.in: Remove obsolete comment referencing
36154 convert_system_path_to_grub_path().
36155 * util/update-grub.in: Likewise.
36156 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36157 (convert_system_path_to_grub_path): Add a warning message explaining
36158 that this function is deprecated. Rely on is_path_readable_by_grub()
36159 for the readability checks.
36160 (font_path): Use is_path_readable_by_grub() for the readability
36161 check rather than convert_system_path_to_grub_path().
36163 2008-05-30 Robert Millan <rmh@aybabtu.com>
36165 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36166 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36167 converting it first.
36168 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36169 grub.cfg for access to font file, and afterwards call it again to set
36172 2008-05-30 Robert Millan <rmh@aybabtu.com>
36174 * commands/search.c (options): Add --fs_uuid option.
36175 (search_fs_uuid): New function.
36176 (grub_cmd_search): Fix --set argument passing.
36177 Use search_fs_uuid() when requested via --fs_uuid.
36178 (grub_search_init): Update help message.
36179 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36180 and redeclare it as an array of 16-bit words.
36181 (grub_ext2_uuid): New function.
36182 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36183 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36184 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36185 (GRUB_DEVICE_BOOT_UUID): New variables.
36186 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36187 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36189 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36190 just assume `root' variable has the right value.
36191 * util/grub.d/10_linux.in: Likewise.
36192 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36194 (main): Recognise `-t fs_uuid' argument.
36196 2008-05-30 Robert Millan <rmh@aybabtu.com>
36198 * util/biosdisk.c (map): Redefine structure to hold information
36199 about GRUB drive name.
36200 (get_drive): Reimplement without assuming (and verifying) BIOS-like
36202 (call_hook): Remove.
36203 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36204 member. Assume drive has partitions.
36205 (grub_util_biosdisk_open): Access device names via `.device' struct
36207 (open_device): Likewise.
36208 (find_drive): Likewise.
36209 (read_device_map): Adjust map[] usage to match the new struct
36210 definition. Don't check for duplicates (still possible, but not cheap
36212 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36213 (make_device_name): Remove assumption of BIOS-like drive names.
36215 2008-05-30 Pavel Roskin <proski@gnu.org>
36217 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36218 compiling execute.c doesn't need grub_script.tab.h anymore.
36219 (normal/command.c_DEPENDENCIES): Likewise.
36220 (normal/function.c_DEPENDENCIES): Likewise.
36221 * conf/i386-ieee1275.rmk: Likewise.
36222 * conf/i386-linuxbios.rmk: Likewise.
36223 * conf/i386-pc.rmk: Likewise.
36224 * conf/powerpc-ieee1275.rmk: Likewise.
36225 * conf/sparc64-ieee1275.rmk: Likewise.
36227 2008-05-29 Pavel Roskin <proski@gnu.org>
36229 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36230 when scanning metadata for volume group name.
36232 * include/grub/script.h: Don't include grub_script.tab.h. It's
36233 a generated file, which may only be included from the files with
36234 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36235 use union YYSTYPE, as the later allows forward declaration.
36236 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36238 2008-05-29 Robert Millan <rmh@aybabtu.com>
36240 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36241 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36242 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36243 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36246 2008-05-29 Robert Millan <rmh@aybabtu.com>
36248 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36249 control key combinations.
36251 2008-05-29 Robert Millan <rmh@aybabtu.com>
36253 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36254 * util/ieee1275/grub-install.in: ... to here.
36255 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36256 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36257 (grub_install_SOURCES): Likewise.
36259 2008-05-29 Robert Millan <rmh@aybabtu.com>
36261 * fs/affs.c: Update copyright year.
36262 * fs/ext2.c: Likewise.
36263 * fs/fshelp.c: Likewise.
36264 * fs/hfsplus.c: Likewise.
36265 * fs/ntfs.c: Likewise.
36266 * fs/xfs.c: Likewise.
36267 * include/grub/fshelp.h: Likewise.
36268 * util/grub-mkdevicemap.c: Likewise.
36270 2008-05-28 Robert Millan <rmh@aybabtu.com>
36272 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36273 might need to be fatfs to support some firmware implementations
36276 2008-05-28 Robert Millan <rmh@aybabtu.com>
36278 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36280 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36281 (make_device_map): Likewise.
36283 2008-05-20 Bean <bean123ch@gmail.com>
36285 * fs/fshelp.c (grub_fshelp_map_block): New function.
36286 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36287 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36289 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36290 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36291 (grub_fshelp_journal): New structure.
36292 (grub_fshelp_map_block): New function prototype.
36293 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36294 (grub_fshelp_map_block): Likewise.
36296 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36297 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36298 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36299 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36300 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36301 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36302 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36303 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36304 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36305 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36306 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36307 (grub_ext2_sblock): New members for journal support.
36308 (grub_ext3_journal_header): New structure.
36309 (grub_ext3_journal_revoke_header): Likewise.
36310 (grub_ext3_journal_block_tag): Likewise.
36311 (grub_ext3_journal_sblock): Likewise.
36312 (grub_fshelp_node): New members logfile and journal.
36313 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36314 grub_fshelp_map_block to get real block number.
36315 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36317 (grub_ext2_read_inode): Likewise.
36318 (grub_ext3_get_journal): New function.
36319 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36320 (grub_ext2_close): Release memory used by journal.
36322 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36323 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36324 (grub_reiserfs_transaction_header): Renamed to
36325 grub_reiserfs_description_block, replace field data with real_blocks.
36326 (grub_reiserfs_commit_block): New structure.
36327 (grub_reiserfs_data): New member journal.
36328 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36330 (grub_reiserfs_read_symlink): Likewise.
36331 (grub_reiserfs_iterate_dir): Likewise.
36332 (grub_reiserfs_open): Likewise.
36333 (grub_reiserfs_read): Likewise.
36334 (grub_reiserfs_get_journal): New function.
36335 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36336 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36337 using grub_reiserfs_get_journal.
36338 (grub_reiserfs_close): Release memory used by journal.
36340 * fs/affs.c (grub_affs_read_block): Change block type to
36341 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36343 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36345 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36347 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36349 * fs/udf.c (grub_udf_read_block): Change block type to
36350 grub_disk_addr_t. Use type cast to avoid warning.
36352 * fs/xfs.c (grub_xfs_read_block): Likewise.
36354 2008-05-16 Christian Franke <franke@computer.org>
36356 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36357 to ensure that break with ESC will always work.
36358 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36359 Remove ESC from keyboard queue.
36361 2008-05-16 Christian Franke <franke@computer.org>
36363 * util/biosdisk.c: [__CYGWIN__] Add includes.
36364 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36365 (get_os_disk): Move variable declarations to OS specific
36366 parts to avoid warning.
36367 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36368 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36369 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36371 * util/getroot.c: [__CYGWIN__] Add includes.
36372 (strip_extra_slashes): Fix "/" case.
36373 [__CYGWIN__] (get_win32_path): New function.
36374 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36375 [__CYGWIN__] (find_root_device): Disable.
36376 [__CYGWIN__] (get_bootsec_serial): New function.
36377 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36378 [__linux__] (grub_guess_root_device): Add early returns to simplify
36380 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36381 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36382 check for Linux only.
36384 2008-05-15 Bean <bean123ch@gmail.com>
36386 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36387 keyboard hang problem in apple's intel mac.
36389 2008-05-09 Robert Millan <rmh@aybabtu.com>
36391 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36393 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36394 (make_device_map): Likewise.
36395 Reported by Aurelien Jarno <aurel32@debian.org>
36397 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
36399 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36400 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36401 (make_device_map): Output entries for xvd type disks.
36403 2008-05-07 Robert Millan <rmh@aybabtu.com>
36405 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36407 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36408 (make_device_map): Likewise.
36409 Reported by Roland Dreier <rdreier@cisco.com>
36411 2008-05-07 Robert Millan <rmh@aybabtu.com>
36413 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36414 grub_strstr() call. Correct a few mistakes in failure path handling.
36416 2008-05-06 Robert Millan <rmh@aybabtu.com>
36418 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36419 Do not print a trailing slash (therefore, the root directory is an
36421 (convert_system_path_to_grub_path): Do not remove trailing slash
36422 from make_system_path_relative_to_its_root() output.
36424 * util/i386/pc/grub-install.in: Add trailing slash to output from
36425 make_system_path_relative_to_its_root().
36427 2008-05-06 Robert Millan <rmh@aybabtu.com>
36429 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36430 ensures that output lines aren't intermangled with those sent to
36431 stderr (via grub_util_info()).
36432 * util/grub-probe.c (grub_refresh): Likewise.
36433 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36435 2008-05-05 Christian Franke <franke@computer.org>
36437 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36438 Add Cygwin device names.
36439 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36440 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36441 (check_device): Return error instead of success on empty name.
36442 (make_device_map): Move label inside linux specific code to
36443 prevent compiler warning.
36445 2008-04-30 Robert Millan <rmh@aybabtu.com>
36447 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36448 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36450 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36452 2008-04-29 Robert Millan <rmh@aybabtu.com>
36454 * docs/grub.cfg: New file (example GRUB configuration).
36456 2008-04-26 Robert Millan <rmh@aybabtu.com>
36458 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36459 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36460 and `disk/ieee1275/nand.c'.
36462 2008-04-25 Bean <bean123ch@gmail.com>
36464 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36467 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36468 change the buffer size to 4096 for cdrom device.
36470 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36472 (_linux_mod_SOURCES): New variable.
36473 (_linux_mod_CFLAGS): Likewise.
36474 (_linux_mod_LDFLAGS): Likewise.
36475 (linux_mod_SOURCES): Likewise.
36476 (linux_mod_CFLAGS): Likewise.
36477 (linux_mod_LDFLAGS): Likewise.
36478 (nand_mod_SOURCES): Likewise.
36479 (nand_mod_CFLAGS): Likewise.
36480 (nand_mod_LDFLAGS): Likewise.
36482 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36483 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36484 type property. (nand device in olpc don't have this property)
36486 * include/grub/disk.h (grub_disk_dev_id): New macro
36487 GRUB_DISK_DEVICE_NAND_ID.
36489 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36490 function prototype.
36491 (grub_rescue_cmd_initrd): Likewise.
36493 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36494 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36495 ofw_cif_handler and ofw_idt, adjust padding number.
36497 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36498 GRUB_MACHINE_IEEE1275 is defined.
36500 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36501 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36503 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36504 on nested function heap_init.
36505 (grub_upper_mem): New variable for i386-ieee1275.
36506 (grub_get_extended_memory): New function for i386-ieee1275.
36507 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36509 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36510 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36513 * loader/i386/ieee1275/linux.c: New file.
36515 * loader/i386/ieee1275/linux_normal.c: New file.
36517 * disk/ieee1275/nand.c: New file.
36519 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36521 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36523 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36525 2008-04-18 Robert Millan <rmh@aybabtu.com>
36527 Restructures early code path on ieee1275 to unify grub_main() as
36528 the first C function that is executed in every platform.
36530 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36531 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36533 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36534 * kern/ieee1275/cmain.c (cmain): Rename to ...
36535 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36536 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36539 2008-04-18 Robert Millan <rmh@aybabtu.com>
36541 * util/update-grub.in: Fix syntax error when setting
36542 `GRUB_PRELOAD_MODULES'.
36543 Reported by Stephane Chazelas <stephane@artesyncp.com>
36545 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36547 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36548 section into account, newer toolchains generate unique build ids
36549 * configure.ac: remove the test for --build-id=none acceptance,
36550 we want build ids to be preserved
36551 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36552 far from other sections don't cause the raw binary images grow
36555 2008-04-15 Robert Millan <rmh@aybabtu.com>
36557 * disk/lvm.c: Update copyright year.
36558 * kern/misc.c: Likewise.
36560 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36562 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
36563 there is no memory left for physical volume name.
36565 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36567 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36568 volume name mapping to support bigger than 9 character names properly.
36570 2008-04-13 Robert Millan <rmh@aybabtu.com>
36572 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36573 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36575 2008-04-13 Christian Franke <franke@computer.org>
36577 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36578 to create a floppy emulation boot CD when non emulation mode
36580 Enable Joliet CD filesystem extension.
36582 2008-04-13 Robert Millan <rmh@aybabtu.com>
36584 * kern/misc.c (grub_strncat): Fix off-by-one error.
36585 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36587 * kern/env.c (grub_env_context_close): Clear current context, not
36589 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36591 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36593 2008-04-13 Robert Millan <rmh@aybabtu.com>
36595 Improve robustness when handling LVM.
36597 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
36598 (and leave `*p' unmodified).
36599 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36601 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36602 iterating through it.
36603 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36605 (grub_lvm_scan_device): Check the return value (and fail gracefully
36606 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36607 Don't assume `vg->pvs != NULL' when iterating through it.
36609 2008-04-13 Robert Millan <rmh@aybabtu.com>
36611 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36612 * genmk.rb (partmap): New variable.
36613 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36614 (#{partmap}): New target rule.
36615 * genpartmaplist.sh: New file.
36616 * Makefile.in (pkglib_DATA): Add partmap.lst.
36617 (partmap.lst): New target rule.
36618 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36619 modules (including all partition maps), instead of preloading them.
36621 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36623 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36624 `linux-boot-prober' (if installed) to detect other operating
36625 systems which are installed on the computer and add them to
36627 * conf/common.rmk: Build and install 30_os-prober.
36629 2008-04-12 Robert Millan <rmh@aybabtu.com>
36631 * kern/powerpc/ieee1275/init.c: Move from here ...
36632 * kern/ieee1275/init.c: ... to here. Update all users.
36634 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36635 * kern/ieee1275/cmain.c: ... to here. Update all users.
36637 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36638 * kern/ieee1275/openfw.c: ... to here. Update all users.
36640 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36641 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36643 2008-04-10 Pavel Roskin <proski@gnu.org>
36645 * configure.ac: Always use "_cv_" in cache variables for
36646 compatibility with Autoconf 2.62.
36648 2008-04-07 Robert Millan <rmh@aybabtu.com>
36650 Revert grub/machine/init.h addition by Pavel (since it breaks on
36651 i386-ieee1275 and others):
36652 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36653 * util/powerpc/ieee1275/misc.c: Likewise.
36655 2008-04-07 Robert Millan <rmh@aybabtu.com>
36657 * util/grub-probe.c (probe): Improve error message.
36659 2008-04-07 Robert Millan <rmh@aybabtu.com>
36661 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36662 (this prevents the presence of a bogus entry from ruining the whole
36665 2008-04-06 Pavel Roskin <proski@gnu.org>
36667 * util/biosdisk.c: Include grub/util/biosdisk.h.
36668 * util/grub-fstest.c (execute_command): Make static.
36669 * util/grub-mkdevicemap.c (check_device): Likewise.
36670 * util/i386/pc/misc.c: Include grub/machine/init.h.
36671 * util/powerpc/ieee1275/misc.c: Likewise.
36672 * util/lvm.c: Include grub/util/lvm.h.
36673 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36675 * util/raid.c: Include grub/util/raid.h.
36676 (grub_util_getdiskname): Make static.
36678 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36679 grub_hostfs_fini(), as they are called from grub_init_all() and
36680 grub_fini_all() respectively. This fixes an infinite loop in
36681 grub-fstest due to double registration of hostfs.
36682 Reported by Christian Franke <Christian.Franke@t-online.de>
36684 2008-04-05 Pavel Roskin <proski@gnu.org>
36686 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36687 all 8 functions. Otherwise, probe function 0 only.
36689 2008-04-04 Pavel Roskin <proski@gnu.org>
36691 * commands/lspci.c (grub_lspci_iter): Print the bus number
36694 * commands/lspci.c (grub_pci_classes): Fix typos.
36695 (grub_lspci_iter): Don't print func twice. Print vendor ID
36696 before device ID, as it's normally done.
36698 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36699 Fix signedness warnings.
36700 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36702 * util/ieee1275/get_disk_name.c: Include config.h so that
36703 _GNU_SOURCE is defined and getline() is declared. Mark an
36704 unused argument as such. Fix a signedness warning.
36706 2008-04-02 Pavel Roskin <proski@gnu.org>
36708 * genkernsyms.sh.in: Use more robust assignments for CC and
36709 srcdir. Quote srcdir.
36710 * gensymlist.sh.in: Likewise. Assert at the compile time that
36711 the symbol table is not empty.
36713 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36714 * fs/cpio.c (grub_cpio_read): Likewise.
36716 2008-04-01 Pavel Roskin <proski@gnu.org>
36718 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36719 * disk/host.c (grub_host_open): Likewise.
36720 * disk/loopback.c (grub_loopback_open): Likewise.
36721 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36722 disk->id as in disk/host.c, not a multi-character constant.
36724 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36725 later is obsolete, potentially dangerous and sets a bad example.
36726 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36727 * util/misc.c (grub_util_get_image_size): Likewise.
36729 * disk/loopback.c (options): Improve help for "--partitions".
36731 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36732 options to align them with the short options, e.g. "echo -e".
36734 2008-03-31 Bean <bean123ch@gmail.com>
36736 * video/reader/png.c (grub_png_data): New member is_16bit and
36738 (grub_png_decode_image_header): Detect 16 bit png image.
36739 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36740 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36741 (grub_video_reader_png): Release memory occupied by image_data.
36743 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36745 (grub_nfs_mount): Skip the test for sector per cluster.
36747 * include/grub/ntfs.h (MAX_SPC): Removed.
36749 2008-03-31 Bean <bean123ch@gmail.com>
36751 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36752 (grub_probe_SOURCES): Add fs/afs.c.
36753 (grub_fstest_SOURCES): Likewise.
36754 (afs_mod_SOURCES): New variable.
36755 (afs_mod_CFLAGS): Likewise.
36756 (afs_mod_LDFLAGS): Likewise.
36758 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36759 (grub_emu_SOURCES): Likewise.
36761 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36763 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36765 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36769 * fs/afs.c: New file.
36771 2008-03-30 Pavel Roskin <proski@gnu.org>
36773 * disk/host.c: Include grub/misc.h to fix a warning.
36774 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36775 warnings about implicit declarations.
36777 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36779 * include/grub/i386/loader.h: Change declaration of
36780 grub_linux_boot() to match what grub_loader_set() expects.
36781 * util/getroot.c (grub_guess_root_device): Return const char* to
36783 * util/grub-probe.c (probe): Fix a warning about uninitialized
36784 abstraction_name variable.
36785 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36786 second argument as unused to fix a warning.
36788 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36789 missing grub_error() call.
36791 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36792 2.60 and newer uses it to define datadir.
36794 * commands/sleep.c: Fix warning about implicit declaration.
36795 * disk/memdisk.c: Likewise.
36796 * loader/aout.c: Likewise.
36797 * loader/i386/bsd_normal.c: Likewise.
36798 * util/grub-probe.c: Likewise.
36800 * commands/i386/cpuid.c (has_longmode): Make static.
36801 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36802 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36804 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36805 GDT. This is more robust, as %ds can change.
36806 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36807 calling real_to_prot().
36808 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36810 2008-03-28 Pavel Roskin <proski@gnu.org>
36812 * kern/i386/pc/startup.S: Assert that uncompressed functions
36813 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36814 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36815 code, as they push parts of the code (error handlers) beyond
36816 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36817 code as correctness and size.
36819 2008-03-28 Pavel Roskin <proski@gnu.org>
36821 * kern/i386/pc/startup.S
36822 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36823 data block address to the real mode, keep offset minimal. This
36824 works around a bug in AWARD BIOS on old Athlon systems, which
36825 makes CD detection hang.
36827 2008-03-26 Pavel Roskin <proski@gnu.org>
36829 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36831 * include/grub/normal.h: Add grub_parse_color_name_pair()
36834 2008-03-24 Bean <bean123ch@gmail.com>
36836 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36837 (cd_count): Removed.
36838 (cd_drive): New variable.
36839 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36840 (grub_biosdisk_call_hook): Likewise.
36841 (grub_biosdisk_iterate): Change cdrom detection method.
36842 (grub_biosdisk_open): Replace cd_start with cd_drive.
36843 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36844 detect cdrom device.
36846 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36848 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36849 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36850 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36851 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36852 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36853 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36854 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36855 (grub_biosdisk_cdrp): New structure.
36856 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36858 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36860 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36863 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36866 2008-03-20 Robert Millan <rmh@aybabtu.com>
36868 Remove 2 TiB limit in ata.mod.
36869 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36870 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36871 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36872 grub_uint64_t instead of grub_uint32_t.
36874 2008-03-05 Bean <bean123ch@gmail.com>
36876 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36877 (grub_multiboot): Set boot device.
36879 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36881 2008-03-02 Bean <bean123ch@gmail.com>
36883 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36886 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36888 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36891 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36894 * docs/fdl.texi: New file.
36896 * docs/mdate-sh: New file. Copied from gnulib.
36897 * docs/texinfo.tex: Likewise.
36899 * config.guess: Updated from gnulib.
36900 * install-sh: Likewise.
36902 2008-02-28 Robert Millan <rmh@aybabtu.com>
36904 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36905 (aout_mod_SOURCES): New variable.
36906 (aout_mod_CFLAGS): Likewise.
36907 (aout_mod_LDFLAGS): Likewise.
36909 * conf/i386-ieee1275.rmk: Likewise.
36911 2008-02-28 Robert Millan <rmh@aybabtu.com>
36913 * util/update-grub.in: Reorganise terminal validity check. Accept
36914 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
36915 Based on suggestion by Franklin PIAT.
36917 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
36919 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
36921 * util/getroot.c (grub_util_check_block_device): New function that
36922 returns the given argument if it is a block device and returns NULL else.
36923 * util/grub-probe.c (argument_is_device): New variable.
36924 (probe): Promote device_name from a variable to an argument. Receive
36925 device_name from grub_util_check_block_device() if path is NULL and from
36926 grub_guess_root_device() else. Do not free() device_name anymore.
36927 (options): Introduce new parameter '-d, --device'.
36928 (main): Add description of the new parameter to the help screen.
36929 Rename path variable to argument. Set argument_is_device if the '-d'
36930 option is given. Pass argument to probe() depending on
36931 argument_is_device.
36933 2008-02-24 Bean <bean123ch@gmail.com>
36935 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
36936 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
36937 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
36938 (GRUB_ISO9660_VOLDESC_PART): Likewise.
36939 (GRUB_ISO9660_VOLDESC_END): Likewise.
36940 (grub_iso9660_primary_voldesc): New member escape.
36941 (grub_iso9660_data): New member joliet.
36942 (grub_iso9660_convert_string): New function.
36943 (grub_iso9660_mount): Detect joliet extension.
36944 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
36945 (grub_iso9660_iso9660_label): Likewise.
36947 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
36948 (grub_setup_SOURCES): Add fs/udf.c.
36949 (grub_fstest_SOURCES): Likewise.
36950 (udf_mod_SOURCES): New variable.
36951 (udf_mod_CFLAGS): Likewise.
36952 (udf_mod_LDFLAGS): Likewise.
36954 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
36955 (grub_emu_SOURCES): Likewise.
36957 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36959 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36961 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36963 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36965 * fs/udf.c: New file.
36967 2008-02-24 Robert Millan <rmh@aybabtu.com>
36969 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
36970 (normal/lexer.c_DEPENDENCIES): New variables.
36971 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36972 (normal/lexer.c_DEPENDENCIES): Likewise.
36973 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
36974 (normal/lexer.c_DEPENDENCIES): Likewise.
36975 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
36976 (normal/lexer.c_DEPENDENCIES): Likewise.
36977 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36978 (normal/lexer.c_DEPENDENCIES): Likewise.
36979 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36980 (normal/lexer.c_DEPENDENCIES): Likewise.
36982 2008-02-23 Robert Millan <rmh@aybabtu.com>
36984 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
36985 since they were intended to be in hex. This didn't break previously
36986 because of a bug in gpt_partition_map_iterate() (see below).
36988 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
36989 when checking the validity of GPT header.
36990 Remove `partno', since it always provides the same information as `i'.
36992 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
36994 * include/grub/efi/time.h: Fix a wrong comment.
36996 2008-02-19 Pavel Roskin <proski@gnu.org>
36998 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37001 2008-02-19 Bean <bean123ch@gmail.com>
37003 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37004 (aout_mod_SOURCES): New variable.
37005 (aout_mod_CFLAGS): Likewise.
37006 (aout_mod_LDFLAGS): Likewise.
37007 (_bsd_mod_SOURCES): New variable.
37008 (_bsd_mod_CFLAGS): Likewise.
37009 (_bsd_mod_LDFLAGS): Likewise.
37010 (bsd_mod_SOURCES): New variable.
37011 (bsd_mod_CFLAGS): Likewise.
37012 (bsd_mod_LDFLAGS): Likewise.
37014 * include/grub/aout.h: New file.
37016 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37018 * include/grub/i386/bsd.h: New file.
37020 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37023 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37024 function is called, so that it's possible to change it inside the hook.
37025 (grub_elf64_load): Likewise.
37026 (grub_elf_file): Don't close the file if elf header is not found.
37027 (grub_elf_close): Close the file if grub_elf_file fails (The new
37028 grub_elf_file won't close it).
37029 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37030 (grub_elf64_size): Likewise.
37032 * kern/i386/loader.S (grub_unix_real_boot): New function.
37034 * loader/aout.c: New file.
37036 * loader/i386/bsd.c: New file.
37038 * loader/i386/bsd_normal.c: New file.
37040 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37042 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
37043 can test other formats.
37045 2008-02-19 Robert Millan <rmh@aybabtu.com>
37047 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37048 (grub_gpt_partition_type_empty): Redefine with macro from
37049 `<grub/gpt_partition.h>'.
37050 (gpt_partition_map_iterate): Adjust partition type comparison.
37052 Export `entry' as partmap-specific `part.data' struct.
37053 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37055 * include/grub/gpt_partition.h (grub_gpt_header)
37056 (grub_gpt_partentry): ... to here (new file).
37058 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37060 (grub_gpt_partition_type_bios_boot): New const variable, defined
37061 with macro from `<grub/gpt_partition.h>'.
37063 (setup): Replace `first_start' with `embed_region', which keeps
37064 track of the embed region (and is partmap-agnostic).
37066 Replace find_first_partition_start() with find_usable_region(),
37067 which finds a usable region for embedding using partmap-specific
37068 knowledge (supports PC/MSDOS and GPT).
37070 Fix all assumptions that the embed region start at sector 1, using
37071 `embed_region.start' from now on. Similarly, use `embed_region.end'
37072 rather than `first_start' to calculate available size.
37074 In grub_util_info() message, replace "into after the MBR" with an
37075 indication of the specific sector our embed region starts at.
37077 2008-02-19 Robert Millan <rmh@aybabtu.com>
37079 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37080 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37081 `commands/reboot.c'.
37082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37083 (halt_mod_SOURCES): Likewise.
37084 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37085 (halt_mod_SOURCES): Likewise.
37087 2008-02-17 Christian Franke <franke@computer.org>
37089 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37091 2008-02-17 Robert Millan <rmh@aybabtu.com>
37093 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37094 set `first_start' to 0 for non-PC/MSDOS partition maps.
37096 2008-02-16 Robert Millan <rmh@aybabtu.com>
37098 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37099 do not assume partition map is PC/MSDOS before performing checks that
37100 are specific to that layout.
37102 2008-02-13 Robert Millan <rmh@aybabtu.com>
37104 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37105 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37106 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37108 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37110 * configure.ac: Only a cosmetic change on the handling of
37111 -fno-stack-protector.
37113 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
37115 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37116 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37118 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37119 (halt_mod_SOURCES): New variable.
37120 (halt_mod_CFLAGS): Likewise.
37121 (halt_mod_LDFLAGS): Likewise.
37122 (reboot_mod_SOURCES): Likewise.
37123 (reboot_mod_CFLAGS): Likewise.
37124 (reboot_mod_LDFLAGS): Likewise.
37126 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37127 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37129 (halt_mod_SOURCES): Likewise.
37130 (reboot_mod_SOURCES): Likewise.
37132 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37133 commands/i386/pc/reboot.c by commands/reboot.c.
37134 (reboot_mod_SOURCES): Likewise.
37136 * commands/i386/pc/reboot.c: merge this file ...
37138 * commands/ieee1275/reboot.c: ... and this file ...
37140 * commands/reboot.c: ... to this file.
37141 Add some precompiler directive to include the correct header for
37144 * commands/ieee1275/halt.c: move this file ...
37146 * commands/halt.c: ... to here.
37147 Add some precompiler directive to include the correct header for
37150 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37151 (grub_halt): Likewise.
37153 * kern/efi/efi.c (grub_reboot): New function.
37154 (grub_halt): Likewise.
37156 2008-02-12 Robert Millan <rmh@aybabtu.com>
37158 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37159 /dev (like it is done for /dev/mapper). This doesn't provide support
37160 for EVMS, but at least it is now easy to identify the problem when it
37163 2008-02-11 Robert Millan <rmh@aybabtu.com>
37165 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37166 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37167 comparing it with -1, not 0.
37169 2008-02-10 Robert Millan <rmh@aybabtu.com>
37171 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37174 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37176 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37177 `disk/lvm.c' to the end of the list.
37178 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37179 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37181 2008-02-10 Robert Millan <rmh@aybabtu.com>
37183 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37184 grub_print_error() instead. This will let user know why we're entering
37186 Based on suggestions from Sam Morris.
37188 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
37190 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37191 on remaining N args, instead of "--" arg N times.
37193 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37195 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37196 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37197 pattern for unknown glyphs.
37199 2008-02-09 Robert Millan <rmh@aybabtu.com>
37201 * configure.ac: Probe for `help2man'.
37202 * Makefile.in (builddir): New variable.
37203 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37204 or otherwise add a few flags/options to it.
37205 (install-local): For every executable utility or script that is
37206 installed, invoke $(HELP2MAN) to install a manpage based on --help
37209 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37210 that it doesn't prevent --help from working in build tree.
37212 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37213 with `bug-grub@gnu.org'.
37214 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37215 * util/update-grub.in (usage): New function.
37216 Implement proper argument check, with support for --help and --version
37217 (as well as existing -y).
37219 2008-02-09 Christian Franke <franke@computer.org>
37221 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37222 avoid overwriting previous output.
37223 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37225 2008-02-09 Robert Millan <rmh@aybabtu.com>
37227 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37230 2008-02-09 Robert Millan <rmh@aybabtu.com>
37232 * commands/sleep.c: New file.
37233 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37234 (sleep_mod_SOURCES): New variable.
37235 (sleep_mod_CFLAGS): Likewise.
37236 (sleep_mod_LDFLAGS): Likewise.
37238 2008-02-09 Robert Millan <rmh@aybabtu.com>
37240 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37241 situations in which we can deduce the RAID size and the superblock
37244 2008-02-09 Robert Millan <rmh@aybabtu.com>
37246 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37247 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37248 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37250 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37251 and return a grub_diskmemberlist_t composed of physical array members.
37252 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37254 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37256 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37257 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37258 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37260 * util/grub-probe.c (probe): Move partmap probing code from here ...
37261 (probe_partmap): ... to here.
37262 (probe): Use probe_partmap() once for the disk we're probing, and
37263 additionally, when such disk contains a memberlist() struct member,
37264 once for each disk that is contained in the structure returned by
37267 2008-02-09 Robert Millan <rmh@aybabtu.com>
37269 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37270 environment variable to 'all' in order to obtain debug output from
37272 * util/i386/pc/grub-setup.c (main): Likewise.
37274 2008-02-08 Robert Millan <rmh@aybabtu.com>
37276 * disk/raid.c (grub_raid_scan_device): Check for
37277 `array->device[sb.this_disk.number]' rather than for
37278 `array->device[sb.this_disk.number]->name', since the latter is not
37279 guaranteed to be accessible.
37281 2008-02-08 Robert Millan <rmh@aybabtu.com>
37283 * disk/raid.c: Update copyright.
37284 * fs/cpio.c: Likewise.
37285 * include/grub/raid.h: Likewise.
37286 * loader/i386/pc/multiboot.c: Likewise.
37287 * util/hostfs.c: Likewise.
37289 2008-02-08 Robert Millan <rmh@aybabtu.com>
37291 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37292 to a grub_disk_t array.
37293 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37295 (grub_raid_scan_device): Replace `device[x].name' accesses with
37296 `device[x]->name'. Simplify initialization of `array->device[x]'.
37298 2008-02-08 Robert Millan <rmh@aybabtu.com>
37300 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37301 grub_dprintf() calls.
37302 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37305 2008-02-07 Christian Franke <franke@computer.org>
37307 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37308 instead of fseek and ftell to support large files.
37309 (grub_hostfs_read): Likewise.
37311 2008-02-07 Robert Millan <rmh@aybabtu.com>
37313 Patch from Jeroen Dekkers.
37314 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
37315 failure, since successfully reading all array members might not be
37318 2008-02-06 Robert Millan <rmh@aybabtu.com>
37320 * util/grub-probe.c (probe): Simplify partmap probing (with the
37321 assumption that the first word up to the underscore equals to
37324 2008-02-06 Christian Franke <franke@computer.org>
37326 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37327 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37328 last block of a cpio or tar stream.
37329 Check for "TRAILER!!!" instead of any empty data
37330 block to detect last block of a cpio stream.
37331 (grub_cpio_dir): Fix constness of variable np.
37332 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37333 cpio or tar trailer is detected. This fixes a crash
37334 on open of a non existing file.
37336 2008-02-05 Bean <bean123ch@gmail.com>
37338 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37340 (grub_multiboot_load_elf64): Likewise.
37341 (grub_multiboot): Initialize mbi structure.
37343 * util/grub-fstest.c: Don't include unused header file script.h.
37345 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
37347 (grub_fstest_SOURCES): Likewise.
37349 2008-02-05 Robert Millan <rmh@aybabtu.com>
37351 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37352 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37353 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37354 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37356 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37357 (translation_table): Replace hardcoded values with macros
37358 provided by `<grub/term.h>'.
37360 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37361 (keyboard_map): Correct/add a few values, with macros provided
37362 by `<grub/term.h>'.
37363 (keyboard_map_shift): Zero values that don't differ from their
37364 `keyboard_map' equivalents.
37365 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37366 Discard the second scan code that is always sent by Caps lock.
37367 Only use `keyboard_map_shift' when it provides a non-zero value,
37368 otherwise fallback to `keyboard_map'.
37370 2008-02-04 Bean <bean123ch@gmail.com>
37372 * Makefile.in (enable_grub_fstest): New variable.
37374 * conf/common.rmk (grub_fstest_init.lst): New rule.
37375 (grub_fstest_init.h): Likewise.
37376 (grub_fstest_init.c): Likewise.
37377 (util/grub-fstest.c_DEPENDENCIES): New variable.
37378 (grub_fstest_SOURCES): Likewise.
37380 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37382 * util/grub-fstest.c: New file.
37384 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37386 Make grub-setup handle a separate root device.
37388 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37389 so that the root device can be compared with the destination
37391 When embedding the core image, if the root and destination devices
37392 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37394 When not embedding, set ROOT_DRIVE to 0xFF.
37396 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37398 Add support for having a grub directory in a different drive. This
37399 is still only the data handling part.
37401 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37402 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37403 (grub_root_drive): New variable.
37405 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37406 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37407 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37410 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37412 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37414 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37416 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37417 is bogus, because PXE booting does not specify any drive
37420 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37421 am not sure if this is really correct.
37423 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37424 is always identical to the boot drive when booting from a CD.
37426 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37428 (root_drive): New variable.
37429 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37430 (setup_sectors): Push %dx right after popping it, because %dh will
37432 (copy_buffer): Restore %dx.
37434 2008-02-03 Robert Millan <rmh@aybabtu.com>
37436 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37437 use `cdboot.img' for cdrom images.
37439 2008-02-03 Robert Millan <rmh@aybabtu.com>
37441 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37442 only setup gfxterm when `font' command has succeeded.
37444 2008-02-03 Robert Millan <rmh@aybabtu.com>
37446 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37447 (grub_rescue_cmd_multiboot_loader)
37448 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37450 2008-02-03 Pavel Roskin <proski@gnu.org>
37452 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
37453 %edx and %esi from stack only after grub_gate_a20() is called.
37454 grub_gate_a20() clobbers %edx.
37456 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37458 * configure.ac (AC_INIT): Bumped to 1.96.
37460 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37461 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37462 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37463 video/readers/png.c.
37465 2008-02-03 Bean <bean123ch@gmail.com>
37467 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37468 (cdboot_img_SOURCES): New variable.
37469 (cdboot_img_ASFLAGS): New variable.
37470 (cdboot_img_LDFLAGS): New variable.
37472 * boot/i386/pc/cdboot.S: New file.
37474 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37475 (cd_count): Likewise.
37476 (grub_biosdisk_get_drive): Add support for cd device.
37477 (grub_biosdisk_call_hook): Likewise.
37478 (grub_biosdisk_iterate): Likewise.
37479 (grub_biosdisk_open): Likewise.
37480 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37481 (grub_biosdisk_rw): Support reading from cd device.
37482 (GRUB_MOD_INIT): Iterate cd devices.
37484 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37485 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37486 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37488 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37490 2008-02-02 Robert Millan <rmh@aybabtu.com>
37492 * commands/read.c: New file.
37493 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37494 (read_mod_SOURCES): New variable.
37495 (read_mod_CFLAGS): Likewise.
37496 (read_mod_LDFLAGS): Likewise.
37498 2008-02-02 Robert Millan <rmh@aybabtu.com>
37500 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37501 determining whether menu has to be displayed.
37503 2008-02-02 Marco Gerards <marco@gnu.org>
37505 * bus/pci.c: New file.
37507 * include/grub/pci.h: Likewise.
37509 * include/grub/i386/pc/pci.h: Likewise.
37511 * commands/lspci.c: Likewise.
37513 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37515 (pci_mod_SOURCES): New variable.
37516 (pci_mod_CFLAGS): Likewise.
37517 (pci_mod_LDFLAGS): Likewise.
37518 (lspci_mod_SOURCES): Likewise.
37519 (lspci_mod_CFLAGS): Likewise.
37520 (lspci_mod_LDFLAGS): Likewise.
37522 2008-02-02 Bean <bean123ch@gmail.com>
37524 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37525 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37527 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37528 (grub_xfs_btree_node): New structure.
37529 (grub_xfs_btree_root): New structure.
37530 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37531 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37532 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37533 (GRUB_XFS_EXTENT_SIZE): Likewise.
37534 (grub_xfs_read_block): Support btree format type.
37535 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37536 Use directory block as basic unit.
37538 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37540 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37541 __attribute__ ((__regparm__ (1))).
37543 2008-02-01 Robert Millan <rmh@aybabtu.com>
37545 Correct a mistake in previous commit.
37547 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37549 (normal/command.c_DEPENDENCIES): New variable.
37551 2008-02-01 Robert Millan <rmh@aybabtu.com>
37553 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37555 (normal/command.c_DEPENDENCIES): New variable.
37556 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37557 * conf/i386-ieee1275.rmk: Likewise.
37558 * conf/i386-linuxbios.rmk: Likewise.
37559 * conf/i386-pc.rmk: Likewise.
37560 * conf/sparc64-ieee1275.rmk: Likewise.
37561 * conf/powerpc-ieee1275.rmk: Likewise.
37562 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37564 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37566 2008-02-01 Robert Millan <rmh@aybabtu.com>
37568 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37569 call at beginning of function.
37571 2008-01-31 Pavel Roskin <proski@gnu.org>
37573 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
37574 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37575 (grub_mkrescue_SOURCES): Likewise.
37576 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37578 2008-01-30 Robert Millan <rmh@aybabtu.com>
37580 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37581 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37582 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37583 (grub_probe_SOURCES): ... to here.
37585 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37586 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37587 * conf/i386-ieee1275.rmk: Likewise.
37588 * conf/i386-linuxbios.rmk: Likewise.
37589 * conf/powerpc-ieee1275.rmk: Likewise.
37591 2008-01-30 Tristan Gingold <gingold@free.fr>
37593 * kern/rescue.c: Silently accept empty lines.
37595 2008-01-29 Bean <bean123ch@gmail.com>
37597 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37598 (real_code_2): Code cleanup and change comment style.
37599 (move_memory): Avoid using 32-bit address mode.
37601 2008-01-29 Bean <bean123ch@gmail.com>
37603 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37604 (png_mod_SOURCES): New variable.
37605 (png_mod_CFLAGS): Likewise.
37606 (png_mod_LDFLAGS): Likewise.
37608 * video/readers/png.c: New file.
37610 2008-01-28 Robert Millan <rmh@aybabtu.com>
37612 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37613 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37614 `ifndef GRUB_MOD_GAP' hack.
37615 * util/elf/grub-mkimage.c (add_segments): Likewise.
37617 2008-01-27 Robert Millan <rmh@aybabtu.com>
37619 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37620 `GRUB_MOD_GAP' for platforms in which it's not defined.
37621 * util/elf/grub-mkimage.c (add_segments): Likewise.
37623 2008-01-27 Robert Millan <rmh@aybabtu.com>
37625 Get grub-emu to build again (including parallel builds).
37627 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37629 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37630 (normal/execute.c_DEPENDENCIES): ... this, ...
37631 (grub-emu_DEPENDENCIES): ... and this.
37633 * conf/i386-efi.rmk: Likewise.
37634 * conf/i386-linuxbios.rmk: Likewise.
37635 * conf/i386-ieee1275.rmk: Likewise.
37636 * conf/powerpc-ieee1275.rmk: Likewise.
37637 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37639 2008-01-27 Robert Millan <rmh@aybabtu.com>
37641 * NEWS: Add a few items.
37643 2008-01-27 Robert Millan <rmh@aybabtu.com>
37645 Fix parallel builds with grub-emu. Based on earlier commit for
37646 grub-probe and grub-setup.
37648 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37649 (util/grub-emu.c_DEPENDENCIES): ... this.
37650 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37651 (util/grub-emu.c_DEPENDENCIES): ... this.
37652 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37653 (util/grub-emu.c_DEPENDENCIES): ... this.
37654 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37655 (util/grub-emu.c_DEPENDENCIES): ... this.
37656 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37657 (util/grub-emu.c_DEPENDENCIES): ... this.
37659 2008-01-27 Pavel Roskin <proski@gnu.org>
37661 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37662 to create a gap between _end and the modules added to the image
37663 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37664 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37665 * util/elf/grub-mkimage.c (add_segments): Likewise.
37667 2008-01-26 Pavel Roskin <proski@gnu.org>
37669 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37670 just return an error.
37672 2008-01-26 Bean <bean123ch@gmail.com>
37674 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37675 (grub_reiserfs_get_item): Save offset of the next item.
37676 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37678 2008-01-25 Robert Millan <rmh@aybabtu.com>
37680 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37681 make all filesystem sources appear together (possibly fixing omissions
37683 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37684 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37685 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37688 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37690 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37691 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37692 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37693 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37695 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37696 (probe): Add a sanity check to make sure of our ability to read
37697 requested files when probing for filesystem type.
37699 * genmk.rb: Update copyright year (2007).
37701 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37702 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37703 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37704 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37705 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37706 : Remove function prototypes.
37708 2008-01-25 Robert Millan <rmh@aybabtu.com>
37710 Revert my previous commits (based on wrong assumption of how grub_errno
37713 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
37714 * kern/file.c (grub_file_open): Likewise.
37716 2008-01-24 Pavel Roskin <proski@gnu.org>
37718 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37719 that hang if GRUB tries to setup colors.
37720 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37721 colors for firmwares that don't support it.
37722 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37723 Recognize Open Hack'Ware, set flags to work around its
37726 2008-01-24 Robert Millan <rmh@aybabtu.com>
37728 * kern/file.c (grub_file_open): Do not account previous failures of
37729 unrelated functions when grub_errno is checked for.
37730 Reported by Oleg Strikov.
37732 2008-01-24 Bean <bean123ch@gmail.com>
37734 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37735 (grub_ufs_sblock): New member volume name.
37736 (grub_ufs_find_file): Fix string copy bug.
37737 (grub_ufs_label): Implement this function properly.
37739 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37740 (grub_hfs_iterate_records): Use the correct file number for extents
37741 and catalog file. Fix problem in next index calculation.
37742 (grub_hfs_find_node): Replace recursive function call with loop.
37743 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37745 2008-01-23 Robert Millan <rmh@aybabtu.com>
37747 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37748 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37749 (grub_multiboot2_real_boot): New function prototype.
37751 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37752 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37754 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37755 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37757 2008-01-23 Robert Millan <rmh@aybabtu.com>
37759 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37760 #ifdef'ed out grub_printf().
37762 2008-01-23 Robert Millan <rmh@aybabtu.com>
37764 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37765 grub_dprintf calls, since they make "debug=all" mode unusable.
37766 (grub_console_checkkey): Likewise.
37768 2008-01-23 Robert Millan <rmh@aybabtu.com>
37770 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37771 `term/i386/pc/at_keyboard.c'.
37772 (pkglib_MODULES): Add `serial.mod'.
37773 (serial_mod_SOURCES): New variable.
37774 (serial_mod_CFLAGS): Likewise.
37775 (serial_mod_LDFLAGS): Likewise.
37777 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37778 `<grub/powerpc/ieee1275/console.h>'.
37779 (grub_keyboard_controller_init): New function prototype.
37780 (grub_console_checkkey): Likewise.
37781 (grub_console_getkey): Likewise.
37783 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37786 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37787 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37789 2008-01-23 Robert Millan <rmh@aybabtu.com>
37791 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37792 present, "(memdisk)/boot/grub" becomes the default prefix.
37794 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37795 a memdisk tarball with all the modules. Add --overlay=DIR option that
37796 allows users to overlay additional files into the image.
37798 2008-01-23 Robert Millan <rmh@aybabtu.com>
37800 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37801 and `machine/memory.h'.
37802 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37803 (_multiboot_mod_SOURCES): New variable.
37804 (_multiboot_mod_CFLAGS): Likewise.
37805 (_multiboot_mod_LDFLAGS): Likewise.
37806 (multiboot_mod_SOURCES): Likewise.
37807 (multiboot_mod_CFLAGS): Likewise.
37808 (multiboot_mod_LDFLAGS): Likewise.
37810 * include/grub/i386/ieee1275/loader.h: New file.
37812 * include/grub/i386/ieee1275/machine.h: Likewise.
37814 * include/grub/i386/ieee1275/memory.h: Likewise.
37816 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37817 variable declaration.
37818 (grub_os_area_size): Likewise.
37820 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37821 (grub_lower_mem, grub_upper_mem): New variables.
37822 (grub_stop_floppy): New function (just to make
37823 grub_multiboot2_real_boot() happy).
37825 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37826 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37827 (grub_stop): New function.
37828 Include `"../realmode.S"' and `"../loader.S"'.
37830 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37831 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37833 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37834 rely on grub_multiboot2_real_boot() for final boot.
37836 2008-01-22 Robert Millan <rmh@aybabtu.com>
37838 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37839 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37840 device that doesn't look like an SD card.
37841 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37842 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37843 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37844 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37847 2008-01-22 Robert Millan <rmh@aybabtu.com>
37849 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37850 avoid claiming over our own code.
37852 2008-01-22 Bean <bean123ch@gmail.com>
37854 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37855 (jpeg_mod_SOURCES): New variable.
37856 (jpeg_mod_CFLAGS): Likewise.
37857 (jpeg_mod_LDFLAGS): Likewise.
37859 * video/readers/jpeg.c : New file.
37861 2008-01-22 Bean <bean123ch@gmail.com>
37863 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37864 there are no more items.
37866 2008-01-21 Robert Millan <rmh@aybabtu.com>
37868 * kern/mm.c (grub_mm_init_region): Improve debug message.
37870 2008-01-21 Robert Millan <rmh@aybabtu.com>
37872 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37873 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37875 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37877 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37878 Indicates start of upper memory.
37879 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37880 (generate_image): Abort when image size is big enough to corrupt
37883 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37884 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37885 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37886 instead of hardcoding 0xA0000.
37887 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37888 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37889 instead of hardcoding 0xA0000.
37891 2008-01-21 Robert Millan <rmh@aybabtu.com>
37893 * disk/memdisk.c (memdisk_size): New variable.
37894 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37896 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37897 image to dynamic memory.
37898 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37899 `memdisk_size'. Free memdisk block.
37901 2008-01-21 Robert Millan <rmh@aybabtu.com>
37903 Fix detection of very small filesystems (like tar).
37905 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37906 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37907 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37908 a problem with this disk).
37910 2008-01-21 Robert Millan <rmh@aybabtu.com>
37912 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
37913 on grub_biosdisk_rw_standard() error.
37915 2008-01-21 Robert Millan <rmh@aybabtu.com>
37917 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
37919 * kern/elf.c: Likewise.
37920 * kern/ieee1275/ieee1275.c: Likewise.
37921 * kern/powerpc/ieee1275/openfw.c: Likewise.
37922 * term/ieee1275/ofconsole.c: Likewise.
37924 2008-01-21 Robert Millan <rmh@aybabtu.com>
37926 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
37928 * include/grub/kernel.h (grub_arch_memdisk_addr)
37929 (grub_arch_memdisk_size): Moved from here ...
37931 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
37932 (grub_arch_memdisk_size): ... to here.
37934 2008-01-21 Robert Millan <rmh@aybabtu.com>
37936 Mostly based on bugfix from Bean.
37938 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
37939 attribute with hook() parameter.
37940 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
37942 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
37943 attribute with hook() parameter.
37944 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
37947 2008-01-21 Robert Millan <rmh@aybabtu.com>
37949 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
37950 (pkglib_MODULES): Add `memdisk.mod'.
37951 (memdisk_mod_SOURCES): New variable.
37952 (memdisk_mod_CFLAGS): Likewise.
37953 (memdisk_mod_LDFLAGS): Likewise.
37955 * disk/memdisk.c: New file.
37957 * include/grub/disk.h (grub_disk_dev_id): Add
37958 `GRUB_DISK_DEVICE_MEMDISK_ID'.
37960 * include/grub/i386/pc/kernel.h
37961 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
37962 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
37963 (grub_kernel_image_size): New variable declaration.
37964 (grub_total_module_size): Likewise.
37965 (grub_memdisk_image_size): Likewise.
37967 * include/grub/i386/pc/memory.h
37968 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
37970 * include/grub/kernel.h: Include `<grub/symbol.h>'.
37971 (grub_arch_memdisk_addr): New variable declaration.
37972 (grub_arch_memdisk_size): Likewise.
37974 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
37975 (grub_arch_memdisk_size): Likewise.
37977 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
37978 (codestart): Replace hardcoded `0x100000' with
37979 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
37981 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
37982 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
37983 not NULL, append the contents of the file it refers to, at the end of
37984 the compressed kernel image. Initialize `grub_memdisk_image_size'
37985 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
37986 (options): Add "memdisk"|'m' option.
37987 (main): Parse --memdisk|-m option, and pass user-provided path as
37988 parameter to generate_image().
37990 2008-01-20 Robert Millan <rmh@aybabtu.com>
37992 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
37993 grub_dprintf() calls from here ...
37994 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
37996 2008-01-20 Robert Millan <rmh@aybabtu.com>
37998 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38000 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38002 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38003 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38004 `GRUB_IEEE1275_FLAG_REAL_MODE'.
38005 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
38007 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38008 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38010 2008-01-19 Robert Millan <rmh@aybabtu.com>
38012 Get rid of confusing function (superseded by
38013 `grub_ieee1275_get_integer_property')
38014 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38016 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38018 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38019 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
38020 in native endianness from grub_ieee1275_get_integer_property().
38022 2008-01-19 Robert Millan <rmh@aybabtu.com>
38024 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38025 command after "shut-down", since implementations differ on which
38026 the command for halt is.
38028 2008-01-19 Robert Millan <rmh@aybabtu.com>
38030 * include/grub/i386/linuxbios/console.h: Add header protection.
38031 (grub_keyboard_controller_init): New function prototype.
38032 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38033 (KEYBOARD_COMMAND_READ): Likewise.
38034 (KEYBOARD_COMMAND_WRITE): Likewise.
38035 (KEYBOARD_SCANCODE_SET1): Likewise.
38036 (grub_keyboard_controller_write): New function.
38037 (grub_keyboard_controller_read): Likewise.
38038 (grub_keyboard_controller_init): Likewise.
38040 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38041 (grub_console_init): On coreboot/LinuxBIOS, call
38042 grub_keyboard_controller_init().
38044 2008-01-19 Robert Millan <rmh@aybabtu.com>
38046 PowerPC changes provided by Pavel Roskin.
38048 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38049 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38050 don't rely on cmain() doing it.
38051 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38052 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38054 2008-01-16 Robert Millan <rmh@aybabtu.com>
38056 * include/grub/i386/linuxbios/memory.h
38057 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38058 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38059 receive `table_header' as argument. Instead, probe for it in the
38060 known memory ranges where it can be present.
38061 (grub_available_iterate): Do not pass a fixed `table_header' address
38062 to grub_linuxbios_table_iterate().
38064 2008-01-15 Robert Millan <rmh@aybabtu.com>
38066 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38067 * conf/i386-ieee1275.rmk: New file.
38068 * include/grub/i386/ieee1275/console.h: Likewise.
38069 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38070 * include/grub/i386/ieee1275/kernel.h: Likewise.
38071 * include/grub/i386/ieee1275/time.h: Likewise.
38072 * kern/i386/ieee1275/init.c: Likewise.
38073 * kern/i386/ieee1275/startup.S: Likewise.
38075 2008-01-15 Robert Millan <rmh@aybabtu.com>
38077 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38078 when pointers are 32-bit (but still do set it to one when they are
38081 2008-01-15 Robert Millan <rmh@aybabtu.com>
38083 * include/grub/ieee1275/ieee1275.h
38084 (grub_ieee1275_get_integer_property): New function prototype.
38086 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38087 (grub_ieee1275_get_integer_property): New function. Wraps around
38088 grub_ieee1275_get_property() to handle endianness.
38090 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38091 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
38093 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38094 (grub_map): Likewise.
38095 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38097 2008-01-15 Bean <bean123ch@gmail.com>
38099 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38100 (grub_script_execute_cmdline): Reset grub_errno.
38102 * normal/main.c (read_config_file): Reset grub_errno.
38104 * normal/parse.y (script_init): New.
38105 (script): Move function and menuentry here.
38107 (command): Add delimiter at the end of command.
38108 (commands): Adjust to match the new command.
38109 (commandblock): Remove grub_script_lexer_record_start.
38110 (menuentry): Add grub_script_lexer_record_start, use the new commands.
38111 (if): Use the new commands.
38113 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38115 2008-01-15 Robert Millan <rmh@aybabtu.com>
38117 * normal/menu.c (run_menu): Move timeout message from here ...
38118 (print_timeout): ... to here.
38119 (run_menu): Use print_timeout() once during initial draw to print
38120 the whole message, and again in every clock tick to update only
38121 the number of seconds.
38123 2008-01-15 Robert Millan <rmh@aybabtu.com>
38125 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38126 actual size of `available' from grub_ieee1275_get_property(), and
38127 restrict parsing to that bound.
38129 2008-01-15 Christian Franke <franke@computer.org>
38131 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38132 (argp_program_version): Remove variable.
38133 (argp_program_bug_address): Likewise.
38134 (options): Convert from struct argp_option to struct option.
38135 (struct arguments): Remove.
38136 (parse_opt): Remove.
38137 (usage): New function.
38138 (main): Replace struct args members by simple variables.
38139 Replace argp_parse() by getopt_long().
38140 Add switch to evaluate options.
38141 Add missing "(...)" around root_dev in prefix string.
38143 2008-01-14 Robert Millan <rmh@aybabtu.com>
38145 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38146 for grub_ieee1275_exit(), in order to improve portability.
38148 2008-01-14 Robert Millan <rmh@aybabtu.com>
38150 * util/grub.d/10_linux.in (prefix): Define.
38151 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38153 2008-01-13 Pavel Roskin <proski@gnu.org>
38155 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38156 grub_errno if no errors have been detected.
38158 2008-01-12 Robert Millan <rmh@aybabtu.com>
38160 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38161 (grub_util_get_dev_abstraction): New function prototype.
38163 * util/getroot.c: Include `<grub/util/getroot.h>'
38164 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38165 (grub_util_get_dev_abstraction): ... here (new function).
38167 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38168 `PRINT_ABSTRACTION'.
38169 (probe): Probe for abstraction type when requested.
38170 (main): Understand `--target=abstraction'.
38172 * util/i386/efi/grub-install.in: Add abstraction module to core
38173 image when it is found to be necessary.
38174 * util/i386/pc/grub-install.in: Likewise.
38175 * util/powerpc/ieee1275/grub-install.in: Likewise.
38177 * util/update-grub_lib.in (font_path): Return system path without
38178 converting to GRUB path.
38179 * util/update-grub.in: Convert system path returned by font_path()
38180 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38181 abstraction module is needed for loading fonts (if any). Export
38182 that as `GRUB_PRELOAD_MODULES'.
38183 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38186 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38188 Remove some unused code from reiserfs.
38190 * fs/reiserfs.c (struct grub_reiserfs_key)
38191 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38192 (struct grub_reiserfs_node_body): Removed.
38193 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38195 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38197 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38199 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38201 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38203 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38205 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38206 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38207 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38209 2008-01-10 Robert Millan <rmh@aybabtu.com>
38211 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38212 Determines if a file is garbage left by packaging systems, etc.
38213 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38214 for processing /etc/grub.d scripts.
38215 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38216 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38217 as a condition for processing Linux images.
38219 2008-01-10 Pavel Roskin <proski@gnu.org>
38221 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38222 to compile reiserfs.c on PowerPC.
38224 2008-01-10 Robert Millan <rmh@aybabtu.com>
38226 * kern/device.c (grub_device_iterate): Do not abort device iteration
38227 when one of the devices cannot be opened.
38228 * kern/disk.c (grub_disk_open): Do not account previous failures of
38229 unrelated functions when grub_errno is checked for.
38231 2008-01-08 Robert Millan <rmh@aybabtu.com>
38233 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38234 `! grub_linux_is_bzimage', change order of address comparison to make
38235 it more intuitive, and improve "too big zImage" error message.
38237 2008-01-08 Robert Millan <rmh@aybabtu.com>
38239 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38240 `$(update-grub_DATA)'.
38241 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38244 2008-01-07 Robert Millan <rmh@aybabtu.com>
38246 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38247 which instruction is modified by grub-setup during installation
38248 (since it wasn't obvious by only looking at this file).
38250 2008-01-07 Robert Millan <rmh@aybabtu.com>
38252 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38253 listing actual TODO items.
38255 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38257 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38259 (grub_reiserfs_get_key_offset): Likewise.
38260 (grub_reiserfs_set_key_offset): Likewise.
38261 (grub_reiserfs_set_key_type): Likewise.
38262 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
38264 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38265 better to remove the bitfield version completely.
38267 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38269 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38270 allocated from the heap, due to the fshelp implementation.
38271 (grub_reiserfs_dir): Free NODE, due to the same reason.
38273 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38275 Mostly from Vincent Pelletier:
38277 * fs/reiserfs.c: New file.
38279 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38280 (reiserfs_mod_SOURCES): New variable.
38281 (reiserfs_mod_CFLAGS): Likewise.
38282 (reiserfs_mod_LDFLAGS): Likewise.
38284 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38285 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38286 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38289 2008-01-06 Robert Millan <rmh@aybabtu.com>
38291 * normal/color.c: Remove `<grub/env.h>'.
38293 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38295 * include/grub/normal.h: Include <grub/env.h>.
38297 2008-01-05 Robert Millan <rmh@aybabtu.com>
38299 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38300 usage example with `(hd0,1)'.
38301 Reported by Samuel Thibault.
38303 2008-01-05 Robert Millan <rmh@aybabtu.com>
38305 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38306 (grub_linux_boot_zimage): Rename to ...
38307 (grub_linux_boot): ... this.
38308 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38309 (grub_linux_boot_zimage): Conditionalize zImage copy.
38311 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38312 (grub_linux_boot_bzimage): Remove prototype.
38313 (grub_linux_boot_zimage): Rename to ...
38314 (grub_linux_boot): ... this.
38316 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38317 (grub_linux_boot): Remove function.
38319 2008-01-05 Robert Millan <rmh@aybabtu.com>
38321 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38322 (grub_env_write_color_highlight): Likewise.
38323 (grub_wait_after_message): Likewise.
38325 * normal/color.c: New file.
38327 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38328 (normal_mod_DEPENDENCIES): Likewise.
38330 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38331 (normal_mod_DEPENDENCIES): Likewise.
38333 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38334 (normal_mod_DEPENDENCIES): Likewise.
38336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38337 (normal_mod_DEPENDENCIES): Likewise.
38339 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38340 for waiting after a message is printed.
38341 * normal/main.c (read_config_file): Likewise.
38342 (grub_normal_init): Register grub_env_write_color_normal() and
38343 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38344 `color_highlight' variables as global.
38346 * normal/menu.c (grub_wait_after_message): New function.
38347 (grub_color_menu_normal): New variable. Replaces ...
38348 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38349 (grub_color_menu_highlight): New variable. Replaces ...
38350 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38351 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38352 `GRUB_TERM_COLOR_STANDARD'.
38353 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38354 `normal_code' and `highlight_code' to `old_color_normal' and
38355 `old_color_highlight', respectively.
38356 (grub_menu_init_page): Update colors when drawing the menu, based on
38357 `menu_color_normal' and `menu_color_highlight' variables.
38358 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38359 a message is printed.
38361 2008-01-05 Robert Millan <rmh@aybabtu.com>
38363 * kern/env.c (grub_env_context_open): Propagate hooks for global
38364 variables to new context.
38366 * kern/main.c (grub_set_root_dev): Export `root' variable.
38368 2008-01-05 Robert Millan <rmh@aybabtu.com>
38370 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
38371 discs unconditionally, since udev and others have options to provide
38374 2008-01-05 Robert Millan <rmh@aybabtu.com>
38376 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38378 2008-01-04 Christian Franke <franke@computer.org>
38380 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38383 2008-01-03 Pavel Roskin <proski@gnu.org>
38385 * kern/i386/linuxbios/init.c: Put "void" to all function
38386 declarations with no arguments.
38387 * kern/powerpc/ieee1275/init.c: Likewise.
38388 * term/i386/pc/at_keyboard.c: Likewise.
38389 * term/i386/pc/vga_text.c: Likewise.
38390 * util/grub-mkdevicemap.c: Likewise.
38392 2008-01-02 Robert Millan <rmh@aybabtu.com>
38394 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38395 message when loaded image is out of bounds.
38396 (grub_multiboot_load_elf64): Likewise.
38398 2008-01-02 Pavel Roskin <proski@gnu.org>
38400 * util/grub.d/10_linux.in: Try version without ".old" when
38401 looking for initrd. It's better to use initrd from the newer
38402 kernel of the same version than no initrd at all.
38404 2008-01-01 Robert Millan <rmh@aybabtu.com>
38406 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38408 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38410 * include/grub/video.h: Added grub_video_unmap_color and
38411 grub_video_get_active_render_target.
38412 (grub_video_adapter): Added unmap_color and get_active_render_target.
38414 * video/video.c: Added grub_video_unmap_color and
38415 grub_video_get_active_render_target.
38416 (grub_video_get_info): Changed method to accept NULL pointer as an
38417 argument to allow detection of active video adapter.
38419 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38420 grub_video_vbe_unmap_color_int.
38421 Added grub_video_vbe_unmap_color and
38422 grub_video_vbe_get_active_render_target.
38423 (grub_video_vbe_adapter): Added unmap_color and
38424 get_active_render_target.
38426 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
38427 with grub_video_vbe_unmap_color_int.
38429 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38430 (DEFAULT_NORMAL_COLOR): Likewise.
38431 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38432 (DEFAULT_FG_COLOR): Removed.
38433 (DEFAULT_BG_COLOR): Likewise.
38434 (DEFAULT_CURSOR_COLOR): Changed value.
38435 (grub_virtual_screen): Added standard_color_setting,
38436 normal_color_setting, highlight_color_setting and term_color.
38437 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38438 (bitmap_width): Added.
38439 (bitmap_height): Likewise.
38440 (bitmap): Likewise.
38441 (set_term_color): Likewise.
38442 (grub_virtual_screen_setup): Changed to use new terminal coloring
38444 (grub_gfxterm_init): Added init for bitmap.
38445 (grub_gfxterm_fini): Added destroy for bitmap.
38446 (redraw_screen_rect): Updated to use background bitmap and new
38448 (scroll_up): Added optimization for case when there is no bitmap.
38449 (grub_gfxterm_cls): Fixed to use correct background color.
38450 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38452 (grub_virtual_screen_setcolor): Likewise.
38453 (grub_virtual_screen_getcolor): Added.
38454 (grub_gfxterm_background_image_cmd): Likewise.
38455 (grub_video_term): Added setcolor and getcolor.
38456 (MOD_INIT): Added registration of background_image command.
38457 (MOD_TERM): Added unregistration for background_image command.
38459 2007-12-30 Pavel Roskin <proski@gnu.org>
38461 * loader/multiboot_loader.c: Fix multiboot command
38462 unregistration. Fix all typos in the word "multiboot".
38464 2007-12-29 Pavel Roskin <proski@gnu.org>
38466 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38467 support for initrd names used in Fedora.
38469 2007-12-26 Bean <bean123ch@gmail.com>
38471 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38472 (cpio_mod_SOURCES): New variable.
38473 (cpio_mod_CFLAGS): Likewise.
38474 (cpio_mod_LDFLAGS): Likewise.
38476 * fs/cpio.c: New file.
38478 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38480 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38482 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38486 2007-12-25 Robert Millan <rmh@aybabtu.com>
38488 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38489 (grub_getcolor): New function.
38491 * kern/term.c (grub_getcolor): New function.
38492 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38493 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38494 (print_entry): Set normal and highlight colors to
38495 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38496 respectively, before printing and restore them to old
38498 (grub_menu_init_page): Likewise. Fill an additional colored space
38499 that would otherwise be left blank.
38501 * term/efi/console.c (grub_console_getcolor): New function.
38502 (struct grub_console_term.getcolor): New variable.
38503 * term/i386/pc/console.c (grub_console_getcolor): New function.
38504 (struct grub_console_term.getcolor): New variable.
38505 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38506 (struct grub_console_term.getcolor): New variable.
38508 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38509 (struct grub_console_term.setcolor): Remove variable.
38510 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38511 (struct grub_console_term.setcolor): Remove variable.
38512 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38513 (struct grub_console_term.setcolor): Remove variable.
38514 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38515 (struct grub_console_term.setcolor): Remove variable.
38517 2007-12-25 Robert Millan <rmh@aybabtu.com>
38519 * configure.ac: Search for possible unifont.hex locations, and
38520 define UNIFONT_HEX if found.
38522 * Makefile.in (UNIFONT_HEX): Define variable.
38523 (DATA): Rename to ...
38524 (PKGLIB): ... this. Update all users.
38525 (PKGDATA): New variable.
38526 (pkgdata_IMAGES): Rename to ...
38527 (pkglib_IMAGES): ... this. Update all users.
38528 (pkgdata_MODULES): Rename to ...
38529 (pkglib_MODULES): ... this. Update all users.
38530 (pkgdata_PROGRAMS): Rename to ...
38531 (pkglib_PROGRAMS): ... this. Update all users.
38532 (pkgdata_DATA): Rename to ...
38533 (pkglib_DATA): ... this. Update all users.
38534 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38535 (unicode.pff, ascii.pff): New rules.
38536 (all-local): Add `$(PKGDATA)' dependency.
38537 (install-local): Process `$(PKGDATA)'.
38539 * util/update-grub_lib.in (font_path): Search for *.pff files in
38540 a few more locations, including `${pkgdata}'.
38542 2007-12-23 Robert Millan <rmh@aybabtu.com>
38544 Patch from Bean <bean123ch@gmail.com>:
38545 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38548 2007-12-21 Bean <bean123ch@gmail.com>
38550 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38551 (ntfscomp_mod_SOURCES): New variable.
38552 (ntfscomp_mod_CFLAGS): Likewise.
38553 (ntfscomp_mod_LDFLAGS): Likewise.
38555 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38556 (grub_probe_SOURCES): Likewise.
38557 (grub_emu_SOURCES): Likewise.
38559 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38560 (grub_emu_SOURCES): Likewise.
38562 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38563 (grub_emu_SOURCES): Likewise.
38565 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38566 (grub_emu_SOURCES): Likewise.
38568 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38569 (read_run_list): Renamed to grub_ntfs_read_run_list.
38570 (decomp_nextvcn): Moved to ntfscomp.c.
38571 (decomp_getch): Likewise.
38572 (decomp_get16): Likewise.
38573 (decomp_block): Likewise.
38574 (read_block): Likewise.
38575 (read_data): Partially moved to ntfscomp.c.
38576 (fixup): Change unsigned to grub_uint16_t.
38577 (read_mft): Change unsigned long to grub_uint32_t.
38578 (read_attr): Likewise.
38579 (read_data): Likewise.
38580 (read_run_data): Likewise.
38581 (read_run_list): Likewise.
38582 (read_mft): Likewise.
38584 * fs/ntfscomp.c: New file.
38586 * include/grub/ntfs.h: New file.
38588 2007-12-16 Robert Millan <rmh@aybabtu.com>
38590 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38591 IDE disk check, since Linux is known to support 20 IDE disks.
38592 Reported by Colin Watson.
38594 2007-12-15 Bean <bean123ch@gmail.com>
38596 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38597 (lnxboot_img_SOURCES): New variable.
38598 (lnxboot_img_ASFLAGS): Likewise.
38599 (lnxboot_img_LDFLAGS): Likewise.
38601 * boot/i386/pc/lnxboot.S: New file.
38603 2007-11-24 Pavel Roskin <proski@gnu.org>
38605 * configure.ac: Test if '--build-id=none' is supported by the
38606 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38607 objcopy to generate incorrect binary files (binutils
38608 2.17.50.0.18-1 as shipped by Fedora 8).
38609 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38610 linking, so that build ID doesn't break the test.
38612 2007-11-24 Pavel Roskin <proski@gnu.org>
38614 * include/grub/i386/time.h: use "void" in the argument list
38615 of grub_cpu_idle().
38616 * include/grub/powerpc/time.h: Likewise.
38617 * include/grub/sparc64/time.h: Likewise.
38619 2007-11-18 Christian Franke <franke@computer.org>
38621 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38622 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38623 This fixes the problem that function keys did not work in grub-emu.
38625 2007-11-18 Christian Franke <franke@computer.org>
38627 * disk/host.c (grub_host_open): Remove attribute unused from
38628 name parameter. Add check for "host". This fixes the problem
38629 that grub-emu does not find partitions.
38631 2007-11-18 Christian Franke <franke@computer.org>
38633 * util/hostfs.c (is_dir): New function.
38634 (grub_hostfs_dir): Handle missing dirent.d_type case.
38635 (grub_hostfs_read): Add missing fseek().
38636 (grub_hostfs_label): Clear label pointer. This fixes a crash
38637 of grub-emu on "ls (host)".
38639 2007-11-18 Christian Franke <franke@computer.org>
38641 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38642 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38643 to 64 bit boundary by default.
38645 2007-11-18 Bean <bean123ch@gmail.com>
38647 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38648 (hexdump_mod_SOURCES): New variable.
38649 (hexdump_mod_CFLAGS): Likewise.
38650 (hexdump_mod_LDFLAGS): Likewise.
38652 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38654 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38656 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38660 * include/grub/hexdump.h: New file.
38662 * commands/hexdump.c: New file.
38664 2007-11-10 Robert Millan <rmh@aybabtu.com>
38666 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38667 in grub_outb() calls.
38668 (beep_on): Likewise.
38670 2007-11-10 Christian Franke <franke@computer.org>
38672 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38673 (grub_menu_run): Likewise.
38675 2007-11-10 Robert Millan <rmh@aybabtu.com>
38677 * include/grub/i386/efi/machine.h: New file.
38678 * include/grub/i386/linuxbios/machine.h: Likewise.
38679 * include/grub/i386/pc/machine.h: Likewise.
38680 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38681 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38683 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38684 (serial_hw_io_addr): New variable.
38685 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38686 instead of `(unsigned short *) 0x400'.
38688 2007-11-10 Bean <bean123ch@gmail.com>
38690 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38692 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38694 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38695 (vga_mod_SOURCES): Added.
38696 (vga_mod_CFLAGS): Likewise.
38697 (vga_mod_LDFLAGS): Likewise.
38699 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38701 (set_map_mask): Likewise.
38702 (set_read_map): Likewise.
38703 (set_read_address): Likewise.
38704 (vga_font): Removed variable.
38705 (get_vga_glyph): Removed function.
38706 (invalidate_char): Likewise.
38707 (write_char): Changed to use grub_font_get_glyph() for font
38709 (grub_vga_putchar): Likewise.
38710 (grub_vga_getcharwidth): Likewise.
38712 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38714 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38716 (pxeboot_img_LDFLAGS): Likewise.
38717 (diskboot_img_LDFLAGS): Likewise.
38718 (kernel_img_LDFLAGS): Likewise.
38720 2007-11-06 Robert Millan <rmh@aybabtu.com>
38722 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38723 in grub_outb() calls.
38724 (serial_hw_init): Likewise.
38726 2007-11-05 Robert Millan <rmh@aybabtu.com>
38728 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38729 spaces. Skip non-regular files.
38731 2007-11-05 Robert Millan <rmh@aybabtu.com>
38733 * kern/disk.c (grub_disk_firmware_fini)
38734 (grub_disk_firmware_is_tainted): New variables.
38736 * include/grub/disk.h (grub_disk_firmware_fini)
38737 (grub_disk_firmware_is_tainted): Likewise.
38739 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38740 (grub_disk_biosdisk_fini): ... to here.
38741 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38742 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38743 is set. Register grub_disk_biosdisk_fini() in
38744 `grub_disk_firmware_fini'.
38746 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38747 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38748 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38749 to finish existing firmware disk interface.
38751 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38752 (ata_mod_SOURCES): New variable.
38753 (ata_mod_CFLAGS): Likewise.
38754 (ata_mod_LDFLAGS): Likewise.
38756 2007-11-05 Robert Millan <rmh@aybabtu.com>
38758 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38759 (grub_ata_wait): Reimplement using grub_millisleep().
38761 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38762 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38764 2007-11-03 Marco Gerards <marco@gnu.org>
38766 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38767 (CRTC_ADDR_PORT): New macro.
38768 (CRTC_DATA_PORT): Likewise.
38769 (CRTC_CURSOR): Likewise.
38770 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38771 (CRTC_CURSOR_ADDR_LOW): Likewise.
38772 (update_cursor): New function.
38773 (grub_console_real_putchar): Call `update_cursor'.
38774 (grub_console_gotoxy): Likewise.
38775 (grub_console_cls): Set the default color when clearing the
38777 (grub_console_setcursor): Implemented.
38779 2007-11-03 Marco Gerards <marco@gnu.org>
38781 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38783 (grub_ata_pio_write): Likewise.
38785 (grub_atapi_identify): Wait after issuing an ATA command.
38786 (grub_atapi_packet): Likewise.
38787 (grub_ata_identify): Likewise.
38788 (grub_ata_readwrite): Likewise.
38790 2007-11-03 Marco Gerards <marco@gnu.org>
38792 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38793 (grub_ata_pio_write): Likewise.
38794 (grub_ata_readwrite): Use `grub_error', instead of
38795 returning `grub_errno'.
38797 2007-11-03 Marco Gerards <marco@gnu.org>
38799 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38800 grub_ata_pio_write once for every single sector, instead of for
38803 2007-10-31 Robert Millan <rmh@aybabtu.com>
38805 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38807 * conf/i386-linuxbios.rmk: New file.
38809 * kern/i386/pc/hardware.c: Likewise.
38810 * term/i386/pc/at_keyboard.c: Likewise.
38811 * term/i386/pc/vga_text.c: Likewise.
38813 * include/grub/i386/linuxbios/boot.h: Likewise.
38814 * include/grub/i386/linuxbios/console.h: Likewise.
38815 * include/grub/i386/linuxbios/init.h: Likewise.
38816 * include/grub/i386/linuxbios/kernel.h: Likewise.
38817 * include/grub/i386/linuxbios/loader.h: Likewise.
38818 * include/grub/i386/linuxbios/memory.h: Likewise.
38819 * include/grub/i386/linuxbios/serial.h: Likewise.
38820 * include/grub/i386/linuxbios/time.h: Likewise.
38822 * kern/i386/linuxbios/init.c: Likewise.
38823 * kern/i386/linuxbios/startup.S: Likewise.
38824 * kern/i386/linuxbios/table.c: Likewise.
38826 2007-10-31 Marco Gerards <marco@gnu.org>
38828 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38829 (ata_mod_SOURCES): New variable.
38830 (ata_mod_CFLAGS): Likewise.
38831 (ata_mod_LDFLAGS): Likewise.
38833 * disk/ata.c: New file.
38835 * include/grub/disk.h (grub_disk_dev_id): Add
38836 `GRUB_DISK_DEV_ATA_ID'.
38838 2007-10-31 Robert Millan <rmh@aybabtu.com>
38840 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38841 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38843 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38844 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38846 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38849 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38851 2007-10-27 Robert Millan <rmh@aybabtu.com>
38853 * include/grub/types.h (ULONG_MAX): Define macro.
38855 2007-10-22 Robert Millan <rmh@aybabtu.com>
38857 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38859 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38861 2007-10-22 Robert Millan <rmh@aybabtu.com>
38863 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38864 (pkgdata_MODULES): Add `biosdisk.mod'.
38865 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38868 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38869 (grub_biosdisk_init): Replace with ...
38870 (GRUB_MOD_INIT(biosdisk)): ... this.
38871 (grub_biosdisk_fini): Replace with ...
38872 (GRUB_MOD_FINI(biosdisk)): ... this.
38874 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38875 (grub_machine_init): Remove call to grub_biosdisk_init().
38876 (grub_machine_fini): Remove call to grub_machine_fini().
38878 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38880 2007-10-22 Robert Millan <rmh@aybabtu.com>
38882 * include/grub/time.h: New file.
38883 * include/grub/i386/time.h: Likewise.
38884 * include/grub/powerpc/time.h: Likewise.
38885 * include/grub/sparc64/time.h: Likewise.
38887 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38889 (KERNEL_MACHINE_TIME_HEADER): ... this.
38890 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38892 (KERNEL_MACHINE_TIME_HEADER): ... this.
38893 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38895 (KERNEL_MACHINE_TIME_HEADER): ... this.
38897 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38898 (grub_millisleep): New function.
38899 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38900 (grub_millisleep): New function.
38901 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38902 Remove `grub/machine/time.h' include.
38903 (grub_millisleep): New function.
38904 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38905 Remove `grub/machine/time.h' include.
38906 (grub_millisleep): New function.
38908 * include/grub/misc.h (grub_div_roundup): New function.
38910 * kern/misc.c: Include `<grub/time.h>'.
38911 (grub_millisleep_generic): New function.
38913 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
38915 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
38917 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
38918 `machine/time.h'. Add `time.h'.
38919 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38921 2007-10-21 Robert Millan <rmh@aybabtu.com>
38923 * include/grub/misc.h (grub_max): New function.
38925 2007-10-21 Robert Millan <rmh@aybabtu.com>
38927 * util/misc.c (grub_util_info): Call fflush() before returning.
38929 2007-10-20 Robert Millan <rmh@aybabtu.com>
38931 * genmk.rb (Image): Copy `extra_flags' from here ...
38932 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
38934 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
38935 to `argc' and `args' arguments.
38937 2007-10-17 Robert Millan <rmh@aybabtu.com>
38939 * kern/i386/loader.S: New file.
38941 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
38942 * kern/i386/loader.S (grub_linux_prot_size)... to here.
38943 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
38944 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
38945 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
38946 * kern/i386/loader.S (grub_linux_real_addr)... to here.
38947 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
38948 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
38949 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
38950 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
38951 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
38952 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
38953 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
38954 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
38956 * kern/i386/realmode.S: New file.
38958 * kern/i386/pc/startup.S (protstack): Moved from here ...
38959 * kern/i386/realmode.S (protstack)... to here.
38960 * kern/i386/pc/startup.S (gdt): Moved from here ...
38961 * kern/i386/realmode.S (gdt)... to here.
38962 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
38963 * kern/i386/realmode.S (prot_to_real)... to here.
38965 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
38966 `kern/i386/realmode.S'.
38968 2007-10-17 Robert Millan <rmh@aybabtu.com>
38970 * include/grub/i386/loader.h: New file.
38972 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
38973 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38974 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38975 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38976 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
38977 * include/grub/i386/loader.h (grub_linux_prot_size)
38978 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38979 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38980 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38981 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
38983 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
38985 2007-10-15 Robert Millan <rmh@aybabtu.com>
38987 * normal/misc.c (grub_normal_print_device_info): Do not probe for
38988 filesystem when dev->disk is unset.
38989 Do probe for filesystem even when dev->disk->has_partitions is set.
38990 In case a filesystem is found, always report it.
38991 In case it isn't, if dev->disk->has_partitions is set, report that
38992 a partition table was found instead of reporting that no filesystem
38993 could be identified.
38995 2007-10-12 Robert Millan <rmh@aybabtu.com>
38997 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
38998 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39000 * include/grub/types.h (grub_host_to_target16): New macro.
39001 (grub_host_to_target32): Likewise.
39002 (grub_host_to_target64): Likewise.
39003 (grub_target_to_host16): Likewise.
39004 (grub_target_to_host32): Likewise.
39005 (grub_target_to_host64): Likewise.
39007 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39008 Renamed from to ...
39009 (GRUB_MOD_ALIGN): ...this. Update all users.
39011 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39012 grub_host_to_target32.
39013 Replace grub_be_to_cpu32 with grub_target_to_host32.
39014 (load_modules): Likewise.
39015 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39016 Replace grub_be_to_cpu32 with grub_target_to_host32.
39017 Replace grub_cpu_to_be16 with grub_host_to_target16.
39018 Replace grub_cpu_to_be32 grub_host_to_target32.
39020 2007-10-12 Robert Millan <rmh@aybabtu.com>
39022 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39023 * util/elf/grub-mkimage.c: ... here.
39025 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39026 `util/powerpc/ieee1275/grub-mkimage.c'.
39028 2007-10-07 Robert Millan <rmh@aybabtu.com>
39030 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39031 and make it easier to figure out.
39032 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39033 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39034 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39035 leave us with less than HEAP_MIN_SIZE total heap.
39036 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
39038 2007-10-03 Robert Millan <rmh@aybabtu.com>
39040 * include/grub/i386/io.h: New file.
39041 * commands/i386/pc/play.c (inb): Removed.
39043 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39045 * term/i386/pc/serial.c (inb): Removed.
39047 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39049 * term/i386/pc/vga.c (inb): Removed.
39051 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39054 2007-10-02 Robert Millan <rmh@aybabtu.com>
39056 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39058 Reported by Marcin Kurek.
39060 2007-09-07 Robert Millan <rmh@aybabtu.com>
39062 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39063 SmartFirmware version updates (as released by Sven Luther), and avoid
39064 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39065 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39068 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39070 From Hitoshi Ozeki:
39071 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39072 when merging two regions.
39074 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39076 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39077 * normal/completion.c (grub_normal_do_completion): Likewise.
39078 Reported by Hitoshi Ozeki.
39080 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39082 Do not use devices at boot in chainloading.
39084 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39085 (boot_part_addr): Likewise.
39086 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39087 with BOOT_DRIVE and BOOT_PART_ADDR.
39088 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39089 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39091 2007-08-29 Robert Millan <rmh@aybabtu.com>
39093 Patch from Simon Peter <dn.tlp@gmx.net>:
39094 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39095 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39096 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39097 util/i386/pc/grub-setup.c_DEPENDENCIES.
39098 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39099 util/grub-probe.c_DEPENDENCIES.
39100 * conf/powerpc-ieee1275.rmk: Likewise.
39102 2007-08-28 Robert Millan <rmh@aybabtu.com>
39104 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39105 to tell grub-mkdevicemap how to name devices.
39106 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39109 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39110 util/i386/get_disk_name.c.
39111 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39112 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39113 util/ieee1275/get_disk_name.c.
39115 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39117 * DISTLIST: Add util/i386/get_disk_name.c and
39118 util/ieee1275/get_disk_name.c.
39120 * util/grub-mkdevicemap.c: Replace device naming logic with
39121 grub_util_get_disk_name() calls.
39123 2007-08-20 Robert Millan <rmh@aybabtu.com>
39125 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39126 (so that it works for both plural and singular quantities).
39128 2007-08-05 Robert Millan <rmh@aybabtu.com>
39130 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39131 so that [xz] isn't taken into account when determining order.
39133 2007-08-02 Marco Gerards <marco@gnu.org>
39135 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39136 `include/multiboot2.h', `include/grub/elfload.h',
39137 `include/multiboot.h', `include/grub/multiboot.h',
39138 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39139 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39140 `kern/elf.c', `loader/multiboot_loader.c',
39141 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39142 `loader/i386/pc/multiboot2.c',
39143 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39144 `util/i386/pc/grub-mkrescue.in'. Remove
39145 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39146 `include/grub/i386/pc/util/biosdisk.h' and
39147 `include/grub/powerpc/ieee1275/multiboot.h'.
39149 2007-08-02 Bean <bean123ch@gmail.com>
39151 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39152 (ntfs_mod_SOURCES): New variable.
39153 (ntfs_mod_CFLAGS): Likewise.
39154 (ntfs_mod_LDFLAGS): Likewise.
39156 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39157 (grub_probe_SOURCES): Likewise.
39158 (grub_emu_SOURCES): Likewise.
39160 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39161 (grub_emu_SOURCES): Likewise.
39163 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39164 (grub_emu_SOURCES): Likewise.
39166 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39168 * fs/ntfs.c: New file.
39170 2007-08-02 Bean <bean123ch@gmail.com>
39172 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39174 * file.h (grub_file): Likewise.
39176 * fshelp.h (grub_fshelp_read_file): Likewise.
39178 * util/i386/pc/grub-setup.c (setup): Likewise.
39179 (save_first_sector): Likewise.
39180 (save_blocklists): Likewise.
39182 * fs/affs.c (grub_affs_read_file): Likewise.
39184 * fs/ext2.c (grub_ext2_read_file): Likewise.
39186 * fs/fat.c (grub_fat_read_data): Likewise.
39188 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39190 * fs/hfs.c (grub_hfs_read_file): Likewise.
39192 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39194 * fs/jfs.c (grub_jfs_read_file): Likewise.
39196 * fs/minix.c (grub_minix_read_file): Likewise.
39198 * fs/sfs.c (grub_sfs_read_file): Likewise.
39200 * fs/ufs.c (grub_ufs_read_file): Likewise.
39202 * fs/xfs.c (grub_xfs_read_file): Likewise.
39204 * command/blocklist.c (read_blocklist): Likewise.
39205 (print_blocklist): Likewise.
39207 2007-08-02 Marco Gerards <marco@gnu.org>
39209 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39212 * disk/host.c: New file.
39214 * util/hostfs.c: Likewise.
39216 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39217 return `GRUB_ERR_BAD_FS'.
39218 * fs/sfs.c (grub_sfs_mount): Likewise.
39219 * fs/xfs.c (grub_xfs_mount): Likewise.
39221 * include/grub/disk.h (enum grub_disk_dev_id): Add
39222 `GRUB_DISK_DEVICE_HOST_ID'.
39224 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39226 2007-07-24 Jerone Young <jerone@gmail.com>
39228 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
39229 modules for compilation.
39230 * conf/powerpc-ieee1275.rmk: Likewise.
39232 * include/multiboot.h: Move multiboot definitions to one file. Rename
39233 many definitions to not get grub specific.
39234 * include/multiboot2.h: Create header with multiboot 2 definitions.
39235 * include/grub/multiboot.h: Header for grub specific function
39236 prototypes and definitions.
39237 * include/grub/multiboot2.h: Likewise.
39238 * include/grub/multiboot_loader.h: Likewise.
39239 * include/grub/i386/pc/multiboot.h: Removed.
39240 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39242 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39243 and 2 to allow for one multiboot and module commands.
39244 * loader/multiboot2.c: Add multiboot2 functionality.
39245 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39246 and definition names.
39247 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39249 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39250 ieee1275 specific multiboot2 code.
39252 * kern/i386/pc/startup.S: Change headers and definition names for
39253 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39255 2007-07-22 Robert Millan <rmh@aybabtu.com>
39257 * geninitheader.sh: Process file specified in first parameter rather
39258 than hardcoding grub_modules_init.lst.
39259 * geninit.sh: Likewise. Also, construct header name dynamically rather
39260 than hardcoding grub_modules_init.h.
39262 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39263 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39264 grub_probe_init.[ch] and grub_setup_init.[ch].
39266 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39267 grub_modules_init.h with grub_emu_init.h.
39268 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39269 grub_probe_init.[ch] files.
39270 * conf/i386-efi.rmk: Likewise.
39271 * conf/i386-pc.rmk: Likewise.
39272 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39273 grub_setup_init.[ch] files.
39275 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39276 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39277 to initialize modules rather than a list of hardcoded functions.
39278 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39279 grub_init_all() to initialize modules rather than a list of hardcoded
39282 2007-07-22 Robert Millan <rmh@aybabtu.com>
39284 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39285 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39287 2007-07-22 Robert Millan <rmh@aybabtu.com>
39289 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39290 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39291 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39292 flag when running on SmartFirmware.
39293 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39294 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39297 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39298 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39299 rather than decreasing it.
39301 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39302 there's not enough space to do it, fail in the same way as when it
39303 can't be done because there are no partitions.
39305 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39306 when nvsetenv failed.
39308 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39310 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39311 because this rule is automatically generated.
39312 (grub-mkrescue): Removed for the same reason as above.
39314 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39316 Migrate to GNU General Public License Version 3.
39318 * COPYING: Replaced with the plain text version of GPLv3.
39320 * config.guess: Updated from gnulib.
39321 * config.sub: Likewise.
39323 * geninit.sh: Output a GPLv3 copyright notice.
39324 * geninitheader.sh: Likewise.
39325 * genmodsrc.sh: Likewise.
39326 * gensymlist.sh.in: Likewise.
39328 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39329 * boot/i386/pc/diskboot.S: Likewise.
39330 * boot/i386/pc/pxeboot.S: Likewise.
39331 * commands/blocklist.c: Likewise.
39332 * commands/boot.c: Likewise.
39333 * commands/cat.c: Likewise.
39334 * commands/cmp.c: Likewise.
39335 * commands/configfile.c: Likewise.
39336 * commands/echo.c: Likewise.
39337 * commands/help.c: Likewise.
39338 * commands/ls.c: Likewise.
39339 * commands/search.c: Likewise.
39340 * commands/terminal.c: Likewise.
39341 * commands/test.c: Likewise.
39342 * commands/videotest.c: Likewise.
39343 * commands/i386/cpuid.c: Likewise.
39344 * commands/i386/pc/halt.c: Likewise.
39345 * commands/i386/pc/play.c: Likewise.
39346 * commands/i386/pc/reboot.c: Likewise.
39347 * commands/i386/pc/vbeinfo.c: Likewise.
39348 * commands/i386/pc/vbetest.c: Likewise.
39349 * commands/ieee1275/halt.c: Likewise.
39350 * commands/ieee1275/reboot.c: Likewise.
39351 * commands/ieee1275/suspend.c: Likewise.
39352 * disk/loopback.c: Likewise.
39353 * disk/lvm.c: Likewise.
39354 * disk/raid.c: Likewise.
39355 * disk/efi/efidisk.c: Likewise.
39356 * disk/i386/pc/biosdisk.c: Likewise.
39357 * disk/ieee1275/ofdisk.c: Likewise.
39358 * font/manager.c: Likewise.
39359 * fs/affs.c: Likewise.
39360 * fs/ext2.c: Likewise.
39361 * fs/fat.c: Likewise.
39362 * fs/fshelp.c: Likewise.
39363 * fs/hfs.c: Likewise.
39364 * fs/hfsplus.c: Likewise.
39365 * fs/iso9660.c: Likewise.
39366 * fs/jfs.c: Likewise.
39367 * fs/minix.c: Likewise.
39368 * fs/sfs.c: Likewise.
39369 * fs/ufs.c: Likewise.
39370 * fs/xfs.c: Likewise.
39371 * hello/hello.c: Likewise.
39372 * include/grub/acorn_filecore.h: Likewise.
39373 * include/grub/arg.h: Likewise.
39374 * include/grub/bitmap.h: Likewise.
39375 * include/grub/boot.h: Likewise.
39376 * include/grub/cache.h: Likewise.
39377 * include/grub/device.h: Likewise.
39378 * include/grub/disk.h: Likewise.
39379 * include/grub/dl.h: Likewise.
39380 * include/grub/elfload.h: Likewise.
39381 * include/grub/env.h: Likewise.
39382 * include/grub/err.h: Likewise.
39383 * include/grub/file.h: Likewise.
39384 * include/grub/font.h: Likewise.
39385 * include/grub/fs.h: Likewise.
39386 * include/grub/fshelp.h: Likewise.
39387 * include/grub/gzio.h: Likewise.
39388 * include/grub/hfs.h: Likewise.
39389 * include/grub/kernel.h: Likewise.
39390 * include/grub/loader.h: Likewise.
39391 * include/grub/lvm.h: Likewise.
39392 * include/grub/misc.h: Likewise.
39393 * include/grub/mm.h: Likewise.
39394 * include/grub/net.h: Likewise.
39395 * include/grub/normal.h: Likewise.
39396 * include/grub/parser.h: Likewise.
39397 * include/grub/partition.h: Likewise.
39398 * include/grub/pc_partition.h: Likewise.
39399 * include/grub/raid.h: Likewise.
39400 * include/grub/rescue.h: Likewise.
39401 * include/grub/script.h: Likewise.
39402 * include/grub/setjmp.h: Likewise.
39403 * include/grub/symbol.h: Likewise.
39404 * include/grub/term.h: Likewise.
39405 * include/grub/terminfo.h: Likewise.
39406 * include/grub/tparm.h: Likewise.
39407 * include/grub/types.h: Likewise.
39408 * include/grub/video.h: Likewise.
39409 * include/grub/efi/api.h: Likewise.
39410 * include/grub/efi/chainloader.h: Likewise.
39411 * include/grub/efi/console.h: Likewise.
39412 * include/grub/efi/console_control.h: Likewise.
39413 * include/grub/efi/disk.h: Likewise.
39414 * include/grub/efi/efi.h: Likewise.
39415 * include/grub/efi/pe32.h: Likewise.
39416 * include/grub/efi/time.h: Likewise.
39417 * include/grub/i386/linux.h: Likewise.
39418 * include/grub/i386/setjmp.h: Likewise.
39419 * include/grub/i386/types.h: Likewise.
39420 * include/grub/i386/efi/kernel.h: Likewise.
39421 * include/grub/i386/efi/loader.h: Likewise.
39422 * include/grub/i386/efi/time.h: Likewise.
39423 * include/grub/i386/pc/biosdisk.h: Likewise.
39424 * include/grub/i386/pc/boot.h: Likewise.
39425 * include/grub/i386/pc/chainloader.h: Likewise.
39426 * include/grub/i386/pc/console.h: Likewise.
39427 * include/grub/i386/pc/init.h: Likewise.
39428 * include/grub/i386/pc/kernel.h: Likewise.
39429 * include/grub/i386/pc/loader.h: Likewise.
39430 * include/grub/i386/pc/memory.h: Likewise.
39431 * include/grub/i386/pc/multiboot.h: Likewise.
39432 * include/grub/i386/pc/serial.h: Likewise.
39433 * include/grub/i386/pc/time.h: Likewise.
39434 * include/grub/i386/pc/vbe.h: Likewise.
39435 * include/grub/i386/pc/vbeblit.h: Likewise.
39436 * include/grub/i386/pc/vbefill.h: Likewise.
39437 * include/grub/i386/pc/vbeutil.h: Likewise.
39438 * include/grub/i386/pc/vga.h: Likewise.
39439 * include/grub/ieee1275/ieee1275.h: Likewise.
39440 * include/grub/ieee1275/ofdisk.h: Likewise.
39441 * include/grub/powerpc/libgcc.h: Likewise.
39442 * include/grub/powerpc/setjmp.h: Likewise.
39443 * include/grub/powerpc/types.h: Likewise.
39444 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39445 * include/grub/powerpc/ieee1275/console.h: Likewise.
39446 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39447 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39448 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39449 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39450 * include/grub/powerpc/ieee1275/time.h: Likewise.
39451 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39452 * include/grub/sparc64/libgcc.h: Likewise.
39453 * include/grub/sparc64/setjmp.h: Likewise.
39454 * include/grub/sparc64/types.h: Likewise.
39455 * include/grub/sparc64/ieee1275/console.h: Likewise.
39456 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39457 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39458 * include/grub/sparc64/ieee1275/time.h: Likewise.
39459 * include/grub/util/biosdisk.h: Likewise.
39460 * include/grub/util/getroot.h: Likewise.
39461 * include/grub/util/lvm.h: Likewise.
39462 * include/grub/util/misc.h: Likewise.
39463 * include/grub/util/raid.h: Likewise.
39464 * include/grub/util/resolve.h: Likewise.
39465 * io/gzio.c: Likewise.
39466 * kern/device.c: Likewise.
39467 * kern/disk.c: Likewise.
39468 * kern/dl.c: Likewise.
39469 * kern/elf.c: Likewise.
39470 * kern/env.c: Likewise.
39471 * kern/err.c: Likewise.
39472 * kern/file.c: Likewise.
39473 * kern/fs.c: Likewise.
39474 * kern/loader.c: Likewise.
39475 * kern/main.c: Likewise.
39476 * kern/misc.c: Likewise.
39477 * kern/mm.c: Likewise.
39478 * kern/parser.c: Likewise.
39479 * kern/partition.c: Likewise.
39480 * kern/rescue.c: Likewise.
39481 * kern/term.c: Likewise.
39482 * kern/efi/efi.c: Likewise.
39483 * kern/efi/init.c: Likewise.
39484 * kern/efi/mm.c: Likewise.
39485 * kern/i386/dl.c: Likewise.
39486 * kern/i386/efi/init.c: Likewise.
39487 * kern/i386/efi/startup.S: Likewise.
39488 * kern/i386/pc/init.c: Likewise.
39489 * kern/i386/pc/lzo1x.S: Likewise.
39490 * kern/i386/pc/startup.S: Likewise.
39491 * kern/ieee1275/ieee1275.c: Likewise.
39492 * kern/powerpc/cache.S: Likewise.
39493 * kern/powerpc/dl.c: Likewise.
39494 * kern/powerpc/ieee1275/cmain.c: Likewise.
39495 * kern/powerpc/ieee1275/crt0.S: Likewise.
39496 * kern/powerpc/ieee1275/init.c: Likewise.
39497 * kern/powerpc/ieee1275/openfw.c: Likewise.
39498 * kern/sparc64/cache.S: Likewise.
39499 * kern/sparc64/dl.c: Likewise.
39500 * kern/sparc64/ieee1275/init.c: Likewise.
39501 * kern/sparc64/ieee1275/openfw.c: Likewise.
39502 * loader/efi/chainloader.c: Likewise.
39503 * loader/efi/chainloader_normal.c: Likewise.
39504 * loader/i386/efi/linux.c: Likewise.
39505 * loader/i386/efi/linux_normal.c: Likewise.
39506 * loader/i386/pc/chainloader.c: Likewise.
39507 * loader/i386/pc/chainloader_normal.c: Likewise.
39508 * loader/i386/pc/linux.c: Likewise.
39509 * loader/i386/pc/linux_normal.c: Likewise.
39510 * loader/i386/pc/multiboot.c: Likewise.
39511 * loader/i386/pc/multiboot_normal.c: Likewise.
39512 * loader/powerpc/ieee1275/linux.c: Likewise.
39513 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39514 * normal/arg.c: Likewise.
39515 * normal/cmdline.c: Likewise.
39516 * normal/command.c: Likewise.
39517 * normal/completion.c: Likewise.
39518 * normal/execute.c: Likewise.
39519 * normal/function.c: Likewise.
39520 * normal/lexer.c: Likewise.
39521 * normal/main.c: Likewise.
39522 * normal/menu.c: Likewise.
39523 * normal/menu_entry.c: Likewise.
39524 * normal/misc.c: Likewise.
39525 * normal/parser.y: Likewise.
39526 * normal/script.c: Likewise.
39527 * normal/i386/setjmp.S: Likewise.
39528 * normal/powerpc/setjmp.S: Likewise.
39529 * normal/sparc64/setjmp.S: Likewise.
39530 * partmap/acorn.c: Likewise.
39531 * partmap/amiga.c: Likewise.
39532 * partmap/apple.c: Likewise.
39533 * partmap/gpt.c: Likewise.
39534 * partmap/pc.c: Likewise.
39535 * partmap/sun.c: Likewise.
39536 * term/gfxterm.c: Likewise.
39537 * term/terminfo.c: Likewise.
39538 * term/efi/console.c: Likewise.
39539 * term/i386/pc/console.c: Likewise.
39540 * term/i386/pc/serial.c: Likewise.
39541 * term/i386/pc/vesafb.c: Likewise.
39542 * term/i386/pc/vga.c: Likewise.
39543 * term/ieee1275/ofconsole.c: Likewise.
39544 * util/biosdisk.c: Likewise.
39545 * util/console.c: Likewise.
39546 * util/genmoddep.c: Likewise.
39547 * util/getroot.c: Likewise.
39548 * util/grub-emu.c: Likewise.
39549 * util/grub-mkdevicemap.c: Likewise.
39550 * util/grub-probe.c: Likewise.
39551 * util/lvm.c: Likewise.
39552 * util/misc.c: Likewise.
39553 * util/raid.c: Likewise.
39554 * util/resolve.c: Likewise.
39555 * util/update-grub.in: Likewise.
39556 * util/update-grub_lib.in: Likewise.
39557 * util/grub.d/00_header.in: Likewise.
39558 * util/grub.d/10_hurd.in: Likewise.
39559 * util/grub.d/10_linux.in: Likewise.
39560 * util/i386/efi/grub-install.in: Likewise.
39561 * util/i386/efi/grub-mkimage.c: Likewise.
39562 * util/i386/pc/grub-install.in: Likewise.
39563 * util/i386/pc/grub-mkimage.c: Likewise.
39564 * util/i386/pc/grub-mkrescue.in: Likewise.
39565 * util/i386/pc/grub-setup.c: Likewise.
39566 * util/i386/pc/misc.c: Likewise.
39567 * util/powerpc/ieee1275/grub-install.in: Likewise.
39568 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39569 * util/powerpc/ieee1275/misc.c: Likewise.
39570 * video/bitmap.c: Likewise.
39571 * video/video.c: Likewise.
39572 * video/i386/pc/vbe.c: Likewise.
39573 * video/i386/pc/vbeblit.c: Likewise.
39574 * video/i386/pc/vbefill.c: Likewise.
39575 * video/i386/pc/vbeutil.c: Likewise.
39576 * video/readers/tga.c: Likewise.
39578 2007-07-02 Robert Millan <rmh@aybabtu.com>
39580 * conf/i386-efi.rmk: Replace obsolete reference to
39581 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39582 with util/getroot.c.
39583 * conf/powerpc-ieee1275.rmk: Likewise.
39584 * conf/sparc64-ieee1275.rmk: Likewise.
39586 * util/grub-emu.c (main): Fix unchecked pointer handling.
39588 2007-07-02 Robert Millan <rmh@aybabtu.com>
39590 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39591 invocation to fail, in order to support partition-less media.
39593 * util/i386/pc/grub-install.in: Likewise.
39595 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39596 which fs or partmap modules are needed (akin to its sister scripts).
39598 Also use grub-probe to get rid of unportable /proc/mounts check.
39600 Print the same informational message that the other scripts do, before
39603 2007-06-23 Robert Millan <rmh@aybabtu.com>
39605 * util/update-grub_lib.in (font_path): New function. Determine whether
39606 a font file can be found and, if so, echo the GRUB path to it.
39608 * util/update-grub.in: Handle multiple terminals depending on user
39609 input, platform availability and font file presence. Propagate
39610 variables of our findings to /etc/grub.d/ children.
39612 * util/grub.d/00_header.in: Handle multiple terminals, based on
39613 environment setup by update-grub.
39615 2007-06-23 Robert Millan <rmh@aybabtu.com>
39617 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
39619 2007-06-21 Robert Millan <rmh@aybabtu.com>
39621 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39622 indicate end of data section in kernel image.
39623 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39624 GRUB_KERNEL_MACHINE_DATA_END.
39626 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39628 * kern/i386/efi/startup.S: Likewise.
39630 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39631 during image generation. Implement --prefix option to override this
39633 * util/i386/efi/grub-mkimage.c: Likewise.
39635 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39636 code to make path relative to its root into a separate function.
39638 * util/i386/pc/grub-install.in: Use newly provided
39639 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39640 pass the result to grub-install --prefix.
39642 2007-06-13 Robert Millan <rmh@aybabtu.com>
39644 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39645 DEFAULT_DEVICE_MAP.
39646 * util/grub-emu.c: Use above definitions from misc.h instead of
39648 * util/grub-mkdevicemap.c: Likewise.
39649 * util/i386/pc/grub-setup.c: Likewise.
39650 * util/grub-probe.c: Likewise.
39651 (probe): Abort with grub_util_error() when either
39652 grub_guess_root_device or grub_util_get_grub_dev fails.
39654 2007-06-12 Robert Millan <rmh@aybabtu.com>
39656 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39657 "pager" assignment.
39658 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39660 * util/grub-probe.c (probe): Likewise for "drive_name".
39662 2007-06-11 Robert Millan <rmh@aybabtu.com>
39664 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39665 not just the cdrom one.
39667 2007-06-11 Robert Millan <rmh@aybabtu.com>
39669 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39670 Add --pkglibdir=DIR option to override pkglibdir.
39671 Mention --image-type=TYPE in help output.
39672 Fix --grub-mkimage (it was a no-op).
39673 Abort gracefully when no parameter is given.
39675 2007-06-11 Robert Millan <rmh@aybabtu.com>
39677 * util/i386/pc/grub-mkrescue.in: New file.
39678 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39679 * Makefile.in: Handle bin_SCRIPTS.
39681 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39683 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39684 list of video modes.
39686 2007-06-06 Robert Millan <rmh@aybabtu.com>
39688 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39689 file doesn't exist, or if it is in a filesystem grub can't read.
39691 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39692 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39693 header comment to fit in 80 columns when the variables are resolved.
39695 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39696 could be identified by update-grub. Remove redundant check for
39697 unifont.pff existence (since convert_system_path_to_grub_path now
39700 2007-06-04 Robert Millan <rmh@aybabtu.com>
39702 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39704 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39706 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39708 2007-06-04 Robert Millan <rmh@aybabtu.com>
39710 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39712 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39713 grub_apple_partition_map_fini.
39716 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39717 to access >2 TiB disks).
39719 Print disk->total_sectors with %llu instead of %lu, since this
39720 variable is always 64-bit (prevents wrong disk size from being displayed
39721 on either >2 TiB disk or big-endian CPU).
39723 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39724 into a generic case that supports all (sane) partition maps.
39726 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39729 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39730 and grub_apple_partition_map_fini() after that.
39732 2007-06-01 Robert Millan <rmh@aybabtu.com>
39734 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39736 * util/grub.d/00_header.in: Only enable gfxterm when
39737 convert_system_path_to_grub_path() succeeds.
39739 2007-05-20 Robert Millan <rmh@aybabtu.com>
39741 * util/update-grub_lib.in: New file.
39742 * DISTLIST: Add update-grub_lib.in.
39743 * conf/common.rmk: Generate update-grub_lib and install it in
39745 * Makefile.in: Add install routine for $(lib_DATA).
39747 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39748 function provided by update-grub_lib to support arbitrary paths of
39750 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39751 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39753 2007-05-19 Robert Millan <rmh@aybabtu.com>
39755 * commands/i386/cpuid.c: New module.
39756 * DISTLIST: Add it.
39757 * conf/i386-efi.rmk: Enable cpuid.mod.
39758 * conf/i386-pc.rmk: Likewise.
39760 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39762 * kern/disk.c (grub_disk_read): Check return value of
39765 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39767 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39769 * disk/raid.c (grub_raid_open): Likewise.
39771 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39773 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39774 stack instead of on the heap.
39776 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39777 before doing a read on it.
39779 * configure.ac: Only use -fno-stack-protector for the target
39782 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39784 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39785 __attribute_ ((unused)) to mode_type argument.
39787 * util/getroot.c (grub_guess_root_device): Fix #endif.
39789 * kern/misc.c (memcmp): Fix prototype.
39791 * include/grub/partition.h [GRUB_UTIL]
39792 (grub_gpt_partition_map_init): Add prototype.
39793 (grub_gpt_partition_map_fini): Likewise.
39795 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39796 at the right place.
39798 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39799 (grub_fat_read_data): Likewise.
39800 (grub_fat_find_dir): Likewise.
39802 * font/manager.c (find_glyph): Make table a const.
39803 (grub_font_get_glyph): Remove bitmap from if statement.
39805 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39807 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39808 code, first search for device in /dev/mapper, then in /dev.
39809 (grub_util_get_grub_dev): New function.
39810 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39812 * util/grub-probe.c (probe): Remove check for RAID, call
39813 grub_util_get_grub_dev() instead of
39814 grub_util_biosdisk_get_grub_dev().
39815 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39816 grub_util_biosdisk_get_grub_dev().
39817 * util/i386/pc/grub-setup.c (main): Likewise.
39819 2007-05-16 Robert Millan <rmh@aybabtu.com>
39821 * DISTLIST: Update for the latest changes.
39822 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39823 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39824 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39825 grub/util/biosdisk.h.
39826 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39827 grub/util/biosdisk.h.
39829 2007-05-16 Robert Millan <rmh@aybabtu.com>
39831 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39833 2007-05-16 Robert Millan <rmh@aybabtu.com>
39835 * util/i386/efi/grub-install.in: New.
39836 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39837 newly added grub-install.
39838 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39840 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39841 grub/util/biosdisk.h.
39842 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39843 grub/util/biosdisk.h.
39845 2007-05-16 Robert Millan <rmh@aybabtu.com>
39847 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39848 * include/grub/util/biosdisk.h: ... here.
39849 * util/i386/pc/biosdisk.c: Moved to ...
39850 * util/biosdisk.c: ... here.
39851 * util/i386/pc/getroot.c: Moved to ...
39852 * util/getroot.c: ... here.
39853 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39854 * util/grub-mkdevicemap.c: ... here.
39855 * util/i386/pc/grub-probe.c: Moved to ...
39856 * util/grub-probe.c: ... here.
39858 2007-05-15 Robert Millan <rmh@aybabtu.com>
39860 * util/update-grub.in: Remove duplicated line in grub.cfg header
39863 2007-05-13 Robert Millan <rmh@aybabtu.com>
39865 * util/update-grub.in: Fix a few assumptions about the devices holding
39866 /, /boot and /boot/grub being the same.
39867 * util/grub.d/00_header.in: Likewise.
39868 * util/grub.d/10_hurd.in: Likewise.
39869 * util/grub.d/10_linux.in: Likewise.
39871 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39872 patterns. Use that to define the `.old' suffix as older than `'.
39874 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39876 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39877 the grub.cfg header message.
39879 2007-05-11 Robert Millan <rmh@aybabtu.com>
39881 * util/update-grub.in: Create device.map if it doesn't already exist,
39882 before attempting to run grub-probe.
39883 Check for grub-probe and grub-mkdevicemap with the same code
39884 grub-install is using.
39887 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39889 * Makefile.in: Add the datarootdir autoconf variable.
39891 2007-05-09 Robert Millan <rmh@aybabtu.com>
39893 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
39894 fail gracefully if dev->disk->partition == NULL.
39896 2007-05-07 Robert Millan <rmh@aybabtu.com>
39898 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39899 determine partition map module.
39900 * util/i386/pc/grub-install.in: Use this feature to decide which
39901 partition module to load, instead of hardcoding pc and gpt.
39903 2007-05-07 Robert Millan <rmh@aybabtu.com>
39905 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39906 source directory differs from build directory.
39908 2007-05-05 Robert Millan <rmh@aybabtu.com>
39910 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
39913 2007-05-05 Robert Millan <rmh@aybabtu.com>
39915 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
39917 2007-05-05 Robert Millan <rmh@aybabtu.com>
39919 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
39920 command-line arguments via ${GRUB_CMDLINE_LINUX}.
39922 2007-05-05 Robert Millan <rmh@aybabtu.com>
39924 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
39925 (grub_probe_SOURCES): Likewise.
39926 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
39927 GPT and initialize dos_part and bsd_part accordingly.
39928 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
39930 (main): Activate gpt module for use during partition identification,
39931 and deactivate it afterwards.
39932 * util/i386/pc/grub-install.in: Add gpt module to core.img.
39933 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
39934 partition identification, and deactivate it afterwards.
39936 2007-05-05 Robert Millan <rmh@aybabtu.com>
39938 * term/i386/pc/console.c (grub_console_fini): Call
39939 grub_term_set_current() before grub_term_unregister().
39941 2007-05-04 Robert Millan <rmh@aybabtu.com>
39943 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
39944 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
39945 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
39946 and update-grub_DATA.
39947 * conf/common.rmk: Build and install update-grub components.
39948 * conf/common.mk: Regenerate.
39949 * util/update-grub.in: New. Core of update-grub.
39950 * util/grub.d/00_header.in: New. Generates grub.cfg header.
39951 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
39952 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
39953 * util/grub.d/README: New. Document grub.d directory layout.
39955 2007-05-01 Robert Millan <rmh@aybabtu.com>
39957 * util/grub-emu.c: Move initialization functions
39958 grub_util_biosdisk_init() and grub_init_all() before
39959 grub_util_biosdisk_get_grub_dev(), which relies on them.
39961 2007-04-19 Robert Millan <rmh@aybabtu.com>
39963 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
39966 2007-04-18 Jerone Young <jerone@gmail.com>
39968 * kernel/elf.c: Add missing parenthesis for conditional statement
39971 2007-04-10 Jerone Young <jerone@gmail.com>
39973 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
39974 continue on and look for device node with real device name.
39976 2007-04-10 Jerone Young <jerone@gmail.com>
39978 * configure.ac: Add argument for autoconf to use transformation
39980 * Makefile.in: Add autoconf package transformation code.
39981 * util/i386/pc/grub-install.in: Likewise.
39982 * util/powerpc/ieee1275/grub-install.in: Likewise.
39984 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39986 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
39987 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
39988 (EXT2_REVISION): Likewise.
39989 (EXT2_INODE_SIZE): Likewise.
39990 (struct grub_ext2_block_group): Added a missing member
39992 (grub_ext2_read_inode): Divide by the inode size in a superblock
39993 instead of 128 to obtain INODES_PER_BLOCK.
39994 Use the macro EXT2_INODE_SIZE instead of directly using
39995 SBLOCK->INODE_SIZE.
39997 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39999 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40000 superblock instead of the structure size to compute an
40001 offset. This fixes the problem that GRUB could not read a
40002 filesystem when inode size is different from 128-byte.
40004 2007-03-05 Marco Gerards <marco@gnu.org>
40006 * normal/main.c (read_config_file): When "menu" is not set, create
40007 an initial context.
40009 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40011 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40012 (HEAP_LIMIT): New macro.
40013 (grub_claim_heap): Claim memory up to `heaplimit'.
40015 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40017 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40018 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40019 (_start): Likewise.
40020 (grub_arch_modules_addr): Return address after `_end'.
40021 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40022 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40023 (add_segments): Calculate `_end' from phdr size and location.
40024 (ALIGN_UP): Moved to ...
40025 * include/grub/misc.h: here.
40026 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40028 (GRUB_IEEE1275_MODULE_BASE): Removed.
40030 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40032 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40035 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40037 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40039 (grub_elf64_load_hook_t): Likewise.
40040 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40043 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40045 * kern/mm.c: Update copyright.
40046 (grub_mm_debug): Correct syntax error.
40047 (grub_mm_dump_free): New function.
40048 (grub_debug_free): Call `grub_free'.
40049 * include/grub/mm.h: Update copyright.
40050 (grub_mm_dump_free): Add declaration.
40052 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40054 * include/grub/ieee1275/ieee1275.h: Update copyright.
40055 * kern/powerpc/ieee1275/init.c: Likewise.
40056 * kern/powerpc/ieee1275/openfw.c: Likewise.
40058 * loader/powerpc/ieee1275/linux.c: Likewise.
40059 * include/grub/elfload.h: Likewise.
40060 * kern/elf.c: Likewise.
40061 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40063 (grub_elf64_load): Likewise.
40064 (grub_elf32_load_segment): Move to a nested function.
40065 (grub_elf64_load_segment): Likewise.
40067 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40069 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40071 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40072 (grub_heap_len): Likewise.
40073 (HEAP_SIZE): New macro.
40074 (grub_claim_heap): New function.
40075 (grub_machine_init): Don't claim heap directly. Call
40077 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40078 (grub_available_iterate): New function.
40080 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40082 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40083 * configure.ac: Use it for testing the HOST and TARGET compilers.
40085 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40087 * Makefile.in (enable_grub_emu): New variable.
40088 * configure.ac (--enable-grub-emu): New option.
40089 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40090 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40091 * conf/i386-pc.rmk: Likewise.
40092 * conf/powerpc-ieee1275.rmk: Likewise.
40093 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40095 2006-12-12 Marco Gerards <marco@gnu.org>
40097 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40099 * kern/env.c (grub_env_unset): Don't free the member `value' when
40100 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40103 * normal/main.c (current_menu): Removed.
40104 (free_menu): Unset the `menu' environment variable.
40105 (grub_normal_menu_addentry): Make use of the environment variable
40106 `menu', instead of using the global `current_menu'. Allocate
40107 memory for the sourcecode of this entry.
40108 (read_config_file): New argument `nested', changed all callers.
40109 Only in the case of a new context, initialize a new menu. Set the
40110 `menu' environment variable.
40111 (grub_normal_execute): Don't set and unset the environment
40112 variable `menu' here anymore. Only free the menu when leaving the
40115 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40118 2006-12-11 Marco Gerards <marco@gnu.org>
40120 * normal/menu_entry.c (run): Fix off by one bug so the last line
40121 is executed. Move the loader check to outside the loop.
40123 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40125 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40127 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40129 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40130 the number of sectors. Reported by Andrey Shuvikov
40131 <mr_hyro@yahoo.com>.
40133 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40135 * kern/disk.c (grub_disk_read): When there is a read error, always
40136 try to read only the necessary data.
40138 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40140 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40142 [GRUB_UTIL] (grub_raid_fini): Likewise.
40143 [GRUB_UTIL] (grub_lvm_init): Likewise.
40144 [GRUB_UTIL] (grub_lvm_fini): Likewise.
40145 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40146 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40147 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40148 and grub_raid_fini().
40150 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40152 * include/grub/types.h (__unused): Rename to UNUSED.
40153 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40154 (grub_elf64_size): Likewise.
40156 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40158 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40159 grub_error_push and grub_error_pop in the error-handling path.
40160 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40163 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40165 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40166 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40168 (kernel_elf_SOURCES): Likewise.
40169 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40170 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40171 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40172 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40173 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40174 (elf_mod_SOURCES): New variable.
40175 (elf_mod_CFLAGS): Likewise.
40176 (elf_mod_LDFLAGS): Likewise.
40177 * include/grub/types.h (__unused): New macro.
40178 * include/grub/elfload.h: New file.
40179 * kern/elf.c: Likewise.
40180 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40181 (ELF32_LOADMASK): New macro.
40182 (ELF64_LOADMASK): Likewise.
40183 (vmlinux): Removed.
40184 (grub_linux_load32): New function.
40185 (grub_linux_load64): Likewise.
40186 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40187 Use grub_elf_t instead of grub_file_t.
40189 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40191 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40192 `catch_result' to struct set_color_args.
40194 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40196 * normal/menu.c: Include grub/script.h.
40197 * normal/menu_entry.c: Likewise.
40198 * include/grub/normal.h: Do not include grub/script.h.
40200 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40202 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40204 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40206 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40208 (grub_disk_close): Print debug messages when closing a disk.
40209 (grub_disk_read): Print debug messages when disk read fails.
40210 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40212 * kern/partition.c: Include misc.h.
40213 (grub_partition_iterate): Print debug messages when detecting
40216 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40218 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40220 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40222 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40224 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40225 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40227 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40229 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40230 instead of sizeof(lv). Patch by Michael Guntsche.
40232 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40234 * disk/lvm.c: Rename VGS to VG_LIST.
40235 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40236 (grub_lvm_open): Likewise.
40237 Thanks to Michael Guntsche for finding this bug.
40239 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40241 * configure.ac (AC_INIT): Bumped to 1.95.
40243 2006-10-14 Robert Millan <rmh@aybabtu.com>
40245 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40246 with "/dev/.static/dev/md".
40248 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40250 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40251 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40252 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40253 DRIVE_NAME are always freed.
40255 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40256 DOS_PART, as a DOS partition is counted from one instead of zero
40257 now. Reported by Robert Millan.
40259 2006-10-14 Robert Millan <rmh@aybabtu.com>
40261 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40262 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40263 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40264 string returned by grub_guess_root_device.
40265 * util/i386/pc/grub-setup.c: Likewise.
40266 * util/i386/pc/grub-probefs.c: Likewise.
40268 * util/i386/pc/grub-probefs.c: Rename to ...
40269 * util/i386/pc/grub-probe.c: ... this.
40270 * DISTLIST: Remove grub-probefs, add grub-probe.
40271 * conf/i386-efi.rmk: Likewise.
40272 * conf/i386-pc.rmk: Likewise.
40273 * util/i386/pc/grub-install.in: Likewise.
40275 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40276 choose which information we want to print.
40278 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40280 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40281 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40282 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40283 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40284 video/readers/tga.c and video/i386/pc/vbeutil.c.
40286 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40288 Added support for RAID and LVM.
40290 * disk/lvm.c: New file.
40291 * disk/raid.c: Likewise.
40292 * include/grub/lvm.h: Likewise.
40293 * include/grub/raid.h: Likewise.
40294 * include/grub/util/lvm.h: Likewise.
40295 * include/grub/util/raid.h: Likewise.
40296 * util/lvm.c: Likewise.
40297 * util/raid.c: Likewise.
40299 * include/grub/disk.h (grub_disk_dev_id): Add
40300 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40301 (grub_disk_get_size): New prototype.
40302 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40303 returns a partition.
40304 (grub_disk_get_size): New function.
40306 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40307 verbatim if grub_install_dos_part is -2.
40309 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40312 * util/i386/pc/grub-setup.c (setup): New argument
40313 MUST_EMBED. Force embedding of GRUB when the argument is
40314 true. Close FILE before returning.
40315 (main): Add support for RAID and LVM.
40317 * conf/common.rmk: Add RAID and LVM modules.
40318 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40320 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40322 * kern/misc.c (grub_strstr): New function.
40323 * include/grub/misc.h (grub_strstr): New prototype.
40325 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40327 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40329 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40331 * kern/misc.c (grub_strtoull): Guess the base only if not
40334 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40336 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40339 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40341 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40343 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40344 Remove `flags' argument. All callers changed.
40345 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40346 (IEEE1275_IHANDLE_INVALID): New variable.
40347 (IEEE1275_CELL_INVALID): New variable.
40348 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40349 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40350 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40351 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40352 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40353 codes from Open Firmware. All callers updated.
40354 (grub_ieee1275_next_property): Directly return Open Firmware return
40356 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40357 Standardize error checking from `grub_ieee1275_get_property'.
40358 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40359 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40361 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40363 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40364 `instance_to_package_args' to `instance_to_path_args'.
40366 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40367 `grub_ieee1275_chosen'.
40369 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40370 `grub_ieee1275_interpret'.
40372 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40374 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40376 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40378 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40379 (__cmpdi): Likewise.
40381 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40382 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40385 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
40387 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40388 to type `grub_ssize_t'.
40389 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40391 2006-09-22 Marco Gerards <marco@gnu.org>
40393 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40396 2006-09-22 Marco Gerards <marco@gnu.org>
40398 * commands/echo.c: New file.
40400 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40402 * conf/common.rmk (echo_mod_SOURCES): New variable.
40403 (echo_mod_CFLAGS): Likewise.
40404 (echo_mod_LDFLAGS): Likewise.
40406 2006-09-22 Marco Gerards <marco@gnu.org>
40408 * normal/main.c (get_line): Malloc memory instead of using
40409 preallocated memory. Removed the arguments `cmdline' and
40410 `max_len'. Updated all callers.
40412 2006-09-22 Marco Gerards <marco@gnu.org>
40414 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40415 (normal_mod_DEPENDENCIES): Likewise.
40417 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40418 (normal_mod_DEPENDENCIES): Likewise.
40420 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40422 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
40424 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40426 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40427 (normal_mod_DEPENDENCIES): Likewise.
40428 * conf/i386-pc.mk: Regenerate.
40429 * conf/i386-efi.mk: Likewise
40430 * conf/common.mk: Likewise.
40431 * conf/powerpc-ieee1275.mk: Likewise.
40432 * conf/sparc64-ieee1275.mk: Likewise.
40434 2006-09-22 Robert Millan <rmh@aybabtu.com>
40436 Sync with i386 version.
40437 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40438 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40440 2006-09-21 Robert Millan <rmh@aybabtu.com>
40442 Import from GRUB Legacy (lib/device.c):
40443 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40444 (init_device_map) [__linux__]: Add support for I2O devices.
40446 2006-09-14 Marco Gerards <marco@gnu.org>
40448 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40451 2006-09-14 Robert Millan <rmh@aybabtu.com>
40453 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40456 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
40458 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40459 before adding it to device.map.
40461 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
40463 * genmk.rb: Let GCC generate dependencies the first time it
40464 compiles a file; using the -MD option.
40465 * conf/common.mk: Regenerate.
40466 * conf/i386-pc.mk: Likewise.
40467 * conf/i386-efi.mk: Likewise.
40468 * conf/powerpc-ieee1275.mk: Likewise.
40469 * conf/sparc64-ieee1275.mk: Likewise.
40471 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40473 Move the prototypes of grub_setjmp and grub_longjmp to
40474 cpu/setjmp.h, so that each architecture may specify different
40477 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40478 (grub_longjmp): Likewise.
40479 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40480 (grub_longjmp): Likewise.
40481 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40482 (grub_longjmp): Likewise.
40484 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40485 [!GRUB_UTIL] (grub_longjmp): Removed.
40487 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40489 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40490 "color!" method does not return any value.
40492 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40494 * include/grub/bitmap.h: New file.
40496 * include/grub/i386/pc/vbeutil.h: Likewise.
40498 * video/bitmap.c: Likewise.
40500 * video/readers/tga.c: Likewise.
40502 * video/i386/pc/vbeutil.c: Likewise.
40504 * commands/videotest.c: Code cleanup and updated to reflect to new
40507 * term/gfxterm.c: Likewise.
40509 * video/video.c: Likewise.
40511 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40512 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40513 (bitmap_mod_SOURCES): New entry.
40514 (bitmap_mod_CFLAGS): Likewise.
40515 (bitmap_mod_LDFLAGS): Likewise.
40516 (tga_mod_SOURCES): Likewise.
40517 (tga_mod_CFLAGS): Likewise.
40518 (tga_mod_LDFLAGS): Likewise.
40520 * include/grub/video.h (grub_video_blit_operators): New enum type.
40521 (grub_video_render_target): Changed as forward declaration and moved
40522 actual definition to be video driver specific.
40523 (grub_video_adapter.blit_bitmap): Added blitting operator.
40524 (grub_video_adapter.blit_render_target): Likewise.
40525 (grub_video_blit_bitmap): Likewise.
40526 (grub_video_blit_render_target): Likewise.
40528 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40529 driver specific render target definition.
40530 (grub_video_vbe_map_rgba): Added driver internal helper.
40531 (grub_video_vbe_unmap_color): Updated to use
40532 grub_video_i386_vbeblit_info.
40533 (grub_video_vbe_get_video_ptr): Likewise.
40535 * include/grub/i386/pc/vbeblit.h
40536 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40537 grub_video_i386_vbeblit_info.
40538 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40539 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40540 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40541 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40542 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40543 (grub_video_i386_vbeblit_index_index): Likewise.
40544 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40545 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40546 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40547 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40549 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40552 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40553 include/grub/i386/pc/vbeblit.h.
40555 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40556 Updated to use grub_video_i386_vbeblit_info.
40557 (grub_video_i386_vbefill_R8G8B8): Likewise.
40558 (grub_video_i386_vbefill_index): Likewise.
40559 (grub_video_i386_vbefill): Added generic filler.
40561 * video/i386/pc/vbefill.c: Updated to reflect changes on
40562 include/grub/i386/pc/vbefill.h.
40564 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40565 grub_video_i386_vbeblit_info.
40566 (grub_video_vbe_unmap_color): Likewise.
40567 (grub_video_vbe_blit_glyph): Likewise.
40568 (grub_video_vbe_scroll): Likewise.
40569 (grub_video_vbe_draw_pixel): Removed function.
40570 (grub_video_vbe_get_pixel): Likewise.
40571 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40572 updated code to use it.
40573 (common_blitter): Added common blitter for render target and bitmap.
40574 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40575 (grub_video_vbe_blit_render_target): Likewise.
40577 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
40579 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40580 is in text mode if there is no console control protocol instance
40583 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40585 * include/grub/video.h: Code cleanup.
40587 * include/grub/i386/pc/vbe.h: Likewise.
40589 * video/i386/pc/vbe.c: Likewise.
40591 * video/i386/pc/vbeblit.c: Likewise.
40593 * video/i386/pc/vbefill.c: Likewise.
40595 * video/video.c: Likewise. Also added more comments.
40597 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40599 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40600 (struct grub_biosdisk_dap): Likewise.
40602 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40603 linkage settings for all functions.
40605 2006-07-12 Marco Gerards <marco@gnu.org>
40607 * configure.ac (--enable-mm-debug): Fix typo.
40609 * genkernsyms.sh.in: Use proper quoting for `CC'.
40611 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40613 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40614 (normal_mod_ASFLAGS): Remove "-m32".
40616 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40618 * util/misc.c: Include config.h.
40619 [!HAVE_MEMALIGN]: Do not include malloc.h.
40620 (grub_memalign): Use posix_memalign, if present. Then, use
40621 memalign, if present. Otherwise, emit an error.
40623 * util/grub-emu.c: Do not include malloc.h.
40625 * include/grub/util/misc.h: Include unistd.h. This is required for
40626 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40627 D. Eades III <hde@foobar-qux.org>.
40629 * configure.ac (AC_GNU_SOURCE): Added.
40630 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40633 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40635 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40636 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40638 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40640 * include/grub/types.h (grub_host_addr_t): Rename to
40641 grub_target_addr_t.
40642 (grub_host_off_t): Rename to grub_target_off_t.
40643 (grub_host_size_t): Rename to grub_target_size_t.
40644 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40645 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40647 * include/grub/kernel.h (struct grub_module_header): Change type
40648 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40649 (grub_module_info): Likewise.
40651 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40653 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40654 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40655 Velazquez <jesus.velazquez@gmail.com>.
40657 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40659 Count partitions from 1 instead of 0 in the string representation
40660 of partitions. Still use 0-based internally.
40662 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40663 (sun_partition_map_iterate): Use grub_partition_t instead of
40664 struct grub_partition *. Cast DESC->START_CYLINDER to
40665 grub_uint64_t after converting the endian.
40666 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40667 (sun_partition_map_get_name): Add 1 to P->INDEX.
40669 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40671 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40673 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40674 zero instead of one.
40675 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40676 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40678 * partmap/apple.c (apple_partition_map_iterate): Change the type
40679 of POS to unsigned.
40680 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40681 (apple_partition_map_get_name): Add 1 into P->INDEX.
40683 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40684 of POS to unsigned.
40685 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40686 calculate the offset of a partition.
40687 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40688 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40690 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40691 SECTOR to grub_disk_addr_t.
40692 (acorn_partition_map_iterate): Likewise.
40693 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40694 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40696 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40698 * kern/i386/pc/init.c (make_install_device): Add 1 into
40699 GRUB_INSTALL_DOS_PART.
40701 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40704 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40706 Clean up the code to support 64-bit addressing in disks and
40707 files. This change is not enough for filesystems yet.
40709 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40710 type of "start" to grub_uint64_t.
40711 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40712 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40713 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40716 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40717 to grub_disk_addr_t.
40719 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40722 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40724 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40727 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40729 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40731 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40733 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40734 to grub_off_t, to detect an error from grub_file_seek.
40735 (grub_multiboot_load_elf32): Likewise.
40737 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40738 maximum unsigned long value when an overflow is detected.
40739 (grub_strtoull): New function.
40740 (grub_divmod64): Likewise.
40741 (grub_lltoa): use grub_divmod64.
40743 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40745 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40746 the pointer to next character. Use grub_strtoull instead of
40748 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40749 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40752 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
40753 return value is signed.
40754 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40755 test if OFFSET is less than zero, as OFFSET is unsigned now.
40757 * kern/disk.c (struct grub_disk_cache): Change the type of
40758 "sector" to grub_disk_addr_t.
40759 (grub_disk_cache_get_index): Change the type of SECTOR to
40760 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40761 unsigned after shifting.
40762 (grub_disk_cache_invalidate): Change the type of SECTOR to
40764 (grub_disk_cache_unlock): Likewise.
40765 (grub_disk_cache_store): Likewise.
40766 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40767 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40768 grub_disk_addr_t and grub_uint64_t, respectively.
40769 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40770 body, as the value of OFFSET is tweaked by
40771 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40772 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40774 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40775 body, as the value of OFFSET is tweaked by
40776 grub_disk_check_range. Change the types of LEN and N to
40779 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40780 and "saved_offset" to grub_off_t.
40781 (test_header): Cast BUF to char *.
40782 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40784 (grub_gzio_read): Change the types of OFFSET and SIZE to
40785 grub_off_t and grub_size_t, respectively.
40787 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40789 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40790 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40791 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40792 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40793 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40795 * include/grub/types.h (grub_off_t): Unconditionally set to
40797 (grub_disk_addr_t): Changed to grub_uint64_t.
40799 * include/grub/partition.h (struct grub_partition): Change the
40800 types of "start", "len" and "offset" to grub_disk_addr_t,
40801 grub_uint64_t and grub_disk_addr_t, respectively.
40802 (grub_partition_get_start): Return grub_disk_addr_t.
40803 (grub_partition_get_len): Return grub_uint64_t.
40805 * include/grub/misc.h (grub_strtoull): New prototype.
40806 (grub_divmod64): Likewise.
40808 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40809 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40810 grub_off_t, respectively.
40811 All callers and references changed.
40813 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40814 grub_size_t in "read".
40815 All callers and references changed.
40817 * include/grub/file.h (struct grub_file): Change the types of
40818 "offset" and "size" to grub_off_t and grub_off_t,
40819 respectively. Change the type of SECTOR to grub_disk_addr_t in
40821 (grub_file_read): Change the type of LEN to grub_size_t.
40822 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40824 (grub_file_size): Return grub_off_t.
40825 (grub_file_tell): Likewise.
40826 All callers and references changed.
40828 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40829 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40831 (struct grub_disk): Change the type of "total_sectors" to
40832 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
40834 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40835 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40836 (grub_disk_write): Likewise.
40837 All callers and references changed.
40839 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40840 char * for grub_strncmp to silence gcc.
40841 (grub_iso9660_mount): Likewise.
40842 (grub_iso9660_mount): Likewise.
40843 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40845 (grub_iso9660_iterate_dir): Likewise.
40846 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40848 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40849 LEN to grub_disk_addr_t and grub_size_t, respectively.
40851 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40853 * fs/jfs.c (grub_jfs_read_file): Likewise.
40855 * fs/minix.c (grub_jfs_read_file): Likewise.
40857 * fs/sfs.c (grub_jfs_read_file): Likewise.
40859 * fs/ufs.c (grub_jfs_read_file): Likewise.
40861 * fs/xfs.c (grub_jfs_read_file): Likewise.
40863 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40864 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40867 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40868 BLKNR to -1 instead of returning GRUB_ERRNO.
40869 (grub_ext2_read_file): Change the types of SECTOR and
40870 LEN to grub_disk_addr_t and grub_size_t, respectively.
40872 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40873 LEN to grub_disk_addr_t and grub_size_t, respectively.
40875 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40878 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40879 string. Do not cast SECTOR explicitly.
40881 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40882 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40883 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40884 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40885 over 2TB and LBA mode is not supported, raise an error.
40886 (get_safe_sectors): New function.
40887 (grub_biosdisk_read): Use get_safe_sectors.
40888 (grub_biosdisk_write): Likewise.
40890 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40891 (grub_efidisk_write): Likewise.
40893 * disk/loopback.c (delete_loopback): Cosmetic changes.
40894 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40896 (grub_loopback_open): Likewise.
40897 (grub_loopback_read): Likewise. Also, change the type of POS to
40898 grub_off_t, and fix the usage of grub_memset.
40900 * commands/i386/pc/play.c: Include grub/machine/time.h.
40902 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40905 * commands/configfile.c: Include grub/env.h.
40907 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40908 GRUB_ERRNO directly instead. Change the type of POS to
40909 grub_off_t. Follow the coding standard.
40911 * commands/blocklist.c: Include grub/partition.h.
40912 (grub_cmd_blocklist): Return an error if the underlying device is
40913 not a disk. Take the starting sector of a partition into account,
40914 if a partition is used.
40916 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
40918 (lba_mode): Support 64-bit addresses.
40919 (chs_mode): Likewise.
40920 (copy_buffer): Adapted to the new offsets of a length field and a
40922 (blocklist_default_start): Allocate 64-bit space.
40924 * boot/i386/pc/boot.S (force_lba): Removed.
40925 (boot_drive): Moved to under KERNEL_SECTOR.
40926 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
40928 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
40930 (lba_mode): Refactored to support a 64-bit address. More size
40932 (setup_sectors): Likewise.
40934 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40936 * DISTLIST: Added include/grub/i386/linux.h. Removed
40937 include/grub/i386/pc/linux.h
40939 * configure.ac (AC_INIT): Bumped to 1.94.
40941 * config.guess: Updated from gnulib.
40942 * config.sub: Likewise.
40943 * install-sh: Likewise.
40944 * mkinstalldirs: Likewise.
40946 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40948 * conf/common.rmk (grub_modules_init.lst): Depended on
40949 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
40952 * genmk.rb (PModule::rule): Reverted the previous change.
40954 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40956 * conf/common.rmk (grub_modules_init.lst): Depends on
40957 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
40958 that the target does not exist before producing.
40959 (grub_modules_init.h): Remove the target before generating.
40960 (grub_emu_init.c): Likewise.
40962 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
40964 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
40966 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
40967 for the target-specific tests. Make sure that we also have the
40968 up-to-date target variables for those tests.
40970 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40972 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
40973 (PModule::rule): Likewise.
40975 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40977 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
40978 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
40979 target-specific flags should be prefixed.
40980 (PModule::rule): Likewise.
40982 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
40984 * configure.ac (CMP): Check if cmp is available explicitly.
40986 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
40988 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
40989 (target_cpu): New variable.
40990 (pkglibdir): Use target_cpu instead of host_cpu.
40992 * util/i386/pc/grub-install.in (host_cpu): Removed.
40993 (target_cpu): New variable.
40994 (pkglibdir): Use target_cpu instead of host_cpu.
40996 * util/genmoddep.c: Removed.
40998 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
40999 instead of GRUB_HOST_SIZEOF_VOID_P.
41000 * kern/dl.c: Likewise.
41002 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41004 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41005 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41006 (GRUB_TARGET_SIZEOF_LONG): ... this.
41007 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41008 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41009 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41011 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41012 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41013 (GRUB_TARGET_SIZEOF_LONG): ... this.
41014 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41015 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41016 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41018 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41019 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41020 (GRUB_TARGET_SIZEOF_LONG): ... this.
41021 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41022 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41024 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41025 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41026 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41027 instead of GRUB_HOST_SIZEOF_LONG.
41028 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41029 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41030 GRUB_CPU_WORDS_BIGENDIAN.
41031 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41032 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41035 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41036 (genmoddep_SOURCES): Likewise.
41037 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41038 (genmoddep_SOURCES): Likewise.
41039 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41040 (genmoddep_SOURCES): Likewise.
41041 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41043 (genmoddep_SOURCES): Likewise.
41045 * genmoddep.awk: New file.
41047 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41048 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41049 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41050 (PModule::rule): Likewise.
41051 (Program::rule): Likewise.
41052 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41053 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41056 * configure.ac: Rewritten intensively to use host and target
41057 instead of build and host, respectively.
41059 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41060 (host_cpu): Removed.
41061 (target_cpu): New variable.
41062 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41063 (BUILD_CC): Removed.
41064 (BUILD_CFLAGS): Likewise.
41065 (BUILD_CPPFLAGS): Likewise.
41066 (TARGET_CC): New variable.
41067 (TARGET_CFLAGS): Likewise.
41068 (TARGET_CPPFLAGS): Likewise.
41069 (TARGET_LDFLAGS): Likewise.
41071 (include): Use target_cpu instead of host_cpu.
41072 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
41074 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41076 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41078 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41079 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41080 field 'false' to 'exec_on_false'.
41081 (grub_script_create_cmdif): Renamed argument names to reflect above
41084 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41086 * normal/script.c (grub_script_create_cmdif): Likewise.
41088 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41090 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41092 (grub_hfsplus_btree_recptr): Likewise.
41093 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41094 FILEBLOCK both to pass a block number and store next block
41096 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41097 overflow file correctly. Specify errors appropriately, because
41098 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41099 grub_hfsplus_btree_recptr to get the pointer to a found key.
41100 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41103 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41105 (_linux_mod_SOURCES): New variable.
41106 (_linux_mod_CFLAGS): Likewise.
41107 (_linux_mod_LDFLAGS): Likewise.
41108 (linux_mod_SOURCES): Likewise.
41109 (linux_mod_CFLAGS): Likewise.
41110 (linux_mod_LDFLAGS): Likewise.
41112 * DISTLIST: Added loader/i386/efi/linux.c,
41113 loader/i386/efi/linux_normal.c and
41114 include/grub/i386/efi/loader.h.
41116 * loader/i386/efi/linux.c: New file.
41117 * loader/i386/efi/linux_normal.c: Likewise.
41118 * include/grub/i386/efi/loader.h: Likewise.
41120 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41122 * commands/blocklist.c: New file.
41124 * DISTLIST: Added commands/blocklist.c.
41126 * term/efi/console.c (grub_console_highlight_color): Use a lighter
41127 color for the background, and a darker color for the foreground.
41128 (grub_console_checkkey): Return READ_KEY.
41129 (grub_console_cls): Set the background to
41130 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41132 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41134 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41135 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41137 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41140 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41141 BG. The spec is wrong again.
41143 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41145 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41147 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41148 commands/blocklist.c.
41149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41151 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41152 (blocklist_mod_SOURCES): New variable.
41153 (blocklist_mod_CFLAGS): Likewise.
41154 (blocklist_mod_LDFLAGS): Likewise.
41156 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41158 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41160 (lba_mode): Use %eax more intensively to reduce the code size.
41162 2006-05-20 Marco Gerards <marco@gnu.org>
41164 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41166 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41168 (script): Accept leading newlines.
41169 (newlines): New rule to describe 0 or more newlines.
41170 (commands): Accept `command' with trailing newline. Fixed the
41171 order in which arguments were passed to `grub_script_add_cmd'.
41172 Accept commands separated by newlines.
41173 (function): Changed to accept newlines.
41174 (menuentry) Rewritten.
41176 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41177 front of the list, instead of to the end.
41179 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41181 * util/i386/pc/grub-install.in (bindir): New variable.
41182 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41183 Shaver <lbgwjl@gmail.com>.
41185 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41187 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41188 grub/machine/linux.h
41189 * loader/i386/pc/linux.c: Likewise.
41191 * include/grub/i386/pc/linux.h: Moved to ...
41192 * include/grub/i386/linux.h: ... here.
41194 * include/grub/i386/linux.h (struct linux_kernel_params): New
41197 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41199 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41201 (grub_video_vbe_blit_glyph): Likewise.
41202 (grub_video_vbe_blit_bitmap): Likewise.
41203 (grub_video_vbe_blit_render_target): Likewise.
41205 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41207 * configure.ac (--with-platform): Properly quote the square
41210 2006-05-08 Marco Gerards <marco@gnu.org>
41212 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41214 (kernel_elf_HEADERS): ...to this. Updated all users.
41215 (grubof_symlist.c): Renamed from this...
41216 (kernel_elf_symlist.c): ...to this. Updated all users.
41217 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41218 (grubof_SOURCES): Renamed from this...
41219 (kernel_elf_SOURCES): ...to this.
41220 (grubof_HEADERS): Renamed from this...
41221 (kernel_elf_HEADERS): ...to this.
41222 (grubof_CFLAGS): Renamed from this...
41223 (kernel_elf_CFLAGS): ...to this.
41224 (grubof_ASFLAGS): Renamed from this...
41225 (kernel_elf_ASFLAGS): ...to this.
41226 (grubof_LDFLAGS): Renamed from this...
41227 (kernel_elf_LDFLAGS): ...to this.
41229 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41231 (kernel_elf_HEADERS): ...to this. Updated all users.
41232 (grubof_symlist.c): Renamed from this...
41233 (kernel_elf_symlist.c): ...to this. Updated all users.
41234 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41235 (grubof_SOURCES): Renamed from this...
41236 (kernel_elf_SOURCES): ...to this.
41237 (grubof_HEADERS): Renamed from this...
41238 (kernel_elf_HEADERS): ...to this.
41239 (grubof_CFLAGS): Renamed from this...
41240 (kernel_elf_CFLAGS): ...to this.
41241 (grubof_ASFLAGS): Renamed from this...
41242 (kernel_elf_ASFLAGS): ...to this.
41243 (grubof_LDFLAGS): Renamed from this...
41244 (kernel_elf_LDFLAGS): ...to this.
41246 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41247 `kernel.elf' instead of `grubof'.
41249 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41251 Add --with-platform to configure. Use pkglibdir instead of
41252 pkgdatadir. This is reported by Roger Leigh.
41254 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41255 (host_vendor): Likewise.
41256 (host_os): Likewise.
41257 (pkgdatadir): Likewise.
41258 (platform): New variable.
41259 (pkglibdir): Likewise.
41260 Use PKGLIBDIR instead of PKGDATADIR.
41262 * util/i386/pc/grub-install.in (datadir): Removed.
41263 (host_vendor): Likewise.
41264 (host_os): Likewise.
41265 (pkgdatadir): Likewise.
41266 (platform): New variable.
41267 (pkglibdir): Likewise.
41268 Use PKGLIBDIR instead of PKGDATADIR.
41270 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41271 instead of GRUB_DATADIR.
41273 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41275 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41278 * configure.ac (--with-platform): New option.
41279 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41281 * Makefile.in: Include a makefile based on PLATFORM instead of
41283 (pkgdatadir): Not appended by the machine type.
41284 (pkglibdir): Appended by the machine type.
41285 (host_vendor): Removed.
41286 (platform): New variable.
41287 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41288 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41289 (uninstall): Likewise.
41291 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41293 Use the environment context in the menu. Remove the commands
41294 "default" and "timeout", and use variables instead.
41296 * normal/menu.c: Include grub/env.h.
41297 (print_entry): Cast TITLE to silence gcc.
41298 (get_timeout): New function.
41299 (set_timeout): Likewise.
41300 (get_entry_number): Likewise.
41301 (run_menu): Use a default entry, a fallback entry and a timeout
41302 in the environment variables "default", "fallback" and
41303 "timeout". Also, tweak the default entry if it is not within the
41304 current menu entries.
41305 (grub_menu_run): Use a fallback entry in the environment variable
41308 * normal/main.c (read_config_file): Do not initialize
41309 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41311 (grub_normal_execute): Use a data slot to store the menu.
41313 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41314 fallback_entry and timeout.
41315 (struct grub_menu_list): Removed.
41316 (grub_menu_list_t): Likewise.
41317 (struct grub_context): Likewise.
41318 (grub_context_t): Likewise.
41319 (grub_context_get): Likewise.
41320 (grub_context_get_current_menu): Likewise.
41321 (grub_context_push_menu): Likewise.
41322 (grub_context_pop_menu): Likewise.
41323 (grub_default_init): Likewise.
41324 (grub_default_fini): Likewise.
41325 (grub_timeout_init): Likewise.
41326 (grub_timeout_fini): Likewise.
41328 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41330 (normal_mod_SOURCES): Removed normal/context.c.
41332 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41333 commands/default.c, commands/timeout.c and normal/context.c.
41334 (normal_mod_SOURCES): Removed normal/context.c.
41336 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41337 commands/timeout.c and normal/context.c.
41338 (normal_mod_SOURCES): Removed normal/context.c.
41340 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41341 commands/default.c, commands/timeout.c and normal/context.c.
41342 (normal_mod_SOURCES): Removed normal/context.c.
41344 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41346 (default_mod_SOURCES): Removed.
41347 (default_mod_CFLAGS): Likewise.
41348 (default_mod_LDFLAGS): Likewise.
41349 (timeout_mod_SOURCES): Removed.
41350 (timeout_mod_CFLAGS): Likewise.
41351 (timeout_mod_LDFLAGS): Likewise.
41353 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41356 * commands/default.c: Removed.
41357 * commands/timeout.c: Likewise.
41358 * normal/context.c: Likewise.
41360 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41362 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41364 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41366 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41367 "next" to "prev" for readability.
41368 (struct grub_env_sorted_var): New struct.
41369 (grub_env_context): Renamed to ...
41370 (initial_context): ... this.
41371 (grub_env_var_context): Renamed to ...
41372 (current_context): ... this.
41373 (grub_env_find): Look only at CURRENT_CONTEXT.
41374 (grub_env_context_open): Rewritten to copy exported variables from
41376 (grub_env_context_close): Rewritten according to the new
41377 scheme. Also, add an assertion to prevent the initial context from
41379 (grub_env_insert): Removed the code for the sorted list.
41380 (grub_env_remove): Likewise.
41381 (grub_env_export): Simply mark the variable with
41382 GRUB_ENV_VAR_GLOBAL.
41383 (grub_env_set): A cosmetic change for naming consistency.
41384 (grub_env_get): Likewise.
41385 (grub_env_unset): Likewise.
41386 (grub_env_iterate): Rewritten to sort variables within this
41388 (grub_register_variable_hook): Fixed for naming consistency. Call
41389 grub_env_find again, only if NAME is not found at the first time.
41390 (mangle_data_slot_name): New function.
41391 (grub_env_set_data_slot): Likewise.
41392 (grub_env_get_data_slot): Likewise.
41393 (grub_env_unset_data_slot): Likewise.
41395 * include/grub/env.h (grub_env_var_type): New enum.
41396 (GRUB_ENV_VAR_LOCAL): New constant.
41397 (GRUB_ENV_VAR_GLOBAL): Likewise.
41398 (GRUB_ENV_VAR_DATA): Likewise.
41399 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41401 (grub_env_set): Replace VAR with NAME for consistency.
41402 (grub_register_variable_hook): Likewise.
41403 (grub_env_export): Specify the name of the argument.
41404 (grub_env_set_data_slot): New prototype.
41405 (grub_env_get_data_slot): Likewise.
41406 (grub_env_unset_data_slot): Likewise.
41408 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41410 Extend the loader so that GRUB can accept a loader which comes
41411 back to GRUB when a loaded image exits. Also, this change adds
41412 support for a chainloader on EFI.
41414 * term/efi/console.c: Include grub/misc.h.
41415 (grub_console_checkkey): Display a scan code on the top for
41416 debugging. This will be removed once the EFI port gets stable.
41417 Correct the scan code mapping.
41419 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41420 allocate memory from larger regions, in order to reduce the number
41421 of allocated regions. Otherwise, the MacOSX loader panics.
41422 (filter_memory_map): Avoid less than 1MB for compatibility with
41424 (add_memory_regions): Allocate from the tail of a region, if
41425 possible, to avoid allocating a region near to 1MB, for the MacOSX
41428 * kern/efi/init.c (grub_efi_set_prefix): Specify
41429 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41431 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41432 argument IMAGE_HANDLE and specify it to get a loaded image.
41433 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41434 grub_efi_get_loaded_image.
41435 (grub_efi_get_filename): Divide the length by the size of
41437 (grub_efi_get_device_path): New function.
41438 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41439 the length by the size of grub_efi_char16_t for a file path device
41442 * kern/loader.c (grub_loader_noreturn): New variable.
41443 (grub_loader_set): Accept a new argument NORETURN. Set
41444 GRUB_LOADER_NORETURN to NORETURN.
41445 All callers changed.
41446 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41449 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41451 (grub_efi_get_loaded_image): Take an argument to specify an image
41454 * include/grub/loader.h (grub_loader_set): Added one more argument
41457 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41458 instead of grub_efi_open_protocol.
41459 (grub_efidisk_get_device_name): Likewise.
41460 (grub_efidisk_close): Print a newline.
41461 (grub_efidisk_get_device_handle): Fixed to use
41462 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41463 GRUB_EFI_DEVICE_PATH_TYPE.
41465 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41466 * kern/efi/efi.c (device_path_guid): ... here.
41468 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41470 (kernel_mod_HEADERS): Added efi/disk.h.
41471 (_chain_mod_SOURCES): New variable.
41472 (_chain_mod_CFLAGS): Likewise.
41473 (_chain_mod_LDFLAGS): Likewise.
41474 (chain_mod_SOURCES): Likewise.
41475 (chain_mod_CFLAGS): Likewise.
41476 (chain_mod_LDFLAGS): Likewise.
41478 * DISTLIST: Added include/grub/efi/chainloader.h,
41479 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41481 * include/grub/efi/chainloader.h: New file.
41482 * loader/efi/chainloader.c: Likewise.
41483 * loader/efi/chainloader_normal.c: Likewise.
41485 2006-04-30 Marco Gerards <marco@gnu.org>
41487 * commands/configfile.c (grub_cmd_source): New function.
41488 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41489 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41491 2006-04-30 Marco Gerards <marco@gnu.org>
41493 * normal/execute.c (grub_script_execute_cmd): Change the return
41494 type to `grub_err_t'. Correctly return the error.
41495 (grub_script_execute_cmdline): In case a command line is not a
41496 command or a function, try to interpret it as an assignment.
41498 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41500 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41501 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41502 skip a node whose name is obviously invalid as UTF-16,
41503 i.e. contains a NUL character. Stop the iteration when the last
41504 directory entry is found. Instead of using the return value of
41505 grub_hfsplus_btree_iterate_node, store the value in RET and use
41506 it, because the iterator can be stopped by the last directory
41509 2006-04-30 Marco Gerards <marco@gnu.org>
41511 * include/grub/env.h (grub_env_export): New prototype. Reported
41512 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41514 2006-04-30 Marco Gerards <marco@gnu.org>
41516 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41517 size of the extents in a catalog file record.
41519 2006-04-29 Marco Gerards <marco@gnu.org>
41521 * commands/configfile.c (grub_cmd_configfile): Execute the
41522 configfile within its own context.
41524 * include/grub/env.h (grub_env_context_open): New prototype.
41525 (grub_env_context_close): Likewise.
41527 * kern/env.c (grub_env): Removed.
41528 (grub_env_sorted): Likewise.
41529 (grub_env_context): New variable.
41530 (grub_env_var_context): Likewise.
41531 (grub_env_find): Search both the active context and the global
41533 (grub_env_context_open): New function.
41534 (grub_env_context_close): Likewise.
41535 (grub_env_insert): Likewise.
41536 (grub_env_remove): Likewise.
41537 (grub_env_export): Likewise.
41538 (grub_env_set): Changed to use helper functions to avoid code
41540 (grub_env_iterate): Rewritten so both the current context and the
41541 global context are being used.
41543 * normal/command.c (export_command): New function.
41544 (grub_command_init): Register the `export' function.
41546 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41548 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41549 explicitly to suppress gcc's warnings.
41550 * fs/fat.c (grub_fat_find_dir): Likewise.
41551 (grub_fat_label): Likewise.
41552 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41553 (grub_xfs_mount): Likewise.
41554 (grub_xfs_label): Likewise.
41555 * fs/affs.c (grub_affs_mount): Likewise.
41556 (grub_affs_label): Likewise.
41557 (grub_affs_iterate_dir): Likewise.
41558 * fs/sfs.c (grub_sfs_mount): Likewise.
41559 (grub_sfs_iterate_dir): Likewise.
41560 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41561 * fs/hfs.c (grub_hfs_mount): Likewise.
41562 (grub_hfs_cmp_catkeys): Likewise.
41563 (grub_hfs_find_dir): Likewise.
41564 (grub_hfs_dir): Likewise.
41565 (grub_hfs_label): Likewise.
41566 * fs/jfs.c (grub_jfs_mount): Likewise.
41567 (grub_jfs_opendir): Likewise.
41568 (grub_jfs_getent): Likewise.
41569 (grub_jfs_lookup_symlink): Likewise.
41570 (grub_jfs_label): Likewise.
41571 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41572 (grub_hfsplus_iterate_dir): Likewise.
41573 (grub_hfsplus_btree_iterate_node): Made static.
41575 * util/grub-emu.c (prefix): New variable.
41576 (grub_machine_set_prefix): New function.
41577 (main): Do not set the environment variable "prefix" here. Only
41578 set PREFIX, which is used later by grub_machine_set_prefix.
41580 * include/grub/video.h: Do not include grub/symbol.h.
41581 (grub_video_register): Not exported. This symbol is not defined in
41583 (grub_video_unregister): Likewise.
41584 (grub_video_iterate): Likewise.
41585 (grub_video_setup): Likewise.
41586 (grub_video_restore): Likewise.
41587 (grub_video_get_info): Likewise.
41588 (grub_video_get_blit_format): Likewise.
41589 (grub_video_set_palette): Likewise.
41590 (grub_video_get_palette): Likewise.
41591 (grub_video_set_viewport): Likewise.
41592 (grub_video_get_viewport): Likewise.
41593 (grub_video_map_color): Likewise.
41594 (grub_video_map_rgb): Likewise.
41595 (grub_video_map_rgba): Likewise.
41596 (grub_video_fill_rect): Likewise.
41597 (grub_video_blit_glyph): Likewise.
41598 (grub_video_blit_bitmap): Likewise.
41599 (grub_video_blit_render_target): Likewise.
41600 (grub_video_scroll): Likewise.
41601 (grub_video_swap_buffers): Likewise.
41602 (grub_video_create_render_target): Likewise.
41603 (grub_video_delete_render_target): Likewise.
41604 (grub_video_set_active_render_target): Likewise.
41606 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41608 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41610 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41611 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41612 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41613 instead of $(srcdir)/genkernsyms.sh.
41615 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41616 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41617 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41618 instead of $(srcdir)/genkernsyms.sh.
41620 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41621 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41622 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41623 instead of $(srcdir)/genkernsyms.sh.
41625 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41626 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41627 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41628 instead of $(srcdir)/genkernsyms.sh.
41630 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41633 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41635 (gensymlist.sh): New target.
41636 (genkernsyms.sh): Likewise.
41638 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41639 genkernsyms.sh.in and gensymlist.sh.in.
41641 * genkernsyms.sh: Removed.
41642 * gensymlist.sh: Likewise.
41644 * genkernsyms.sh.in: New file.
41645 * gensymlist.sh.in: Likewise.
41647 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41649 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41650 clobber "prefix", since we may have already set it manually.
41652 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41654 * kern/misc.c (abort): New alias for grub_abort.
41656 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41658 A new machine-specific function "grub_machine_set_prefix" is
41659 defined. This is called after loading modules, so that a prefix
41660 initialization can use modules. Also, this change adds an
41661 intensive debugging feature for the memory manager via the
41662 configure option "--enable-mm-debug".
41664 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41667 * kern/sparc64/ieee1275/init.c (abort): Removed.
41668 (grub_stop): Likewise.
41669 (grub_exit): New function.
41670 (grub_set_prefix): Renamed to ...
41671 (grub_machine_set_prefix): ... this.
41672 (grub_machine_init): Do not call grub_set_prefix.
41674 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41675 (grub_machine_set_prefix): ... this.
41676 (grub_machine_init): Do not call grub_set_prefix.
41678 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41679 (grub_machine_init): Do not set the prefix here.
41681 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41683 * kern/efi/init.c: Include grub/mm.h.
41684 (grub_efi_set_prefix): New function.
41686 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41687 (grub_efi_get_filename): New function.
41688 (grub_print_device_path): Renamed to ...
41689 (grub_efi_print_device_path): ... this.
41691 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41692 [MM_DEBUG] (grub_realloc): Likewise.
41693 [MM_DEBUG] (grub_free): Likewise.
41694 [MM_DEBUG] (grub_memalign): Likewise.
41695 [MM_DEBUG] (grub_mm_debug): New variable.
41696 [MM_DEBUG] (grub_debug_malloc): New function.
41697 [MM_DEBUG] (grub_debug_free): New function.
41698 [MM_DEBUG] (grub_debug_realloc): New function.
41699 [MM_DEBUG] (grub_debug_memalign): New function.
41701 * kern/misc.c (grub_abort): Print a newline to distinguish
41704 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41705 grub_set_root_dev after loading modules. This is necessary when
41706 setting a prefix depends on modules.
41708 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41709 (grub_efi_print_device_path): ... this.
41710 (grub_efi_get_filename): New prototype.
41711 (grub_efi_set_prefix): Likewise.
41713 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41715 (grub_efidisk_get_device_handle): New prototype.
41716 (grub_efidisk_get_device_name): Likewise.
41718 * include/grub/mm.h: Include config.h.
41719 (MM_DEBUG): Removed.
41720 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41721 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41722 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41723 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41724 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41725 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41726 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41727 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41728 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41730 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41732 * disk/efi/efidisk.c: Include grub/partition.h.
41733 (iterate_child_devices): New function.
41734 (add_device): First, compare only last device path nodes, so that
41735 devices are sorted by the types.
41736 (grub_efidisk_get_device_handle): New function.
41737 (grub_efidisk_get_device_name): Likewise.
41739 * configure.ac (--enable-mm-debug): New option to enable the
41740 memory manager debugging feature. This makes the binary much
41741 bigger, so is disabled by default.
41743 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41745 Use grub_abort instead of grub_stop, and grub_exit must be
41746 define in each architecture now. Also, this change adds support
41749 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41750 (grub_getkey): New function.
41751 (grub_term_get_current): Likewise.
41753 * util/i386/pc/grub-setup.c: Include grub/term.h.
41754 (grub_getkey): New function.
41755 (grub_term_get_current): Likewise.
41757 * util/misc.c (grub_stop): Renamed to ...
41758 (grub_exit): ... this.
41760 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41761 (grub_exit): ... this.
41762 (grub_machine_init): Use grub_abort instead of abort.
41763 (grub_stop): Removed.
41765 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41768 * kern/i386/pc/startup.S (grub_exit): New function.
41769 (cold_reboot): New label.
41771 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41772 (grub_efi_init): Call grub_efidisk_init.
41773 (grub_efi_fini): Call grub_efidisk_fini.
41775 * kern/efi/efi.c: Include grub/mm.h.
41776 (grub_efi_console_control_guid): Renamed to ...
41777 (console_control_guid): ... this.
41778 (grub_efi_loaded_image_guid): Renamed to ...
41779 (loaded_image_guid): ... this.
41780 (grub_efi_locate_handle): New function.
41781 (grub_efi_open_protocol): Likewise.
41782 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41783 GRUB_EFI_CONSOLE_CONTROL_GUID.
41784 (grub_efi_exit): Removed.
41785 (grub_stop): Likewise.
41786 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41787 (grub_exit): New function.
41788 (grub_print_device_path): Likewise.
41790 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41791 (grub_enter_rescue_mode): Register "exit".
41793 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41794 (grub_abort): New function.
41796 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41798 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41800 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41802 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41803 (grub_print_device_path): New prototype.
41804 (grub_efi_locate_handle): Likewise.
41805 (grub_efi_open_protocol): Likewise.
41807 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41808 * disk/efi/efidisk.c: Likewise.
41810 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41812 * include/grub/efi/console_control.h
41813 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41815 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41816 last 8 bytes as an array.
41817 (GRUB_EFI_DISK_IO_GUID): New macro.
41818 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41819 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41820 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41822 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41823 (struct grub_efi_device_path): Rename the member "sub_type" to
41825 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41826 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41827 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41828 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41829 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41830 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41831 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41832 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41833 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41834 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41835 (struct grub_efi_pci_device_path): New structure.
41836 (grub_efi_pci_device_path_t): New type.
41837 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41838 (struct grub_efi_pccard_device_path): New structure.
41839 (grub_efi_pccard_device_path_t): New type.
41840 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41841 (struct grub_efi_memory_mapped_device_path): New structure.
41842 (grub_efi_memory_mapped_device_path_t): New type.
41843 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41844 (struct grub_efi_vendor_device_path): New structure.
41845 (grub_efi_vendor_device_path_t): New type.
41846 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41847 (struct grub_efi_controller_device_path): New structure.
41848 (grub_efi_controller_device_path_t): New type.
41849 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41850 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41851 (struct grub_efi_acpi_device_path): New structure.
41852 (grub_efi_acpi_device_path_t): New type.
41853 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41854 (struct grub_efi_expanded_acpi_device_path): New structure.
41855 (grub_efi_expanded_acpi_device_path_t): New type.
41856 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41857 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41858 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41859 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41860 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41861 (struct grub_efi_atapi_device_path): New structure.
41862 (grub_efi_atapi_device_path_t): New type.
41863 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41864 (struct grub_efi_fibre_channel_device_path): New structure.
41865 (grub_efi_fibre_channel_device_path_t): New type.
41866 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41867 (struct grub_efi_1394_device_path): New structure.
41868 (grub_efi_1394_device_path_t): New type.
41869 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41870 (struct grub_efi_usb_device_path): New structure.
41871 (grub_efi_usb_device_path_t): New type.
41872 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41873 (struct grub_efi_usb_class_device_path): New structure.
41874 (grub_efi_usb_class_device_path_t): New type.
41875 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41876 (struct grub_efi_i2o_device_path): New structure.
41877 (grub_efi_i2o_device_path_t): New type.
41878 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41879 (struct grub_efi_mac_address_device_path): New structure.
41880 (grub_efi_mac_address_device_path_t): New type.
41881 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41882 (struct grub_efi_ipv4_device_path): New structure.
41883 (grub_efi_ipv4_device_path_t): New type.
41884 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41885 (struct grub_efi_ipv6_device_path): New structure.
41886 (grub_efi_ipv6_device_path_t): New type.
41887 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41888 (struct grub_efi_infiniband_device_path): New structure.
41889 (grub_efi_infiniband_device_path_t): New type.
41890 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41891 (struct grub_efi_uart_device_path): New structure.
41892 (grub_efi_uart_device_path_t): New type.
41893 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41894 (struct grub_efi_vendor_messaging_device_path): New structure.
41895 (grub_efi_vendor_messaging_device_path_t): New type.
41896 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41897 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41898 (struct grub_efi_hard_drive_device_path): New structure.
41899 (grub_efi_hard_drive_device_path_t): New type.
41900 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41901 (struct grub_efi_cdrom_device_path): New structure.
41902 (grub_efi_cdrom_device_path_t): New type.
41903 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41904 (struct grub_efi_vendor_media_device_path): New structure.
41905 (grub_efi_vendor_media_device_path_t): New type.
41906 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41907 (struct grub_efi_file_path_device_path): New structure.
41908 (grub_efi_file_path_device_path_t): New type.
41909 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41910 (struct grub_efi_protocol_device_path): New structure.
41911 (grub_efi_protocol_device_path_t): New type.
41912 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
41913 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
41914 (struct grub_efi_bios_device_path): New structure.
41915 (grub_efi_bios_device_path_t): New type.
41916 (struct grub_efi_disk_io): New structure.
41917 (grub_efi_disk_io_t): New type.
41918 (struct grub_efi_block_io_media): New structure.
41919 (grub_efi_block_io_media_t): New type.
41920 (struct grub_efi_block_io): New structure.
41921 (grub_efi_block_io_t): New type.
41923 * include/grub/misc.h (grub_stop): Removed.
41924 (grub_exit): New prototype.
41925 (grub_abort): Likewise.
41927 * include/grub/disk.h (enum grub_disk_dev_id): Added
41928 GRUB_DISK_DEVICE_EFIDISK_ID.
41930 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
41931 disk/efi/efidisk.c.
41932 (kernel_syms.lst): Remove the target if an error occurs.
41934 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
41936 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
41937 as it was simply too buggy.
41939 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
41941 * kern/misc.c (grub_lltoa): New function.
41942 (grub_vsprintf): Added support for the long long suffix,
41945 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
41947 * Makefile.in (LDFLAGS): Add variable.
41948 (LD): Remove variable.
41949 * configure.ac: Add -m32 to LDFLAGS.
41950 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
41951 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
41952 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
41953 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
41954 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
41956 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
41957 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
41958 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
41960 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
41962 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
41963 length for unknown glyph.
41965 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41967 Add support for pre-loaded modules into the EFI port.
41969 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
41970 completely. Accept one more argument DIR. The caller has changed.
41972 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
41974 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
41975 (grub_efi_loaded_image_guid): New variable.
41976 (grub_efi_get_loaded_image): New function.
41977 (grub_arch_modules_addr): Likewise.
41979 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
41982 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
41983 (struct grub_efi_loaded_image): New structure.
41984 (grub_efi_loaded_image_t): New type.
41986 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41988 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
41989 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
41990 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
41992 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
41994 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
41996 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
41998 * DISTLIST: Added include/grub/efi/console.h,
41999 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42000 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42002 * include/grub/efi/console.h: New file.
42003 * include/grub/efi/time.h: Likewise.
42004 * include/grub/i386/efi/kernel.h: Likewise.
42005 * kern/efi/init.c: Likewise.
42006 * kern/efi/mm.c: Likewise.
42007 * term/efi/console.c: Likewise.
42009 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42010 (grub_stop): Removed.
42011 (grub_get_rtc): Likewise.
42012 (grub_machine_init): Simply call grub_efi_init.
42013 (grub_machine_fini): Call grub_efi_fini.
42015 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42016 (grub_efi_output_string): Removed.
42017 (grub_efi_stall): New function.
42018 (grub_stop): Likewise.
42019 (grub_get_rtc): Likewise.
42021 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42022 (grub_efi_stall): New prototype.
42023 (grub_efi_allocate_pages): Likewise.
42024 (grub_efi_free_pages): Likewise.
42025 (grub_efi_get_memory_map): Likewise.
42026 (grub_efi_mm_init): Likewise.
42027 (grub_efi_mm_fini): Likewise.
42028 (grub_efi_init): Likewise.
42029 (grub_efi_fini): Likewise.
42031 * include/grub/i386/efi/time.h: Do not include
42032 grub/symbol.h. Include grub/efi/time.h.
42033 (GRUB_TICKS_PER_SECOND): Removed.
42034 (grub_get_rtc): Likewise.
42036 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42037 Added padding. The EFI spec is buggy.
42038 (GRUB_EFI_BLACK): New macro.
42039 (GRUB_EFI_BLUE): Likewise.
42040 (GRUB_EFI_GREEN): Likewise.
42041 (GRUB_EFI_CYAN): Likewise.
42042 (GRUB_EFI_RED): Likewise.
42043 (GRUB_EFI_MAGENTA): Likewise.
42044 (GRUB_EFI_BROWN): Likewise.
42045 (GRUB_EFI_LIGHTGRAY): Likewise.
42046 (GRUB_EFI_BRIGHT): Likewise.
42047 (GRUB_EFI_DARKGRAY): Likewise.
42048 (GRUB_EFI_LIGHTBLUE): Likewise.
42049 (GRUB_EFI_LIGHTGREEN): Likewise.
42050 (GRUB_EFI_LIGHTCYAN): Likewise.
42051 (GRUB_EFI_LIGHTRED): Likewise.
42052 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42053 (GRUB_EFI_YELLOW): Likewise.
42054 (GRUB_EFI_WHITE): Likewise.
42055 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42056 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42057 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42058 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42059 (GRUB_EFI_BACKGROUND_RED): Likewise.
42060 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42061 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42062 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42063 (GRUB_EFI_TEXT_ATTR): Likewise.
42065 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42066 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42067 (kernel_mod_HEADERS): Added efi/time.h.
42069 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42071 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42072 include/grub/efi/api.h, include/grub/efi/console_control.h,
42073 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42074 include/grub/i386/efi/time.h, kern/efi/efi.c,
42075 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42076 and util/i386/efi/grub-mkimage.c.
42078 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42080 * genmk.rb (PModule#rule): Do not export symbols if
42081 #{prefix}_EXPORTS is set to "no".
42083 * conf/i386-efi.mk: New file.
42084 * conf/i386-efi.rmk: Likewise.
42085 * include/grub/efi/api.h: Likewise.
42086 * include/grub/efi/console_control.h: Likewise.
42087 * include/grub/efi/efi.h: Likewise.
42088 * include/grub/efi/pe32.h: Likewise.
42089 * include/grub/i386/efi/time.h: Likewise.
42090 * kern/efi/efi.c: Likewise.
42091 * kern/i386/efi/init.c: Likewise.
42092 * kern/i386/efi/startup.S: Likewise.
42093 * util/i386/efi/grub-mkimage.c: Likewise.
42095 2006-04-17 Marco Gerards <marco@gnu.org>
42097 * include/grub/script.h: Include <grub/parser.h> and
42098 "grub_script.tab.h".
42099 (struct grub_lexer_param): New struct.
42100 (struct grub_parser_param): Likewise.
42101 (grub_script_create_arglist): Pass the state in an argument.
42102 (grub_script_add_arglist): Likewise.
42103 (grub_script_create_cmdline): Likewise.
42104 (grub_script_create_cmdblock): Likewise.
42105 (grub_script_create_cmdif): Likewise.
42106 (grub_script_create_cmdmenu): Likewise.
42107 (grub_script_add_cmd): Likewise.
42108 (grub_script_arg_add): Likewise.
42109 (grub_script_lexer_ref): Likewise.
42110 (grub_script_lexer_deref): Likewise.
42111 (grub_script_lexer_record_start): Likewise.
42112 (grub_script_lexer_record_stop): Likewise.
42113 (grub_script_mem_record): Likewise.
42114 (grub_script_mem_record_stop): Likewise.
42115 (grub_script_malloc): Likewise.
42116 (grub_script_yylex): Likewise.
42117 (grub_script_yyparse): Likewise.
42118 (grub_script_yyerror): Likewise.
42119 (grub_script_yylex): Likewise.
42120 (grub_script_lexer_init): Return the state.
42122 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42123 (grub_script_lexer_done): Likewise.
42124 (grub_script_lexer_getline): Likewise.
42125 (grub_script_lexer_refs): Likewise.
42126 (script): Likewise.
42127 (newscript): Likewise.
42128 (record): Likewise.
42129 (recording): Likewise.
42130 (recordpos): Likewise.
42131 (recordlen): Likewise.
42132 (grub_script_lexer_init): Return the state instead of setting
42134 (grub_script_lexer_ref): Use the newly added argument for state
42135 instead of globals.
42136 (grub_script_lexer_deref): Likewise.
42137 (grub_script_lexer_record_start): Likewise.
42138 (grub_script_lexer_record_stop): Likewise.
42139 (recordchar): Likewise.
42140 (nextchar): Likewise.
42141 (grub_script_yylex2): Likewise.
42142 (grub_script_yylex): Likewise.
42143 (grub_script_yyerror): Likewise.
42145 * normal/parser.y (func_mem): Removed variable.
42146 (menu_entry): Likewise.
42148 (%lex-param): New parser option.
42149 (%parse-param): Likewise.
42150 (script): Always return the AST.
42151 (argument): Pass the state around.
42152 (arguments): Likewise.
42153 (grubcmd): Likewise.
42154 (commands): Likewise.
42155 (function): Likewise.
42156 (menuentry): Likewise.
42157 (if_statement): Likewise.
42160 * normal/script.c (grub_script_memused): Removed variable.
42161 (grub_script_parsed): Likewise.
42162 (grub_script_malloc): Added a state argument. Use that instead of
42164 (grub_script_mem_record): Likewise.
42165 (grub_script_mem_record_stop): Likewise.
42166 (grub_script_arg_add): Likewise.
42167 (grub_script_add_arglist): Likewise.
42168 (grub_script_create_cmdline): Likewise.
42169 (grub_script_create_cmdif): Likewise.
42170 (grub_script_create_cmdmenu): Likewise.
42171 (grub_script_add_cmd): Likewise.
42172 (grub_script_parse): Setup the state before calling the parser.
42174 2006-04-16 Marco Gerards <marco@gnu.org>
42176 * normal/command.c (grub_command_init): Remove the title command.
42178 * normal/lexer.c (grub_script_yylex): Renamed from this...
42179 (grub_script_yylex2): ... to this.
42180 (grub_script_yylex): New function. Temporary
42181 introduced to filter some tokens.
42182 (grub_script_yyerror): Print a newline.
42184 * normal/main.c (read_config_file): Output information about the
42185 lines that contain errors. Wait for a key after all lines have
42186 been processed. Don't return an empty menu.
42188 * normal/parser.y (func_mem): Don't initialize.
42189 (menu_entry): Likewise.
42190 (err): New variable.
42191 (script): Don't return anything when an error was encountered.
42192 (ws, returns): Removed rules.
42193 (argument): Disabled concatenated variable support.
42194 (arguments): Remove explicit separators.
42195 (grubcmd): Likewise.
42196 (function): Likewise.
42197 (menuentry): Likewise.
42199 (commands): Likewise. Add error handling.
42201 * normal/script.c (grub_script_create_cmdline): If
42202 `grub_script_parsed' is 0, assume the parser encountered an error.
42204 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42206 * configure.ac: Add support for EFI. Fix the typo
42207 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42209 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42211 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42212 foreign multibyte characters should be shown correctly.
42214 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42216 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42218 (read_config_file): Made it to close file before returning.
42220 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42222 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42223 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42224 video/i386/pc/vbefill.c.
42226 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42227 video/i386/pc/vbefill.c.
42229 * include/grub/video.h (grub_video_blit_format): New enum.
42230 (grub_video_mode_info): Added new member blit_format.
42231 (grub_video_get_blit_format): New function prototype.
42233 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42234 function prototype.
42235 (grub_video_vbe_map_rgb): Likewise.
42236 (grub_video_vbe_unmap_color): Likewise.
42238 * include/grub/i386/pc/vbeblit.h: New file.
42240 * include/grub/i386/pc/vbefill.h: New file.
42242 * video/video.c (grub_video_get_blit_format): New function.
42243 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42244 (grub_video_vbe_map_rgb): Likewise.
42245 (grub_video_vbe_unmap_color): Likewise.
42247 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42249 (grub_video_vbe_blit_render_target): Changed to use more optimized
42251 (grub_video_vbe_setup): Added detection for optimized settings.
42252 (grub_video_vbe_create_render_target): Likewise.
42254 * video/i386/pc/vbeblit.c: New file.
42256 * video/i386/pc/vbefill.c: New file.
42258 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42260 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42263 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42264 parsing to support both hex and dec ranges. If filename was missing
42265 show usage information.
42267 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42269 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42270 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42272 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42273 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42274 (video_mod_SOURCES): Added.
42275 (video_mod_CFLAGS): Likewise.
42276 (video_mod_LDFLAGS): Likewise.
42277 (gfxterm_mod_SOURCES): Likewise.
42278 (gfxterm_mod_CFLAGS): Likewise.
42279 (gfxterm_mod_LDFLAGS): Likewise.
42280 (videotest_mod_SOURCES): Likewise.
42281 (videotest_mod_CFLAGS): Likewise.
42282 (videotest_mod_LDFLAGS): Likewise.
42283 (vesafb_mod_SOURCES): Removed.
42284 (vesafb_mod_CFLAGS): Likewise.
42285 (vesafb_mod_LDFLAGS): Likewise.
42286 (vga_mod_SOURCES): Likewise.
42287 (vga_mod_CFLAGS): Likewise.
42288 (vga_mod_LDFLAGS): Likewise.
42290 * commands/videotest.c: New file.
42292 * font/manager.c (fill_with_default_glyph): Modified to use
42294 (grub_font_get_glyph): Likewise.
42295 (fontmanager): Renamed from this...
42296 (font_manager): ... to this.
42298 * include/grub/font.h (grub_font_glyph): Added new structure.
42299 (grub_font_get_glyph): Modified to use grub_font_glyph.
42301 * include/grub/misc.h (grub_abs): Added as inline function.
42303 * include/grub/video.h: New file.
42305 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42306 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42307 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42308 (grub_vbe_get_controller_info): Renamed from this...
42309 (grub_vbe_bios_get_controller_info): ... to this.
42310 (grub_vbe_get_mode_info): Renamed from this...
42311 (grub_vbe_bios_get_mode_info): ... to this.
42312 (grub_vbe_set_mode): Renamed from this...
42313 (grub_vbe_bios_set_mode): ... to this.
42314 (grub_vbe_get_mode): Renamed from this...
42315 (grub_vbe_bios_get_mode): ... to this.
42316 (grub_vbe_set_memory_window): Renamed from this...
42317 (grub_vbe_bios_set_memory_window): ... to this.
42318 (grub_vbe_get_memory_window): Renamed from this...
42319 (grub_vbe_bios_get_memory_window): ... to this.
42320 (grub_vbe_set_scanline_length): Renamed from this...
42321 (grub_vbe_set_scanline_length): ... to this.
42322 (grub_vbe_get_scanline_length): Renamed from this...
42323 (grub_vbe_bios_get_scanline_length): ... to this.
42324 (grub_vbe_set_display_start): Renamed from this...
42325 (grub_vbe_bios_set_display_start): ... to this.
42326 (grub_vbe_get_display_start): Renamed from this...
42327 (grub_vbe_bios_get_display_start): ... to this.
42328 (grub_vbe_set_palette_data): Renamed from this...
42329 (grub_vbe_bios_set_palette_data): ... to this.
42330 (grub_vbe_set_pixel_rgb): Removed.
42331 (grub_vbe_set_pixel_index): Likewise.
42333 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42335 (grub_vbe_bios_get_controller_info): ... to this.
42336 (grub_vbe_get_mode_info): Renamed from this...
42337 (grub_vbe_bios_get_mode_info): ... to this.
42338 (grub_vbe_set_mode): Renamed from this...
42339 (grub_vbe_bios_set_mode): ... to this.
42340 (grub_vbe_get_mode): Renamed from this...
42341 (grub_vbe_bios_get_mode): ... to this.
42342 (grub_vbe_set_memory_window): Renamed from this...
42343 (grub_vbe_bios_set_memory_window): ... to this.
42344 (grub_vbe_get_memory_window): Renamed from this...
42345 (grub_vbe_bios_get_memory_window): ... to this.
42346 (grub_vbe_set_scanline_length): Renamed from this...
42347 (grub_vbe_set_scanline_length): ... to this.
42348 (grub_vbe_get_scanline_length): Renamed from this...
42349 (grub_vbe_bios_get_scanline_length): ... to this.
42350 (grub_vbe_set_display_start): Renamed from this...
42351 (grub_vbe_bios_set_display_start): ... to this.
42352 (grub_vbe_get_display_start): Renamed from this...
42353 (grub_vbe_bios_get_display_start): ... to this.
42354 (grub_vbe_set_palette_data): Renamed from this...
42355 (grub_vbe_bios_set_palette_data): ... to this.
42356 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42357 getting corrupted after calling it. Added more pushes and pops.
42358 (grub_vbe_bios_set_mode): Likewise.
42359 (grub_vbe_bios_get_mode): Likewise.
42360 (grub_vbe_bios_get_memory_window): Likewise.
42361 (grub_vbe_bios_set_scanline_length): Likewise.
42362 (grub_vbe_bios_get_scanline_length): Likewise.
42363 (grub_vbe_bios_get_display_start): Likewise.
42364 (grub_vbe_bios_set_palette_data): Likewise.
42366 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42367 (cl_insert): Likewise.
42368 (cl_delete): Likewise.
42370 * term/gfxterm.c: New file.
42372 * term/i386/pc/vesafb.c: Removed file.
42374 * video/video.c: New file.
42376 * video/i386/pc/vbe.c (real2pm): Added new function.
42377 (grub_video_vbe_draw_pixel): Likewise.
42378 (grub_video_vbe_get_video_ptr): Likewise.
42379 (grub_video_vbe_get_pixel): Likewise
42380 (grub_video_vbe_init): Likewise.
42381 (grub_video_vbe_fini): Likewise.
42382 (grub_video_vbe_setup): Likewise.
42383 (grub_video_vbe_get_info): Likewise.
42384 (grub_video_vbe_set_palette): Likewise.
42385 (grub_video_vbe_get_palette): Likewise.
42386 (grub_video_vbe_set_viewport): Likewise.
42387 (grub_video_vbe_get_viewport): Likewise.
42388 (grub_video_vbe_map_color): Likewise.
42389 (grub_video_vbe_map_rgb): Likewise.
42390 (grub_video_vbe_map_rgba): Likewise.
42391 (grub_video_vbe_unmap_color): Likewise.
42392 (grub_video_vbe_fill_rect): Likewise.
42393 (grub_video_vbe_blit_glyph): Likewise.
42394 (grub_video_vbe_blit_bitmap): Likewise.
42395 (grub_video_vbe_blit_render_target): Likewise.
42396 (grub_video_vbe_scroll): Likewise.
42397 (grub_video_vbe_swap_buffers): Likewise.
42398 (grub_video_vbe_create_render_target): Likewise.
42399 (grub_video_vbe_delete_render_target): Likewise.
42400 (grub_video_vbe_set_active_render_target): Likewise.
42401 (grub_vbe_set_pixel_rgb): Remove function.
42402 (grub_vbe_set_pixel_index): Likewise.
42403 (index_color_mode): Remove static variable.
42404 (active_mode): Likewise.
42405 (framebuffer): Likewise.
42406 (bytes_per_scan_line): Likewise.
42407 (grub_video_vbe_adapter): Added new static variable.
42408 (framebuffer): Likewise.
42409 (render_target): Likewise.
42410 (initial_mode): Likewise.
42411 (mode_in_use): Likewise.
42412 (mode_list): Likewise.
42414 2006-03-10 Marco Gerards <marco@gnu.org>
42416 * configure.ac (AC_INIT): Bumped to 1.93.
42418 * DISTLIST: Added `include/grub/hfs.h'.
42420 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42422 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42423 18H, which might help the BIOS falling back to next boot media.
42425 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42427 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42428 Poe Chen <poe.poechen@gmail.com>.
42430 2006-01-17 Marco Gerards <marco@gnu.org>
42432 * include/grub/normal.h: Include <grub/script.h>.
42433 (grub_command_list): Removed struct.
42434 (grub_command_list_t): Removed type.
42435 (grub_menu_entry): Remove members `num' and `command_list'. Add
42436 members `commands' and `sourcecode'.
42437 * include/grub/script.h: Add inclusion guards.
42438 (grub_script_cmd_menuentry): New struct.
42439 (grub_script_execute_menuentry): New prototype.
42440 (grub_script_lexer_record_start): Likewise.
42441 (grub_script_lexer_record_stop): Likewise.
42442 * normal/execute.c (grub_script_execute_menuentry): New function.
42443 * normal/lexer.c (record, recording, recordpos, recordlen): New
42445 (grub_script_lexer_record_start): New function.
42446 (grub_script_lexer_record_stop): Likewise.
42447 (recordchar): Likewise.
42448 (nextchar): Likewise.
42449 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42450 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42451 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42452 (current_menu): New variable.
42453 (free_menu): Mainly rewritten.
42454 (grub_normal_menu_addentry): New function.
42455 (read_config_file): Rewritten.
42456 * normal/menu.c (run_menu_entry): Mainly rewritten.
42457 * normal/menu_entry.c (make_screen): Rewritten the code to insert
42459 (run): Mainly rewritten.
42460 * normal/parser.y (menu_entry): New variable.
42461 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42462 (menuentry): New rule.
42463 (command): Add `menuentry'.
42464 (if_statement): Allow additional returns before `fi'.
42465 * normal/script.c (grub_script_create_cmdmenu): New function.
42467 2006-01-03 Marco Gerards <marco@gnu.org>
42469 * INSTALL: GNU Bison is required.
42470 * configure.ac: Rewritten the test to detect Bison.
42471 * Makefile.in (YACC): New variable. Reported by Xun Sun
42472 <xun.sun.cn@gmail.com>.
42474 2006-01-03 Marco Gerards <marco@gnu.org>
42476 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42477 the HFS+ filesystem to filesystem blocks.
42478 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42479 GCC warning is silenced.
42481 2006-01-03 Marco Gerards <marco@gnu.org>
42483 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42484 read from disk from big endian to host byte order.
42486 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42488 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42490 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42491 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42492 embedded HFS+ filesystem.
42493 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42494 (grub_hfs_sblock): Move from here...
42495 * include/grub/hfs.h: To here... New file.
42496 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42498 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42500 (grub_hfsplus_volheader): Change type of member `magic' to
42502 (grub_hfsplus_data): Add new member `embedded_offset'.
42503 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42505 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42506 Calculate the offset.
42508 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42510 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42512 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42514 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42516 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42517 ENV->NAME is NULL after allocating ENV->VALUE.
42519 2005-12-25 Marco Gerards <marco@gnu.org>
42521 * kern/env.c (grub_env_set): Rewritten the error handling code.
42523 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42525 * geninit.sh: Made more robust, and more portable.
42527 2005-12-25 Marco Gerards <marco@gnu.org>
42529 Add support for Apple HFS+ filesystems.
42531 * fs/hfsplus.c: New file.
42533 * DISTLIST: Added `fs/hfsplus.c'.
42535 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42536 (hfsplus_mod_SOURCES): New variable.
42537 (hfsplus_mod_CFLAGS): Likewise.
42538 (hfsplus_mod_LDFLAGS): Likewise.
42539 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42540 (grub_setup_SOURCES): Likewise.
42541 (grub_mkdevicemap_SOURCES): Likewise.
42542 (grub_emu_SOURCES): Likewise.
42543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42545 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42547 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42549 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42551 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42552 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42553 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42554 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42555 normal/lexer.c, normal/parser.y, normal/script.c, and
42557 Removed kern/sparc64/cache.c.
42559 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42560 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42563 * configure.ac (AC_INIT): Bumped to 1.92.
42565 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42567 * kern/err.c (grub_error_push): Added new function to support error
42569 (grub_error_pop): Likewise.
42570 (grub_error_stack_items): New local variable to support error stacks.
42571 (grub_error_stack_pos): Likewise.
42572 (grub_error_stack_assert): Likewise.
42573 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42575 (grub_print_error): Added support to print errors from error stack.
42577 * include/grub/err.h (grub_error_push): Added function prototype.
42578 (grub_error_pop): Likewise.
42580 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42582 * configure.ac: Accept `powerpc64' as host_cpu.
42583 (amd64): Rename to `biarch32'.
42585 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42586 non-cacheline-aligned addresses.
42588 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42589 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42590 if `size' is non-zero.
42592 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
42594 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42595 and `cd' to make sure the filename is not prefixed with a
42597 (pkgdata_MODULES): Add `gpt.mod'.
42598 (gpt_mod_SOURCES): New variable.
42599 (gpt_mod_CFLAGS): Likewise.
42600 (gpt_mod_LDFLAGS): Likewise.
42602 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42604 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42607 * partmap/gpt.c: New file.
42609 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42610 GPT partition map is detected.
42612 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42614 * commands/i386/pc/play.c: New file.
42615 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42616 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42619 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
42621 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42622 ((unused))' to silence gcc warning.
42624 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42626 * configure.ac: Correct `AC_PROG_YACC' test.
42628 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42630 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42631 check before installing files.
42633 2005-11-22 Mike Small <smallm@panix.com>
42635 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42636 number regex so multidigit numbers are recognized correctly.
42638 2005-11-22 Mike Small <smallm@panix.com>
42640 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42641 debugging message before attempting to claim memory.
42642 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42643 multiple addresses in case of failure.
42645 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42647 * term/tparm.c (get_space): Remove empty `if' statement.
42649 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42651 * kern/parser.c (check_varstate): Rename `state' to 's'.
42653 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42655 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42656 variable definitions to the beginning of each function. Sort stack
42658 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42659 `buf' argument to `char *'.
42661 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42663 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42664 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42665 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42666 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42667 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42668 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42669 configfile.mod, search.mod, gzio.mod and test.mod.
42670 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42671 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42672 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42673 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42674 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42675 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42676 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42677 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42678 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42679 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42680 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42681 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42682 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42683 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42684 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42685 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42686 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42687 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42688 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42689 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42690 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42691 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42692 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42694 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42696 (pkgdata_MODULES): Add test.mod.
42698 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42700 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42701 appending to variables with "+=".
42702 (PModule): Use full pathname to generate *.lst filenames.
42704 * Makefile.in: Fixed list rules moved from genmk.rb.
42705 (.DELETE_ON_ERROR): New special target.
42706 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42708 * conf/i386-pc.rmk: Include conf/common.mk.
42709 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42710 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42711 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42712 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42713 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42714 configfile.mod, search.mod, gzio.mod and test.mod.
42715 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42716 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42717 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42718 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42719 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42720 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42721 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42722 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42723 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42724 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42725 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42726 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42727 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42728 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42729 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42730 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42731 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42732 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42733 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42734 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42735 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42736 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42737 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42739 * conf/common.rmk: ... to here. New file.
42741 * conf/common.mk: New file.
42743 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42745 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42746 (grub_script.tab.c): ... here.
42748 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42749 (grub_script.tab.c): ... here.
42751 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42752 (grub_script.tab.c): ... here.
42754 * normal/command.c (grub_command_find): Fixed a memory leak of
42755 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42757 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42759 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42760 "@" which marks the start of a comment on ARM.
42761 (VARIABLE): Likewise.
42763 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42765 Add support for Linux/ADFS partition tables.
42767 * partmap/acorn.c: New file.
42769 * include/grub/acorn_filecore.h: Likewise.
42771 * DISTLIST: Added `partmap/acorn.c' and
42772 `include/grub/acorn_filecore.h'.
42774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42776 (pkgdata_MODULES): Add `acorn.mod'.
42777 (acorn_mod_SOURCES): New variable.
42778 (acorn_mod_CFLAGS): Likewise.
42780 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42782 (pkgdata_MODULES): Add `acorn.mod'.
42783 (acorn_mod_SOURCES): New variable.
42784 (acorn_mod_CFLAGS): Likewise.
42786 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42787 (pkgdata_MODULES): Add `acorn.mod'.
42788 (acorn_mod_SOURCES): New variable.
42789 (acorn_mod_CFLAGS): Likewise.
42790 (acorn_mod_LDFLAGS): Likewise.
42792 * include/types.h (grub_disk_addr_t): New typedef.
42794 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
42796 * geninit.sh: New file.
42798 * geninitheader.sh: Likewise.
42800 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42801 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42802 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42803 * commands/configfile.c (grub_configfile_init)
42804 (grub_configfile_fini): Likewise.
42805 * commands/default.c (grub_default_init, grub_default_fini):
42807 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42808 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42809 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42810 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42812 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42813 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42815 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
42816 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
42818 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42820 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
42822 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42823 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42824 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42825 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42826 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42827 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42828 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42829 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42830 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42831 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42832 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42833 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42834 * partmap/amiga.c (grub_amiga_partition_map_init)
42835 (grub_amiga_partition_map_fini): Likewise.
42836 * partmap/apple.c (grub_apple_partition_map_init)
42837 (grub_apple_partition_map_fini): Likewise.
42838 * partmap/pc.c (grub_pc_partition_map_init)
42839 (grub_pc_partition_map_fini): Likewise.
42840 * partmap/sun.c (grub_sun_partition_map_init,
42841 grub_sun_partition_map_fini): Likewise.
42842 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42845 * util/grub-emu.c: Include <grub_modules_init.h>.
42846 (main): Don't initialize and de-initialize any modules directly,
42847 use `grub_init_all' and `grub_fini_all' instead.
42849 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42850 `grub_vesafb_mod_init'.
42851 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42853 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42854 `grub_vga_mod_init'. Updated all users.
42855 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
42857 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42858 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42861 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42862 Generate a function to initialize the module in utilities.
42863 Updated all callers.
42864 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42865 initialize the module in utilities. Updated all callers.
42867 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42869 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42870 escape sequence and a literal ^L to clear the screen.
42872 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42873 when returning from Open Firmware.
42875 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42877 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42878 (grub_ofconsole_height): Likewise.
42879 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42880 manually insert a '\n'.
42881 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42882 `grub_ofconsole_height'. Return early if these are already set.
42884 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42886 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42887 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42888 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42889 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42890 and `normal/script.c'.
42891 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42892 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42893 (test_mod_SOURCES): New variable.
42894 (test_mod_CFLAGS): Likewise.
42895 (test_mod_LDFLAGS): Likewise.
42896 (pkgdata_MODULES): Add `test.mod'.
42897 (grub_script.tab.c): New rule.
42898 (grub_script.tab.h): Likewise.
42900 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
42902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42903 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42904 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42905 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42906 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42907 (test_mod_SOURCES): New variable.
42908 (test_mod_CFLAGS): Likewise.
42909 (pkgdata_MODULES): Add `test.mod'.
42910 (grub_script.tab.c): New rule.
42911 (grub_script.tab.h): Likewise.
42913 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
42915 Add initial scripting support.
42917 * commands/test.c: New file.
42918 * include/grub/script.h: Likewise.
42919 * normal/execute.c: Likewise.
42920 * normal/function.c: Likewise.
42921 * normal/lexer.c: Likewise.
42922 * normal/parser.y: Likewise.
42923 * normal/script.c: Likewise.
42925 * configure.ac: Add `AC_PROG_YACC' test.
42927 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
42928 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
42929 `normal/function.c' and `normal/script.c'.
42930 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42931 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42932 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
42934 (pkgdata_MODULES): Add `test.mod'.
42935 (grub_script.tab.c): New rule.
42936 (grub_script.tab.h): Likewise.
42938 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
42940 * include/grub/normal.h (grub_test_init): New prototype.
42941 (grub_test_fini): Likewise.
42943 * normal/command.c: Include <grub/script.h>.
42944 (grub_command_execute): Rewritten.
42946 * util/grub-emu.c (main): Call `grub_test_init' and
42949 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42951 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
42953 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
42954 there are no pending characters.
42956 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42958 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
42959 `grub_strndup' to drop device arguments. Replace unnecessary
42960 `grub_strndup' with `grub_strdup'.
42962 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42964 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
42965 `debug' environment variable has been set.
42967 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
42969 * Makefile.in (install-local): Use $(DATA).
42970 (uninstall): Likewise.
42971 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
42972 (sbin_UTILITIES): ... to here.
42973 (sbin_SCRIPTS): New variable.
42974 (grub_install_SOURCES): New variable.
42975 * util/powerpc/ieee1275/grub-install.in: New file.
42976 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
42978 (add_segments): Call `grub_util_get_path'.
42980 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42982 From Timothy Baldwin:
42983 * commands/ls.c (grub_ls_list_files): Close FILE with
42985 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
42987 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
42989 * include/grub/parser.h: New file.
42991 * kern/parser.c: Likewise.
42993 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
42994 (grub_setup_SOURCES): Likewise.
42995 (grub_probefs_SOURCES): Likewise.
42996 (grub_emu_SOURCES): Likewise.
42997 (kernel_img_HEADERS): Add `parser.h'.
42999 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43000 (grub_emu_SOURCES): Add `kern/parser.c'.
43001 (grubof_SOURCES): Likewise.
43003 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43004 (grubof_SOURCES): Add `kern/parser.c'.
43006 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43008 * kern/misc.c (grub_split_cmdline): Removed function.
43010 * kern/rescue.c: Include <grub/parser.h>.
43011 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43012 of `grub_split_cmdline'.
43014 * normal/command.c: Include <grub/parser.h>.
43015 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43016 of `grub_split_cmdline'.
43018 * normal/completion.c: Include <grub/parser.h>.
43019 (cmdline_state): New variable.
43020 (iterate_dir): End the filename with a quote depending on the
43021 command line state.
43022 (get_state): new function.
43023 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43024 split the arguments and determine the current argument. When the
43025 argument string is not quoted, escape all spaces.
43027 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43029 * normal/sparc64/setjmp.S: New file.
43031 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43033 * include/grub/sparc64/libgcc.h: New file.
43034 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43035 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43036 normal/sparc64/setjmp.c.
43038 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43040 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43041 * kern/sparc64/cache.S: New file.
43042 * kern/sparc64/cache.c: Removed.
43043 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43044 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43046 (COMMON_LDFLAGS): Add -melf64_sparc.
43047 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43048 (grubof_SOURCES): Use cache.S instead of cache.c.
43049 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43050 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43051 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43053 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43054 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43055 (linux_mod_CFLAGS): Commented out.
43056 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43057 out because module isn't built.
43058 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43059 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43060 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43061 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43062 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43063 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43064 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43065 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43066 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43067 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43068 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43069 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43070 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43071 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43073 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43075 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43076 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43077 longer, because HFS should not be used on PC.
43079 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43081 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43082 consistently within the loop.
43084 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
43086 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43087 directory can not be read.
43089 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43091 * configure.ac (AC_INIT): Increase the version number to 1.91.
43093 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43094 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43095 term/i386/pc/serial.c.
43097 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43099 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43100 file size must be permitted.
43102 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43103 between %ah and %al.
43105 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43107 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43109 Call the hook with a NUL-terminated filename.
43110 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43113 * kern/term.c (cursor_state): New variable.
43114 (grub_term_set_current): Reset the cursor state on a new
43116 (grub_setcursor): Rewritten to use CURSOR_STATE.
43117 (grub_getcursor): New function.
43119 * include/grub/term.h (grub_getcursor): New prototype.
43121 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43122 integers on ARM. Reported by Timothy Baldwin
43123 <T.E.Baldwin99@members.leeds.ac.uk>.
43125 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
43127 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43129 (grub_sfs_dir): Likewise.
43131 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
43133 Add support for the SFS filesystem.
43135 * fs/sfs.c: New file.
43137 * DISTLIST: Added `fs/sfs.c'.
43139 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43140 (grub_probefs_SOURCES): Likewise.
43141 (grub_emu_SOURCES): Likewise.
43142 (pkgdata_MODULES): Add `sfs.mod'.
43143 (sfs_mod_SOURCES): New variable.
43144 (sfs_mod_CFLAGS): Likewise.
43145 (sfs_mod_LDFLAGS): Likewise.
43147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43148 (pkgdata_MODULES): Add `sfs.mod'.
43149 (sfs_mod_SOURCES): New variable.
43150 (sfs_mod_CFLAGS): Likewise.
43152 * util/grub-emu.c (main): Call `grub_sfs_init' and
43155 * include/grub/fs.h (grub_sfs_init): New prototype.
43156 (grub_sfs_fini): Likewise.
43158 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
43160 Add support for the AFFS filesystem.
43162 * fs/affs.c: New file.
43164 * DISTLIST: Added `fs/affs.c'.
43166 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43167 (grub_probefs_SOURCES): Likewise.
43168 (grub_emu_SOURCES): Likewise.
43169 (pkgdata_MODULES): Add `affs.mod'.
43170 (affs_mod_SOURCES): New variable.
43171 (affs_mod_CFLAGS): Likewise.
43172 (affs_mod_LDFLAGS): Likewise.
43174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43175 (pkgdata_MODULES): Add `affs.mod'.
43176 (affs_mod_SOURCES): New variable.
43177 (affs_mod_CFLAGS): Likewise.
43179 * util/grub-emu.c (main): Call `grub_affs_init' and
43182 * include/grub/fs.h (grub_affs_init): New prototype.
43183 (grub_affs_fini): Likewise.
43185 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43187 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43189 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43191 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43194 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43197 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43198 (COMMON_LDFLAGS): New variable.
43199 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43200 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43201 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43202 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43203 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43204 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43205 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43206 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43207 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43208 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43209 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43210 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43211 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43212 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43213 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43215 (normal_mod_ASFLAGS): Add `-m32'.
43217 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43218 (grub_host_size_t, grub_host_ssize_t): New types.
43219 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
43220 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
43221 `GRUB_HOST_SIZEOF_VOID_P'.
43223 * include/grub/kernel.h (struct grub_module_header): Type of
43224 member offset changed to `grub_host_off_t'. Type of member size
43225 changed to `grub_host_size_t'.
43226 (struct grub_module_info): Type of member offset changed to
43227 `grub_host_off_t'. Type of member size changed to
43228 `grub_host_size_t'.
43230 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43232 Make GRUB's kernel compliant to Multiboot Specification.
43234 * kern/i386/pc/startup.S (multiboot_header): New label.
43235 (multiboot_entry): Likewise.
43236 (multiboot_trampoline): Likewise.
43238 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43239 Increased to 0x4A0.
43241 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43242 put parentheses after a question mark.
43243 [!GRUB_UTIL] (my_mod): New variable.
43245 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43247 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
43249 Adds support for the XFS filesystem. Btrees are not supported
43252 * fs/xfs.c: New file.
43254 * DISTLIST: Added `fs/xfs.c'.
43256 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43257 (grub_probefs_SOURCES): Likewise.
43258 (grub_emu_SOURCES): Likewise.
43259 (pkgdata_MODULES): Add `xfs.mod'.
43260 (xfs_mod_SOURCES): New variable.
43261 (xfs_mod_CFLAGS): Likewise.
43263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43264 (pkgdata_MODULES): Add `xfs.mod'.
43265 (xfs_mod_SOURCES): New variable.
43266 (xfs_mod_CFLAGS): Likewise.
43268 * util/grub-emu.c (main): Call `grub_xfs_init' and
43271 * include/grub/fs.h (grub_xfs_init): New prototype.
43272 (grub_xfs_fini): Likewise.
43275 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43277 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43278 color modes, allow greater than 16 colors to be configured as
43281 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43283 * normal/completion.c (complete_arguments): Add the qualifier
43284 const into OPTIONS.
43286 From Omniflux <omniflux+lists@omniflux.com>:
43287 * include/grub/terminfo.h: New file.
43288 * include/grub/tparm.h: Likewise.
43289 * include/grub/i386/pc/serial.h: Likewise.
43290 * term/terminfo.c: Likewise.
43291 * term/tparm.c: Likewise.
43292 * term/i386/pc/serial.c: Likewise.
43293 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43295 (terminfo_mod_SOURCES): New variable.
43296 (terminfo_mod_CFLAGS): Likewise.
43297 (serial_mod_SOURCES): Likewise.
43298 (serial_mod_CFLAGS): Likewise.
43300 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43302 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43303 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43304 and kern/powerpc/ieee1275/cmain.c, respectively.
43306 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43307 * kern/powerpc/ieee1275/crt0.S: ... here.
43309 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43310 * kern/powerpc/ieee1275/cmain.c: ... here.
43312 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43313 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43314 instead of boot/powerpc/ieee1275/crt0.S and
43315 boot/powerpc/ieee1275/cmain.c, respectively.
43317 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43318 sectors. It was not used anyway.
43320 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43322 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43323 `unused parameter' warning.
43325 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43327 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43329 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43332 2005-08-28 Marco Gerards <metgerards@student.han.nl>
43334 * include/grub/normal.h (enum grub_completion_type): Added
43335 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43337 * normal/cmdline.c (print_completion): Handle
43338 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43339 * normal/menu_entry.c (store_completion): Likewise.
43341 * normal/completion.c (complete_arguments): New function.
43342 (grub_normal_do_completion): Call `complete_arguments' when the
43343 current words start with a dash.
43345 2005-08-27 Marco Gerards <metgerards@student.han.nl>
43347 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43348 `gzio.mod' instead of `io.mod').
43350 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43352 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43353 (DISTDIRS): Added io and video.
43354 Rewrite the search routine to make an output consistently.
43356 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43357 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43358 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43359 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43360 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43361 util/powerpc/ieee1275/misc.c.
43363 * include/grub/gzio.h: New file.
43364 * io/gzio.c: Likewise.
43366 * kern/file.c (grub_file_close): Call grub_device_close only if
43367 FILE->DEVICE is not NULL.
43369 * include/grub/mm.h [!NULL] (NULL): New macro.
43371 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43373 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43374 (pkgdata_MODULES): Added gzio.mod.
43375 (gzio_mod_SOURCES): New variable.
43376 (gzio_mod_CFLAGS): Likewise.
43378 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43379 (pkgdata_MODULES): Added gzio.mod.
43380 (gzio_mod_SOURCES): New variable.
43381 (gzio_mod_CFLAGS): Likewise.
43383 * commands/cat.c: Include grub/gzio.h.
43384 (grub_cmd_cat): Use grub_gzfile_open instead of
43387 * commands/cmp.c: Include grub/gzio.h.
43388 (grub_cmd_cmp): Use grub_gzfile_open instead of
43391 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43392 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43394 (grub_rescue_cmd_module): Likewise.
43396 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43398 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43399 kern/sparc64/ieee1275/init.c because it contains _start.
43400 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43402 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43404 * configure.ac: Add support for sparc64 host with ieee1275
43406 * configure: Generated from configure.ac.
43407 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43409 (grub_ofdisk_read): Likewise.
43410 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43411 pointers as (void *) to remove a warning.
43412 (grub_ofdisk_close): Likewise.
43413 (grub_ofdisk_read): Likewise.
43414 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43415 returns, so make it return void to remove a warning.
43416 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43417 Corresponding prototype change.
43418 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43419 values, and cast the pointers as (void *) to remove a warning.
43420 (grub_mm_dump): Likewise.
43421 * conf/sparc64-ieee1275.mk: New file.
43422 * conf/sparc64-ieee1275.rmk: Likewise.
43423 * include/grub/sparc64/setjmp.h: Likewise.
43424 * include/grub/sparc64/types.h: Likewise.
43425 * include/grub/sparc64/ieee1275/console.h: Likewise.
43426 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43427 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43428 * include/grub/sparc64/ieee1275/time.h: Likewise.
43429 * kern/sparc64/cache.c: Likewise.
43430 * kern/sparc64/dl.c: Likewise.
43431 * kern/sparc64/ieee1275/init.c: Likewise.
43432 * kern/sparc64/ieee1275/openfw.c: Likewise.
43434 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43436 * util/console.c (grub_ncurses_putchar): If C is greater than
43437 0x7f, set C to a question mark.
43438 (grub_ncurses_getcharwidth): New function.
43439 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43442 * normal/menu.c (print_entry): Made aware of Unicode. First,
43443 convert TITLE to UCS-4, and predict the cursor position by
43446 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43448 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43450 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43452 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43453 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43456 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43457 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43458 grub_strcpy and grub_strlen. Take it into account that a space
43459 character is inserted as a delimiter.
43461 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43463 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
43464 invalid magic in the error.
43466 * commands/search.c: New file.
43468 * util/grub-emu.c (main): Call grub_search_init and
43471 * kern/rescue.c (grub_rescue_print_disks): Removed.
43472 (grub_rescue_print_devices): New function.
43473 (grub_rescue_cmd_ls): Use grub_device_iterate with
43474 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43475 grub_rescue_print_disks.
43477 * kern/partition.c (grub_partition_iterate): Return the result of
43478 PARTMAP->ITERATE instead of GRUB_ERRNO.
43480 * kern/device.c: Include grub/partition.h.
43481 (grub_device_iterate): New function.
43483 * include/grub/partition.h (grub_partition_iterate): Return int
43484 instead of grub_err_t.
43486 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43488 [GRUB_UTIL] (grub_search_fini): Likewise.
43490 * include/grub/device.h (grub_device_iterate): New prototype.
43492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43494 (pkgdata_MODULES): Added search.mod.
43495 (search_mod_SOURCES): New variable.
43496 (search_mod_CFLAGS): Likewise.
43498 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43499 (pkgdata_MODULES): Added search.mod.
43500 (search_mod_SOURCES): New variable.
43501 (search_mod_CFLAGS): Likewise.
43503 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43504 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43505 All callers changed.
43507 * DISTLIST: Added commands/search.c.
43509 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43511 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43513 (grub_getcharwidth): New function.
43515 * kern/misc.c (grub_utf8_to_ucs4): New function.
43517 * include/grub/term.h (struct grub_term): Added a new member
43519 (grub_getcharwidth): New prototype.
43521 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43523 * term/i386/pc/console.c (map_char): New function. Segregated from
43524 grub_console_putchar.
43525 (grub_console_putchar): Use map_char.
43526 (grub_console_getcharwidth): New function.
43527 (grub_console_term): Specified grub_console_getcharwidth as
43530 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43531 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43533 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43535 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43536 on grub_strtoul completely.
43537 (write_char): Declare local variables in the beginning of the
43539 (grub_vesafb_getcharwidth): New function.
43540 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43543 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43545 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43546 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43547 commands/i386/pc/vbetest.c.
43549 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43550 call grub_vbe_get_controller_info again, because the returned
43551 information is volatile.
43552 (grub_vbe_set_video_mode): Mostly rewritten.
43553 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43554 grub_vbe_status_t correctly.
43555 (grub_vbe_get_video_mode_info): Likewise.
43556 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43557 several if statements.
43559 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43560 * commands/i386/pc/vbeinfo.c: ... this.
43562 * commands/i386/pc/vbe_test.c: Renamed to ...
43563 * commands/i386/pc/vbetest.c: ... this.
43565 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43567 (grub_cmd_vbeinfo): ... this. Save video modes before
43568 iterating. Skip a video mode, if it is not available, not enough
43569 information is given or it is monochrome. Show the memory
43570 model. Leave the interpretation of MODEVAR to grub_strtoul
43572 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43573 (GRUB_MOD_FINI): Likewise.
43575 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43576 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43577 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43578 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43579 grub_strtoul completely.
43580 (real2pm): Removed.
43581 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43582 (GRUB_MOD_FINI): Likewise.
43584 * normal/misc.c: Include grub/mm.h.
43586 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43587 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43588 (vbe_list_modes_mod_SOURCES): Removed.
43589 (vbe_list_modes_mod_CFLAGS): Likewise.
43590 (vbe_test_mod_SOURCES): Likewise.
43591 (vbe_test_mod_CFLAGS): Likewise.
43592 (vbeinfo_mod_SOURCES): New variable.
43593 (vbeinfo_mod_CFLAGS): Likewise.
43594 (vbetest_mod_SOURCES): Likewise.
43595 (vbetest_mod_CFLAGS): Likewise.
43597 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43599 * normal/misc.c: New file.
43601 * DISTLIST: Added normal/misc.c.
43603 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43604 DISK to HOOK. Call HOOK with DISK.
43605 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43606 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43607 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43609 * normal/menu_entry.c (struct screen): Added a new member
43610 "completion_shown".
43611 (completion_buffer): New global variable.
43612 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43613 (store_completion): New function.
43614 (complete): Likewise.
43615 (clear_completions): Likewise.
43616 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43617 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43618 a tab, call complete.
43620 * normal/completion.c (disk_dev): Removed.
43621 (print_simple_completion): Likewise.
43622 (print_partition_completion): Likewise.
43623 (print_func): New global variable.
43624 (add_completion): Do not take the arguments WHAT or PRINT any
43625 longer. Added a new argument TYPE. Instead of printing directly,
43626 call PRINT_FUNC if not NULL.
43627 All callers changed.
43628 (complete_device): Use a local variable DEV instead of
43629 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43630 (grub_normal_do_completion): Take a new argument HOOK. Do not
43631 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43632 empty string, return NULL instead.
43633 All callers changed.
43635 * normal/cmdline.c (print_completion): New function.
43637 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43639 All callers changed.
43641 * kern/disk.c (grub_print_partinfo): Removed.
43643 * include/grub/partition.h (struct grub_partition_map): Add a new
43644 argument DISK into HOOK of ITERATE.
43645 (grub_partition_iterate): Add a new argument DISK to HOOK.
43647 * include/grub/normal.h (enum grub_completion_type): New enum.
43648 (grub_completion_type_t): New type.
43649 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43650 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43651 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43652 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43653 (grub_normal_do_completion): Added a new argument HOOK.
43654 (grub_normal_print_device_info): New prototype.
43656 * include/grub/disk.h (grub_print_partinfo): Removed.
43658 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43659 (normal_mod_SOURCES): Likewise.
43660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43661 (normal_mod_SOURCES): Likewise.
43663 * commands/ls.c (grub_ls_list_disks): Use
43664 grub_normal_print_device_info instead of grub_print_partinfo. Free
43666 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43667 duplicating the code.
43669 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43671 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
43672 follow GCS more precisely.
43673 * commands/i386/pc/vbe_test.c: Likewise.
43674 * include/grub/i386/pc/vbe.h: Likewise.
43675 * term/i386/pc/vesafb.c: Likewise.
43676 * video/i386/pc/vbe.c: Likewise.
43678 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43680 * DISTLIST: Added term/i386/pc/vesafb.c
43681 DISTLIST: Added video/i386/pc/vbe.c
43682 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43683 DISTLIST: Added commands/i386/pc/vbe_test.c.
43684 * commands/i386/pc/vbe_list_modes.c: New file.
43685 * commands/i386/pc/vbe_test.c: Likewise.
43686 * term/i386/pc/vesafb.c: Likewise.
43687 * video/i386/pc/vbe.c: Likewise.
43688 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43689 (grub_vbe_probe) Added prototype.
43690 (grub_vbe_set_video_mode) Likewise.
43691 (grub_vbe_get_video_mode) Likewise.
43692 (grub_vbe_get_video_mode_info) Likewise.
43693 (grub_vbe_set_pixel_rgb) Likewise.
43694 (grub_vbe_set_pixel_index) Likewise.
43695 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43696 (pkgdata_MODULES): Added vesafb.mod.
43697 (pkgdata_MODULES): Added vbe_list_modes.mod.
43698 (pkgdata_MODULES): Added vbe_test.mod.
43699 (vbe_mod_SOURCES): Added.
43700 (vbe_mod_CFLAGS): Likewise.
43701 (vesafb_mod_SOURCES): Likewise.
43702 (vesafb_mod_CFLAGS): Likewise.
43703 (vbe_list_modes_mod_SOURCES): Likewise.
43704 (vbe_list_modes_mod_CFLAGS): Likewise.
43705 (vbe_test_mod_SOURCES): Likewise.
43706 (vbe_test_mod_CFLAGS): Likewise.
43708 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43710 * normal/command.c (grub_command_execute): If INTERACTIVE is
43711 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43712 CMDLINE. Disable the pager if INTERACTIVE is true.
43713 All callers are changed.
43715 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43716 before reading a config file.
43717 * normal/main.c (read_config_file): Even if a command is not
43718 found, register it if it is within an entry.
43720 * util/grub-emu.c: Include sys/types.h and unistd.h.
43721 (options): Added --hold.
43722 (struct arguments): Added a new member "hold".
43723 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43725 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43726 cleared by a debugger, if it is not zero.
43728 * include/grub/normal.h (grub_command_execute): Add an argument
43731 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43733 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43735 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43737 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43738 program with another one, because the old one didn't detect a bug
43739 in gcc-3.4. Always use regparm 2, because the new test is still
43740 not enough for gcc-4.0. Someone must investigate a simple test
43741 case which detects a bug in gcc-4.0.
43743 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43745 * DISTLIST: Added normal/completion.c.
43747 * normal/completion.c: New file.
43749 * term/i386/pc/console.c (grub_console_getwh): New function.
43750 (grub_console_term): Assign grub_console_getwh to getwh.
43752 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43753 function is defined in normal/completion.c as
43754 grub_normal_do_completion.
43755 (grub_cmdline_get): Use grub_normal_do_completion instead of
43758 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43759 returns non-zero, otherwise return 0.
43760 (grub_partition_iterate): First, probe the partition map. Then,
43761 call ITERATE only for this partition map.
43763 * kern/misc.c (grub_strncmp): Rewritten.
43765 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43766 returns non-zero. Otherwise return 0.
43768 * include/grub/partition.h (grub_partition_map_iterate): Return
43769 int instead of void.
43771 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43773 * include/grub/misc.h (grub_strncmp): Change the type of N to
43776 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43779 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
43780 unsigned explicitly before comparing it with I.
43782 * kern/main.c (grub_env_write_root): Add the attribute unused into
43785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43786 normal/completion.c.
43787 (normal_mod_SOURCES): Likewise.
43788 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43789 (normal_mod_SOURCES): Likewise.
43791 * normal/command.c (grub_iterate_commands): If ITERATE returns
43792 non-zero, return one immediately.
43794 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43796 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43797 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43799 (grub_vbe_get_controller_info): New function.
43800 (grub_vbe_get_mode_info): Likewise.
43801 (grub_vbe_set_mode): Likewise.
43802 (grub_vbe_get_mode): Likewise.
43803 (grub_vbe_set_memory_window): Likewise.
43804 (grub_vbe_get_memory_window): Likewise.
43805 (grub_vbe_set_scanline_length): Likewise.
43806 (grub_vbe_get_scanline_length): Likewise.
43807 (grub_vbe_set_display_start): Likewise.
43808 (grub_vbe_get_display_start): Likewise.
43809 (grub_vbe_set_palette_data): Likewise.
43810 * include/grub/i386/pc/vbe.h: New file.
43812 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43814 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43815 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43816 * DISTLIST: Likewise.
43817 * kern/ieee1275/of.c: Moved to ...
43818 * kern/ieee1275/ieee1275.c: ... here.
43820 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43822 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43823 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43824 Pass 0 as `end' parameter to grub_strtoul().
43826 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43828 * include/grub/powerpc/ieee1275/console.h: Do not include
43829 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43831 (grub_console_cur_color): Remove i386-specific prototype.
43832 (grub_console_real_putchar): Likewise.
43833 (grub_console_checkkey): Likewise.
43834 (grub_console_getkey): Likewise.
43835 (grub_console_getxy): Likewise.
43836 (grub_console_gotoxy): Likewise.
43837 (grub_console_cls): Likewise.
43838 (grub_console_setcursor): Likewise.
43839 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43840 Include <grub/machine/console.h>.
43841 * term/ieee1275/ofconsole.c: Likewise.
43843 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43845 * Makefile.in (LIBLZO): New variable.
43847 * configure.ac: Check for LZO version 2.
43849 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43850 lzo/lzo1x.h instead of lzo1x.h.
43852 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43855 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43856 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43858 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43859 copying the data from PARTITION to P.
43861 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43863 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43864 negative, unload the module.
43866 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43867 map is "pc_partition_map" but not "pc".
43868 (usage): Fix the description. The options are --boot-image and
43869 --core-image but not --boot-file or --core-file.
43870 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43871 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43874 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43875 --core-file. Specify INSTALL_DEVICE as an argument.
43877 * util/console.c: Include config.h.
43878 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43879 [HAVE_NCURSES_H]: Include ncurses.h.
43880 [HAVE_CURSES_H]: Include curses.h.
43881 [!A_NORMAL] (A_NORMAL): Defined as zero.
43882 [!A_STANDOUT] (A_STANDOUT): Likewise.
43884 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43886 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43888 * configure.ac: Check for curses libraries and headers.
43890 * Makefile.in (LIBCURSES): New variable.
43892 * genmk.rb (Script::rule): Set the executable bits.
43894 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43895 name of the PC partition map is "pc_partition_map" but not "pc".
43897 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43899 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43900 (modules): Likewise.
43901 (usage): Added descriptions for --modules and --grub-probefs.
43902 Handle --modules and --grub-probefs. Save the arguments in MODULES
43903 and GRUB_PROBEFS, respectively.
43904 Auto-detect a filesystem module against GRUBDIR. If the result is
43905 empty and modules are not specified explicitly, abort the
43906 installation. Add the result to MODULES.
43908 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43909 disk/powerpc/ieee1275/ofdisk.c,
43910 include/grub/powerpc/ieee1275/init.h and
43911 term/powerpc/ieee1275/ofconsole.c.
43912 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
43913 term/ieee1275/ofconsole.c.
43915 * include/grub/powerpc/ieee1275/console.h: Resurrected.
43917 * COPYING: Upgraded to the latest version. Only the address of the
43918 FSF office has changed.
43920 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43922 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43923 kern/ieee1275.c with kern/ieee1275/of.c.
43925 * kern/ieee1275.c: Moved to ...
43926 * kern/ieee1275/of.c: ... here.
43928 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
43930 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
43933 * config.guess: Updated to the latest version from gnulib.
43934 * config.sub: Likewise.
43935 * install.sh: Likewise.
43936 * mkinstalldirs: Likewise.
43938 * include/grub/console.h: Removed. This file is arch-specific. Do
43939 not put this in include/grub.
43941 * include/grub/i386/pc/console.h: Resurrected.
43943 * util/console.c: Include grub/machine/console.h instead of
43945 * util/grub-emu.c: Likewise.
43947 2005-08-04 Marco Gerards <metgerards@student.han.nl>
43949 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
43952 From Vincent Pelletier <subdino2004@yahoo.fr>
43953 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
43954 Redefined to use grub_getwh.
43955 (grub_term): New member named getwh.
43956 (grub_getwh): New prototype.
43957 * kern/term.c (grub_getwh): New function.
43958 * term/i386/pc/console.c (grub_console_getwh): New function.
43959 (grub_console_term): New member `getwh'.
43960 * term/i386/pc/vga.c (grub_vga_getwh): New function.
43961 (grub_vga_term): New member `getwh'.
43962 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
43964 (grub_ofconsole_getw): New function.
43965 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
43966 (grub_ofconsole_term): New field named getwh and new initial
43969 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
43971 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
43972 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
43973 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
43974 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
43975 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
43976 of <grub/machine/ieee1275.h>.
43977 * commands/ieee1275/reboot.c: Likewise.
43978 * boot/powerpc/ieee1275/ieee1275.c: Move ...
43979 * kern/ieee1275.c: ... to here. All users updated. Change all
43980 parameter structs to use new type `grub_ieee1275_cell_t'.
43981 * term/powerpc/ieee1275/ofconsole.c: Move ...
43982 * term/ieee1275/ofconsole.c: ... to here. All users updated.
43983 * disk/powerpc/ieee1275/ofdisk.c: Move ...
43984 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
43985 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
43987 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
43988 Remove unused prototypes. All users updated.
43989 * include/grub/powerpc/ieee1275/console.h: Removed.
43990 * include/grub/powerpc/ieee1275/ieee1275.h: Define
43991 `grub_ieee1275_cell_t'.
43992 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
43993 Cast comparisons with -1 to the correct type.
43994 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
43995 type to match `grub_ieee1275_entry_fn'.
43997 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
43999 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44001 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44002 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44004 (grub_probefs_SOURCES): New variable.
44006 * util/i386/pc/grub-probefs.c: New file.
44008 * util/i386/pc/grub-setup.c (main): Call
44009 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44010 grub_hfs_init and grub_jfs_init to initialize the system. Call
44011 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44012 grub_pc_partition_map_fini to finish the system.
44014 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44016 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44018 (grub_multiboot_load_elf32): Likewise.
44019 (grub_multiboot_is_elf64): Likewise.
44020 (grub_multiboot_load_elf64): Likewise.
44021 (grub_multiboot_load_elf): Likewise.
44022 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44023 an ELF32 or ELF64 file.
44024 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44026 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44027 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44028 NULL before calling FS->LABEL.
44029 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44030 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44031 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44032 before calling FS->LABEL.
44034 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44036 * util/i386/pc/grub-install.in (datadir): New variable.
44038 (pkgdatadir): New variable.
44039 (pkglibdir): Removed.
44041 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44043 * DISTLIST: Added util/i386/pc/grub-install.in.
44045 * util/i386/pc/grub-install.in: New file.
44047 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44048 (grub_install_SOURCES): Likewise.
44050 * genmk.rb: Added support for scripts.
44051 (Script): New class.
44052 (scripts): New variable.
44054 * Makefile.in (install-local): Install sbin_SCRIPTS by
44056 (uninstall): Remove sbin_SCRIPTS.
44058 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44059 device, try to get a GRUB device by
44060 grub_util_biosdisk_get_grub_dev.
44063 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44064 description for --device-map.
44066 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44068 Change the semantics of variable hooks. They now return strings
44069 instead of error values.
44071 * util/i386/pc/grub-setup.c: Include grub/env.h.
44072 (setup): Use grub_device_set_root instead of grub_env_set.
44074 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44075 grub_env_get instead of grub_device_set_root and
44076 grub_device_get_root, respectively.
44078 * kern/main.c (grub_env_write_root): New function.
44079 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44080 grub_env_set instead of grub_device_set_root.
44082 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44084 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44085 rather than calling ENV->WRITE_HOOK afterwards.
44086 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44087 passing a pointer of a pointer.
44088 (grub_register_variable_hook): Change the types of "read_hook" and
44089 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44091 Allocate the default empty string on the heap, because this string
44092 may be freed later.
44094 * kern/device.c: Include grub/env.h.
44095 (grub_device_set_root): Removed.
44096 (grub_device_get_root): Likewise.
44097 (grub_device_open): Use grub_env_get instead of
44098 grub_device_get_root.
44100 * include/grub/env.h (grub_env_read_hook_t): New type.
44101 (grub_env_write_hook_t): Likewise.
44102 (grub_env_var): Change the types of "read_hook" and "write_hook"
44103 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44104 (grub_register_variable_hook): Likewise.
44106 * include/grub/device.h (grub_device_set_root): Removed.
44107 (grub_device_set_root): Likewise.
44109 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44110 make sure that DIRNAME terminates with '/', so that
44111 grub_fat_find_dir will fail if PATH is not a directory.
44113 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44115 Use the qualifier auto for print_files and print_files_long.
44116 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44118 Put a newline only if there is no error.
44119 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44122 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44124 * kern/partition.c (grub_partition_probe): Initialize PART to
44125 NULL. Otherwise, when no partition map is registered, this returns
44128 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44130 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44131 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44134 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44136 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44137 information on each device, if it does not have partitions. Print
44138 "Device" instead of "Disk", because this function is not specific
44141 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44142 static to ensure that it is put on the memory rather than a
44145 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44147 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44148 (grub_cat_init): Likewise.
44149 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44150 (options): Likewise.
44151 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44152 (grub_configfile_init): Likewise.
44153 * font/manager.c (GRUB_MOD_INIT): Likewise.
44154 * commands/help.c (GRUB_MOD_INIT): Likewise.
44155 (grub_help_init): Likewise.
44156 * normal/command.c (grub_command_init): Likewise.
44157 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44158 * disk/loopback.c (grub_loop_init): Likewise.
44159 (GRUB_MOD_INIT): Likewise.
44160 * commands/ls.c (grub_ls_init): Likewise.
44161 (GRUB_MOD_INIT): Likewise.
44162 (options): Likewise.
44163 * commands/boot.c (grub_boot_init): Likewise.
44164 (GRUB_MOD_INIT): Likewise.
44165 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44166 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44167 (GRUB_MOD_INIT): Likewise.
44168 * commands/cmp.c (grub_cmp_init): Likewise.
44169 (GRUB_MOD_INIT): Likewise.
44171 * normal/arg.c: Use <> instead of "" to include header files.
44172 (SHORT_ARG_HELP): New macro.
44173 (SHORT_ARG_USAGE): Likewise.
44174 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44175 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44177 (find_short): Check if C is 'h' or 'u' explicitly.
44178 (grub_arg_show_help): Use space characters instead of tabs. Treat
44179 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44180 are shown with --help and --usage only if they are not used for
44181 the command itself.
44182 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44185 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44186 const into "longarg". Change the type of "shortarg" to int.
44188 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44190 * boot/i386/pc/boot.S (boot_drive_check): New label.
44192 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44195 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44196 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44198 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44200 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44201 When turning off Gate A20, skip the check and return immediately,
44202 because this is not fatal usually.
44204 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44206 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44207 be 0x7C00 instead of 0x8000.
44209 * boot/i386/pc/pxeboot.S: Rewritten.
44211 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44213 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44216 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44218 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44219 robustness. This routine now supports a BIOS call and System
44220 Control Port A to modify the gate A20.
44222 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44223 Increased to 0x440.
44225 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44227 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44228 device path and resulting ihandle.
44229 (grub_ofdisk_close): dprintf the ihandle being closed.
44230 (grub_ofdisk_read): dprintf function parameters.
44231 * kern/mm.c (grub_mm_init_region): Likewise.
44232 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44233 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44234 size, and boot arguments.
44235 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44236 before loading into memory.
44237 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44238 before loading into memory.
44240 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44242 * kern/mm.c: Added much documentation.
44243 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44244 8, set to 5 instead of 8.
44246 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44248 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44250 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44251 (grub_mkdevicemap_SOURCES): New variable.
44253 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44254 lib/device.c of GRUB Legacy.
44256 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44258 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44259 instead of PATH is NULL.
44261 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44263 * commands/cmp.c (BUFFER_SIZE): New macro.
44264 (grub_cmd_cmp): Close the right file at the right time. Compare
44265 only data just read. Don't report files of different size as
44266 identical. Dynamically allocate buffers. Move variable
44267 declarations at the beginning of function.
44269 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
44271 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44274 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44276 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44277 when backspace is pressed at beginning of line.
44279 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
44281 * DISTLIST: Added genfslist.sh.
44283 * normal/main.c (fs_module_list): New variable.
44284 (autoload_fs_module): New function.
44285 (read_fs_list): Likewise.
44286 (grub_normal_execute): Call read_fs_list.
44288 * kern/fs.c (grub_fs_autoload_hook): New variable.
44289 (grub_fs_probe): Added support for auto-loading.
44291 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44292 (grub_fs_module_list_t): New type.
44294 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44295 (grub_fs_autoload_hook): New prototype.
44297 * genfslist.sh: New file.
44299 * genmk.rb: Added a rule to generate a filesystem list.
44301 2005-06-30 Marco Gerards <metgerards@student.han.nl>
44303 * configure.ac: Fix the test for cross-compiling.
44305 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44306 define GRUB_UTIL anymore.
44308 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44309 so this function works on other systems than just big endian.
44310 (load_modules): Likewise.
44311 (add_segments): Likewise.
44313 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44315 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44316 contains `l' modifier, get a long from va_arg().
44318 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44320 * kern/mm.c (grub_free): If the next free block which is being
44321 merged is the first free block, set the first block to the block
44323 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44325 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44327 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44328 `grub_ieee1275_chosen'.
44330 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44332 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44333 (grub_ieee1275_chosen): New variable.
44334 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44336 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44337 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44338 Rename first argument to `phandle' for consistency.
44339 (grub_ieee1275_get_property_length): Likewise.
44340 (grub_ieee1275_next_property): Likewise. Change type of first argument
44341 to grub_ieee1275_phandle_t.
44342 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44343 Move export next to declaration.
44344 (grub_ieee1275_chosen): New variable.
44345 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44346 Correct cosmetic typo.
44347 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44348 `grub_ieee1275_chosen'.
44349 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44350 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44351 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44352 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44353 `grub_ieee1275_chosen'.
44355 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44357 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44359 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44360 /chosen/bootargs as "variable=value" pairs.
44362 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44364 * include/grub/misc.h (grub_dprintf): New macro.
44365 (grub_real_dprintf): New prototype.
44366 (grub_strword): Likewise.
44367 (grub_iswordseparator): Likewise.
44368 * kern/misc.c (grub_real_dprintf): New function.
44369 (grub_strword): Likewise.
44370 (grub_iswordseparator): Likewise.
44372 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44374 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44375 (roundup): Remove macro.
44376 (grub_ieee1275_flags): Make static.
44377 (grub_ieee1275_realmode): Remove.
44378 (grub_ieee1275_test_flag): New function.
44379 (grub_ieee1275_set_flag): Likewise.
44380 (find_options): Rename to `grub_ieee1275_find_options'; update
44381 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44382 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44383 (cmain): New prototype.
44384 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44385 `grub_ieee1275_flags' directly.
44386 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44387 machine/biosdisk.h.
44388 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44389 Don't include grub/machine/init.h.
44390 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44391 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44393 (grub_ieee1275_realmode): Likewise.
44394 (grub_ieee1275_flag): New enum.
44395 (grub_ieee1275_test_flag): New prototype.
44396 (grub_ieee1275_set_flag): New prototype.
44397 * include/grub/powerpc/ieee1275/init.h: Remove file.
44398 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44399 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44400 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44401 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44403 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44404 `grub_ieee1275_test_flag'.
44405 (grub_ieee1275_encode_devname): Likewise.
44407 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44409 * include/grub/powerpc/ieee1275/ieee1275.h
44410 (grub_ieee1275_encode_devname): New prototype.
44411 (grub_ieee1275_get_filename): Likewise.
44412 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44414 (grub_set_prefix): Likewise.
44415 (grub_machine_init): Call grub_set_prefix.
44416 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44417 (grub_parse_type): New enum.
44418 (grub_ieee1275_get_devargs): New function.
44419 (grub_ieee1275_get_devname): Likewise.
44420 (grub_ieee1275_parse_args): Likewise.
44421 (grub_ieee1275_get_filename): Likewise.
44422 (grub_ieee1275_encode_devname): Likewise.
44424 2005-03-30 Marco Gerards <metgerards@student.han.nl>
44426 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44427 `grub_loader_unset'.
44429 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44431 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44432 instead of grub_ieee1275_interpret.
44433 (grub_halt_init): New function.
44434 (grub_halt_fini): Likewise.
44435 (GRUB_MOD_INIT): Correct message grammar.
44436 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44437 instead of grub_ieee1275_interpret.
44438 (grub_reboot_init): New function.
44439 (grub_reboot_fini): Likewise.
44440 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44441 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44442 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44443 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44444 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44446 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44448 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44450 (grub_halt): Likewise.
44451 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44452 (cmain): Remove __attribute__((unused)).
44453 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44454 (grub_heap_len): Likewise.
44455 (grub_machine_fini): New function.
44456 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44457 (grub_halt): Likewise.
44458 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44460 * util/powerpc/ieee1275/misc.c: New file.
44462 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44464 * DISTLIST: New file.
44465 * gendistlist.sh: Likewise.
44467 * Makefile.in (COMMON_DISTFILES): Removed.
44468 (BOOT_DISTFILES): Likewise.
44469 (CONF_DISTFILES): Likewise.
44470 (DISK_DISTFILES): Likewise.
44471 (FS_DISTFILES): Likewise.
44472 (INCLUDE_DISTFILES): Likewise.
44473 (KERN_DISTFILES): Likewise.
44474 (LOADER_DISTFILES): Likewise.
44475 (TERM_DISTFILES): Likewise.
44476 (UTIL_DISTFILES): Likewise.
44477 (DISTFILES): Likewise.
44478 (uninstall): Uninstall files in $(pkgdata_DATA).
44479 (DISTLIST): New target.
44480 (distdir): Use the contents of the file DISTLIST to get a list of
44483 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44485 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44486 descriptor. This is ported from GRUB Legacy.
44488 * gencmdlist.sh: Added an extra semicolon to make it work with
44489 old sed versions. Reported by Robert Bihlmeyer
44490 <robbe@orcus.priv.at>.
44492 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
44494 Automatic loading of commands is supported.
44496 * normal/main.c (read_command_list): New function.
44497 (grub_normal_execute): Call read_command_list.
44499 * normal/command.c (grub_register_command): Return zero or CMD.
44500 Allocate CMD->NAME from the heap.
44501 Initialize CMD->MODULE_NAME to zero.
44502 Find the same name as well. If the same command is found and it is
44503 a dummy command, overwrite members. If it is not a dummy command,
44505 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44506 (grub_command_find): If a dummy command is found, load a module
44507 and retry to find a command only once.
44509 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44510 make sure that each command is loaded.
44512 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44514 (struct grub_command): Remove const from the member `name'.
44515 Add a new member `module_name'.
44516 (grub_register_command): Return grub_command_t.
44518 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44519 sure that each command is loaded.
44521 * genmk.rb (PModule::rule): Specify a module name without the
44522 suffix ".mod" to gencmdlist.sh.
44524 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44526 * gencmdlist.sh: New file.
44528 * genmk.rb (PModule::rule): Generate a rule for a command list.
44530 Generate command.lst from $(COMMANDFILES).
44532 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44533 (DATA): Added $(pkgdata_DATA).
44534 (install-local): Install files in $(pkgdata_DATA).
44536 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44538 * term/i386/pc/vga.c (debug_command): Removed.
44539 (GRUB_MOD_INIT): Do not register the command "debug".
44541 From Hollis Blanchard:
44542 * commands/configfile.c: New file.
44543 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44544 commands/configfile.c.
44545 (pkgdata_MODULES): Added configfile.mod.
44546 (configfile_mod_SOURCES): New variable.
44547 (configfile_mod_CFLAGS): Likewise.
44548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44549 commands/configfile.c.
44550 (pkgdata_MODULES): Added configfile.mod.
44551 (configfile_mod_SOURCES): New variable.
44552 (configfile_mod_CFLAGS): Likewise.
44553 * util/grub-emu.c (main): Call grub_configfile_init and
44554 grub_configfile_fini.
44555 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44557 [GRUB_UTIL] (grub_configfile_fini): Likewise.
44559 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44561 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44564 * commands/help.c (grub_cmd_help): Do not print newlines after
44565 the last command in print_command_help.
44567 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44569 * commands/default.h: New file.
44570 * commands/timeout.h: Likewise.
44571 * normal/context.c: Likewise.
44573 * util/misc.c: Do not include sys/times.h.
44574 Include sys/time.h and grub/machine/time.h.
44575 (grub_get_rtc): Rewritten with gettimeofday.
44577 * util/grub-emu.c (main): Call grub_default_init and
44578 grub_timeout_init before grub_normal_init, and call
44579 grub_timeout_fini and grub_default_fini after grub_main.
44581 * util/console.c (grub_ncurses_checkkey): Return the read
44584 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44587 * normal/main.c (read_config_file): Push MENU. If this fails,
44588 print an error and wait for a user input.
44589 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44590 If a menu is empty or an error occurs, pop MENU.
44591 (grub_normal_execute): Pop and free MENU after grub_menu_run
44594 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44596 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44598 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44600 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44602 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44605 * include/grub/normal.h (struct grub_menu_list): New struct.
44606 (grub_menu_list_t): New type.
44607 (struct grub_context): New struct.
44608 (grub_context_t): New type.
44609 (grub_register_command): Got rid of EXPORT_FUNC.
44610 (grub_unregister_command): Likewise.
44611 (grub_context_get): New prototype.
44612 (grub_context_get_current_menu): Likewise.
44613 (grub_context_push_menu): Likewise.
44614 (grub_context_pop_menu): Likewise.
44615 [GRUB_UTIL] (grub_default_init): Likewise.
44616 [GRUB_UTIL] (grub_default_fini): Likewise.
44617 [GRUB_UTIL] (grub_timeout_init): Likewise.
44618 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44620 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44621 commands/timeout.c and normal/context.c.
44622 (pkgdata_MODULES): Added default.mod and timeout.mod.
44623 (normal_mod_SOURCES): Added normal/context.c.
44624 (default_mod_SOURCES): New variable.
44625 (default_mod_CFLAGS): Likewise.
44626 (timeout_mod_SOURCES): Likewise.
44627 (timeout_mod_CFLAGS): Likewise.
44628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44630 (pkgdata_MODULES): Added default.mod and timeout.mod.
44631 (normal_mod_SOURCES): Added normal/context.c.
44632 (default_mod_SOURCES): New variable.
44633 (default_mod_CFLAGS): Likewise.
44634 (timeout_mod_SOURCES): Likewise.
44635 (timeout_mod_CFLAGS): Likewise.
44637 * Makefile.in (all-local): Added $(MKFILES).
44639 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44641 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44642 (grub_emu_SOURCES): Likewise.
44643 (pkgdata_MODULES): Add `sun.mod'.
44644 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44647 (pkgdata_MODULES): Add `sun.mod'.
44648 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44649 * include/grub/partition.h (grub_sun_partition_map_init): New
44651 (grub_sun_partition_map_fini): Likewise.
44652 * partmap/sun.c: New file.
44653 * util/grub-emu.c (main): Initialize and de-initialize the sun
44654 partitionmap support.
44656 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44658 This implements an Emacs-like menu entry editor.
44660 * normal/menu_entry.c: New file.
44662 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44663 characters to ASCII.
44664 (saved_char): New variable.
44665 (grub_ncurses_checkkey): Rewritten completely.
44666 (grub_ncurses_getkey): Likewise.
44667 (grub_ncurses_init): Call raw instead of cbreak.
44669 * normal/menu.c (print_entry): Do not put a space.
44670 (init_page): Renamed to ...
44671 (grub_menu_init_page): ... this. All callers changed.
44672 (edit_menu_entry): Removed.
44673 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44675 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44677 * kern/misc.c (grub_vprintf): Call grub_refresh.
44679 * normal/menu.c (DISP_LEFT): Renamed to ...
44680 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44681 * normal/menu.c (DISP_UP): Renamed to ...
44682 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44683 * normal/menu.c (DISP_RIGHT): Renamed to ...
44684 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44685 * normal/menu.c (DISP_DOWN): Renamed to ...
44686 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44687 * normal/menu.c (DISP_HLINE): Renamed to ...
44688 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44689 * normal/menu.c (DISP_VLINE): Renamed to ...
44690 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44691 * normal/menu.c (DISP_UL): Renamed to ...
44692 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44693 * normal/menu.c (DISP_UR): Renamed to ...
44694 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44695 * normal/menu.c (DISP_LL): Renamed to ...
44696 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44697 * normal/menu.c (DISP_LR): Renamed to ...
44698 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44699 * normal/menu.c (TERM_WIDTH): Renamed to ...
44700 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44701 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44702 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44703 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44704 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44705 * normal/menu.c (TERM_MARGIN): Renamed to ...
44706 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44707 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44708 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44709 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44710 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44711 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44712 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44713 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44714 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44715 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44716 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44717 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44718 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44719 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44720 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44721 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44722 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44723 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44724 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44725 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44726 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44727 All callers changed.
44729 * include/grub/normal.h: New prototype.
44731 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44732 normal/menu_entry.c.
44733 (normal_mod_SOURCES): Likewise.
44734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44735 (normal_mod_SOURCES): Likewise.
44737 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44739 * include/grub/normal.h (grub_halt_init): New prototype.
44740 (grub_halt_fini): Likewise.
44741 (grub_reboot_init): Likewise.
44742 (grub_reboot_fini): Likewise.
44744 * util/grub-emu.c: Include signal.h.
44745 (main_env): New global variable.
44746 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44748 (grub_machine_fini): New function.
44749 (main): Call grub_halt_init and grub_reboot_init before
44750 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44751 Call setjmp with MAIN_ENV to go back afterwards.
44752 Call grub_machine_fini right before return.
44754 * include/grub/util/misc.h: Include setjmp.h.
44755 (main_env): New prototype.
44757 * include/grub/kernel.h (grub_machine_fini): New prototype.
44758 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44759 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44761 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44762 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44763 * term/i386/pc/console.c (grub_console_fini): Likewise.
44765 * util/i386/pc/misc.c: New file.
44767 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44768 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44769 commands/i386/pc/reboot.c.
44771 2005-02-14 Guillem Jover <guillem@hadrons.org>
44773 * include/grub/dl.h (grub_dl_check_header): New prototype.
44774 (grub_arch_dl_check_header): Change return type to grub_err_t,
44775 remove size parameter and export function. Update all callers.
44776 * kern/dl.c (grub_dl_check_header): New function.
44777 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44778 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44779 are inside the core.
44780 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44781 independent ELF header checks.
44782 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44783 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44784 `grub_dl_check_header' instead of explicit checks. Check for the
44786 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44787 `grub_dl_check_header' instead of explicit checks. Remove arch
44788 specific ELF header checks.
44790 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44793 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44795 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44796 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44798 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44800 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
44801 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
44802 (part_map_iterate): Clear `grub_errno' and return 0 if
44803 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
44804 * partmap/amiga.c (amiga_partition_map_iterate): Return
44805 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44806 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44808 2005-02-01 Guillem Jover <guillem@hadrons.org>
44810 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44813 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44815 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44817 (grub_rescue_cmd_linux): New prototype.
44818 (grub_rescue_cmd_initrd): Likewise.
44819 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44821 (grub_linux_release_mem): Release the memory for the initrd.
44822 (grub_load_linux): Renamed from this...
44823 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44824 Changed `entry' not to be static. Loop over memory regions to
44825 find another one when the default fails.
44826 (grub_rescue_cmd_initrd): New function.
44827 (grub_linux_init): Remove function.
44828 (grub_linux_fini): Likewise.
44829 (GRUB_MOD_INIT): Register `initrd'.
44830 (GRUB_MOD_FINI): Unregister `initrd'.
44831 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44833 (grub_linux_normal_fini): Likewise.
44834 (GRUB_MOD_INIT): Register `initrd'.
44835 (GRUB_MOD_FINI): Unregister `initrd'.
44837 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44839 * commands/help.c: New file.
44840 * normal/arg.c (show_help): Renamed to...
44841 (grub_arg_show_help): ... this.
44842 * commands/i386/pc/halt.c: New file.
44843 * commands/i386/pc/reboot.c: Likewise.
44844 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44845 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44846 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44847 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44851 (pkgdata_MODULES): Add `help.mod'.
44852 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44853 * grub/i386/pc/init.h (grub_reboot): New prototype.
44854 (grub_halt): Likewise.
44855 * include/grub/normal.h (grub_arg_show_help): New prototype.
44856 (grub_help_init): Likewise.
44857 (grub_help_fini): Likewise.
44858 * util/grub-emu.c (main): Initialize and deinitialize the help
44861 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44863 * normal/command.c (grub_command_init): Fixed the description of
44864 the `set' and `unset' commands.
44866 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44868 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44870 * commands/ieee1275/halt.c: New file.
44871 * commands/ieee1275/reboot.c: Likewise.
44872 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44873 `__attribute__ ((unused))'. Some GCS related fixed.
44874 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44875 (grub_suspend_fini): Likewise.
44876 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44878 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44879 (halt_mod_CFLAGS): New variables.
44880 * include/grub/powerpc/ieee1275/ieee1275.h
44881 (grub_ieee1275_interpret): New prototype.
44883 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44885 * include/grub/misc.h (memmove): New prototype.
44886 (memcpy): Likewise.
44888 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44890 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44891 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44893 2005-01-22 Marco Gerards <metgerards@student.han.nl>
44895 * kern/misc.c (grub_strndup): Function rewritten.
44897 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44899 * normal/menu.c (TERM_WIDTH): Macro redefined.
44900 (TERM_TOP_BORDER_Y): Likewise.
44901 (draw_border): Replaced while-loop by a for-loop. Make the number
44902 of lines consistent with the number of lines displayed in
44903 print_entries. Added a margin below the rectangle.
44904 (print_entry): Make the entry fit in the rectangle.
44905 (print_entries): Display the scroll arrows next to the right
44908 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44910 * fs/minix.c (grub_minix_find_file): Reserve more space for
44911 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
44912 `grub_strncpy' to copy `path' into it.
44914 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44916 Add the loopback device, a device via which files can be accessed
44919 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
44920 (pkgdata_MODULES): Add loopback.mod.
44921 (loopback_mod_SOURCES): New variable.
44922 (loopback_mod_CFLAGS): Likewise.
44923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44925 (pkgdata_MODULES): Add loopback.mod.
44926 (loopback_mod_SOURCES): New variable.
44927 (loopback_mod_CFLAGS): Likewise.
44928 * disk/loopback.c: new file.
44929 * include/grub/normal.h (grub_loop_init): New prototype.
44930 (grub_loop_fini): New prototype.
44931 * util/grub-emu.c (main): Initialize and de-initialize loopback
44933 * include/grub/disk.h (grub_disk_dev_id): Add
44934 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
44936 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
44938 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
44940 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
44941 (suspend_mod_SOURCES): New variable.
44942 (suspend_mod_CFLAGS): Likewise.
44943 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
44945 * commands/ieee1275/suspend.c: New file.
44947 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44949 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
44950 ((unused))' to `__attribute__ ((used))'.
44951 (GRUB_MOD_FINI): Likewise.
44952 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
44953 * genmk.rb (PModule): Assign space to common symbols when linking
44956 2005-01-20 Marco Gerards <metgerards@student.han.nl>
44958 * include/grub/mm.h (grub_mm_init_region): Change the type of the
44959 `unsigned' arguments to `grub_size_t'.
44960 (grub_malloc): Likewise.
44961 (grub_realloc): Likewise.
44962 (grub_memalign): Likewise.
44963 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
44964 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44965 * util/misc.c (grub_malloc): Likewise.
44966 (grub_realloc): Likewise.
44967 * kern/mm.c (get_header_from_pointer): Change the casts to
44968 `unsigned' into a cast to `grub_size_t'.
44970 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
44971 point to `currnode' when `currnode' is changed.
44973 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
44974 Schottelius <nico-linux@schottelius.org>.
44976 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
44978 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
44979 (note_path): Remove variable.
44980 (GRUB_IEEE1275_NOTE_NAME): New macro.
44981 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
44982 (grub_ieee1275_note_hdr): New structure.
44983 (grub_ieee1275_note_desc): Likewise.
44984 (grub_ieee1275_note): Likewise.
44985 (load_note): Remove `dir' argument. All callers updated. Remove
44986 `note_img' and `path'. Do not load a file from `note_path'.
44987 Initialize a struct grub_ieee1275_note and write that to `out'.
44988 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
44990 2005-01-05 Marco Gerards <metgerards@student.han.nl>
44992 * util/misc.c (grub_util_read_image): Revert last change. It
44993 called `grub_util_read_at', which seeks from the beginning of the
44996 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
44998 * TODO: Add note about endianness in grub-mkimage.
44999 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45001 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45002 (grub_mkimage_SOURCES): New target.
45003 * include/grub/kernel.h (grub_start_addr): Remove variable.
45004 (grub_end_addr): Likewise.
45005 (grub_total_module_size): Likewise.
45006 (grub_kernel_image_size): Likewise.
45007 (GRUB_MODULE_MAGIC): New constant.
45008 (grub_module_info): New structure.
45009 (grub_arch_modules_addr): New prototype.
45010 (grub_get_end_addr): Remove prototype.
45011 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45012 * include/grub/powerpc/ieee1275/kernel.h: New file.
45013 * include/grub/util/misc.h (grub_util_get_fp_size): New
45015 (grub_util_read_at): Likewise.
45016 (grub_util_write_image_at): Likewise.
45017 * kern/main.c (grub_get_end_addr): Remove function.
45018 (grub_load_modules): Call grub_arch_modules_addr instead of using
45019 grub_end_addr. Look for a grub_module_info struct in memory. Use
45020 the grub_module_info fields instead of calling grub_get_end_addr
45021 as loop conditions. Move grub_add_unused_region code here.
45022 (grub_add_unused_region): Remove function.
45023 * kern/i386/pc/init.c: Include grub/cache.h.
45024 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45025 one call to add_mem_region.
45026 (grub_arch_modules_addr): New function.
45027 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45028 (grub_total_module_size): Likewise.
45029 Include grub/machine/kernel.h.
45030 (grub_arch_modules_addr): New function.
45031 * util/grub-emu.c (grub_end_addr): Remove variable.
45032 (grub_total_module_size): Likewise.
45033 (grub_arch_modules_addr): New function.
45034 * util/misc.c: Include unistd.h.
45035 (grub_util_get_fp_size): New function.
45036 (grub_util_read_at): Likewise.
45037 (grub_util_write_image_at): Likewise.
45038 (grub_util_read_image): Call grub_util_read_at.
45039 (grub_util_write_image): Call grub_util_write_image_at.
45040 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45041 additional memory in kernel_img for a struct grub_module_info.
45042 Fill in that grub_module_info.
45043 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45045 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45047 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45049 * include/grub/powerpc/ieee1275/ieee1275.h
45050 (grub_ieee1275_milliseconds): New prototype.
45051 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45053 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45054 grub_ieee1275_milliseconds.
45056 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45058 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45060 (find_options): New function.
45061 (cmain): Call find_options.
45062 * include/grub/powerpc/ieee1275/ieee1275.h
45063 (grub_ieee1275_realmode): New extern variable.
45064 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45065 grub_map if grub_ieee1275_realmode is false.
45067 2004-12-29 Marco Gerards <metgerards@student.han.nl>
45069 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45070 lines are inserted and make it work like readline. Reported by
45071 Vincent Pelletier <subdino2004@yahoo.fr>.
45073 2004-12-28 Marco Gerards <metgerards@student.han.nl>
45075 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45078 `kern/powerpc/cache.S'.
45080 2004-12-27 Marco Gerards <metgerards@student.han.nl>
45082 * genmk.rb: Handle the `Program' class in the main loop. Written
45083 by Johan Rydberg <jrydberg@gnu.org>.
45084 (Program): New class.
45085 (programs): New variable.
45086 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45087 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45088 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45089 (help_arch): Function removed.
45090 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45091 `powerpc/libgcc.h' and `loader.h'.
45092 (pkgdata_PROGRAMS): New variable.
45093 (sbin_UTILITIES): Variable removed.
45094 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45095 (grubof_SOURCES): Variable re-defined so it only includes the
45096 core functionality.
45097 (grubof_CFLAGS): Remove `-DGRUBOF'.
45098 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45099 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45100 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45101 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45102 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45103 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45104 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45105 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45106 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45107 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45108 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45109 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45110 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45111 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45112 (pc_mod_CFLAGS): New variables.
45113 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45114 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45115 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45116 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45118 * include/grub/i386/pc/init.h (grub_os_area_addr)
45119 (rub_os_area_size): ... to here.
45120 * include/grub/powerpc/ieee1275/ieee1275.h
45121 (grub_ieee1275_entry_fn): Export symbol.
45122 * include/grub/powerpc/ieee1275/init.h: New file.
45123 * include/grub/powerpc/libgcc.h: Likewise.
45124 * include/grub/cache.h: Likewise.
45125 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45126 <hollis@penguinppc.org>.
45127 * kern/dl.c: Include <grub/cache.h>.
45128 (grub_dl_flush_cache): New function.
45129 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45131 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45132 (grub_console_init): Removed prototypes.
45133 (grub_machine_init): Don't initialize the modules anymore.
45134 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45136 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45137 Macro undef removed.
45138 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45139 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45140 relocation `R_PPC_REL32'. Return an error when the relocation is
45142 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45143 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45144 * util/misc.c (grub_arch_sync_caches): Likewise.
45146 2004-12-19 Marco Gerards <metgerards@student.han.nl>
45148 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45149 `symlist.c', add `grubof_symlist.c'.
45150 (symlist.c): Variable removed.
45151 (grubof_HEADERS): Variable added.
45152 (grubof_symlist.c): New target.
45153 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45154 `kernel_img_HEADERS'.
45155 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45156 * kern/powerpc/dl.c: New file.
45157 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45159 (grub_arch_dl_relocate_symbols): Likewise.
45160 (grub_register_exported_symbols): Likewise.
45162 2004-12-13 Marco Gerards <metgerards@student.han.nl>
45164 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45165 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45166 to fail instead. Reported by Vincent Pelletier
45167 <subdino2004@yahoo.fr>.
45169 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45170 it is not allocated. Reported by Vincent Pelletier
45171 <subdino2004@yahoo.fr>.
45173 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45174 output so the output looks better.
45176 2004-12-04 Marco Gerards <metgerards@student.han.nl>
45178 Modulize the partition map support and add support for the amiga
45181 * commands/ls.c: Include <grub/partition.h> instead of
45182 <grub/machine/partition.h>.
45183 * kern/disk.c: Likewise.
45184 * kern/rescue.c: Likewise.
45185 * loader/i386/pc/chainloader.c: Likewise.
45186 * normal/cmdline.c: Likewise.
45187 * kern/powerpc/ieee1275/init.c: Likewise.
45188 (grub_machine_init): Call `grub_pc_partition_map_init',
45189 `grub_amiga_partition_map_init' and
45190 `grub_apple_partition_map_init'.
45191 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45192 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45193 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45194 `partition.h' and `pc_partition.h'.
45195 (grub_setup_SOURCES): Remove
45196 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45197 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45198 (grub_emu_SOURCES): Likewise.
45199 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45200 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45201 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45203 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45204 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45205 (grubof_SOURCES): Likewise.
45206 * disk/i386/pc/partition.c: File removed.
45207 * disk/powerpc/ieee1275/partition.c: Likewise.
45208 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45209 * include/grub/i386/pc/partition.h: Likewise.
45210 * kern/partition.c: New file.
45211 * partmap/amiga.c: Likewise.
45212 * partmap/apple.c: Likewise.
45213 * partmap/pc.c: Likewise.
45214 * include/grub/partition.h: Likewise..
45215 * include/grub/pc_partition.h: Likewise.
45216 * util/grub-emu.c: Include <grub/partition.h> instead of
45217 <grub/machine/partition.h>.
45218 (main): Call `grub_pc_partition_map_init',
45219 `grub_amiga_partition_map_init' and
45220 `grub_apple_partition_map_init' and deinitialize afterwards.
45221 * util/i386/pc/biosdisk.c: Include `#include
45222 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45223 `<grub/machine/partition.h>'.
45224 * util/i386/pc/grub-setup.c: Likewise.
45225 * util/i386/pc/biosdisk.c: Likewise.
45226 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45227 partition information in case of a PC partition.
45228 * util/i386/pc/grub-setup.c: Include `#include
45229 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45230 `<grub/machine/partition.h>'.
45231 (setup): Only access the PC specific partition information in case
45234 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
45236 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45237 (grub_longjmp): Likewise.
45238 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45240 * normal/powerpc/setjmp.S: New file.
45241 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45242 `normal/powerpc/setjmp.S'.
45243 (grubof_CFLAGS): Add `-DGRUBOF'.
45244 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45245 [GRUB_UTIL && !GRUBOF].
45247 2004-11-16 Marco Gerards <metgerards@student.han.nl>
45249 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45250 property named `name'. Correctly handle the error returned by
45251 `grub_ieee1275_finddevice' if a device can not be opened.
45253 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45255 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45256 `actual' for negativity.
45257 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45260 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45262 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45263 (PAGE_OFFSET): New macro.
45264 (CRTC_ADDR_PORT): Likewise.
45265 (CRTC_DATA_PORT): Likewise.
45266 (START_ADDR_HIGH_REGISTER): Likewise.
45267 (START_ADDR_LOW_REGISTER): Likewise.
45268 (GRAPHICS_ADDR_PORT): Likewise.
45269 (GRAPHICS_DATA_PORT): Likewise.
45270 (READ_MAP_REGISTER): Likewise.
45271 (INPUT_STATUS1_REGISTER): Likewise.
45272 (INPUT_STATUS1_VERTR_BIT): Likewise.
45273 (page): New variable.
45274 (wait_vretrace): New function.
45275 (set_read_map): Likewise.
45276 (set_start_address): Likewise.
45277 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45279 (check_vga_mem): Take the page into account.
45280 (write_char): Likewise.
45281 (write_cursor): Likewise.
45282 (scroll_up): Likewise. Copy the page to the page that is not
45283 shown and switch between both pages.
45284 (grub_vga_putchar): Fix off by one error.
45285 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45288 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45290 Add support for iso9660 (including rockridge).
45292 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45293 (iso9660_mod_SOURCES): New variable.
45294 (iso9660_mod_CFLAGS): Likewise.
45295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45296 * include/grub/fs.h (grub_iso9660_init): New prototype.
45297 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45298 * fs/iso9660.c: New file.
45300 * include/grub/misc.h (grub_strncat): New prototype.
45301 * kern/misc.c (grub_strncat): New function.
45303 * fs/hfs.c (grub_hfs_mount): Translate the error
45304 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45305 * fs/jfs.c (grub_jfs_mount): Likewise.
45306 * fs/ufs.c (grub_ufs_mount): Likewise.
45308 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45310 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45311 which initialized BAT registers.
45312 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45313 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45315 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45316 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45318 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45319 (grub_mapclaim): Likewise.
45320 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45321 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45324 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45326 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45327 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45328 -ffreestanding and -msoft-float.
45330 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45332 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45333 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45334 set in grub_ieee1275_flags.
45336 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45338 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45340 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45341 grub_console_init first.
45342 Change the memory range used for grub_ieee1275_claim and
45343 grub_mm_init_region.
45344 Print an error message if the claim fails.
45345 Include <grub/misc.h>.
45347 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45349 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45350 Call grub_children_iterate for device nodes of type `scsi',
45352 (grub_ofdisk_open): Remove manual device alias resolution.
45353 Fix memory leak when device cannot be opened.
45354 * include/grub/powerpc/ieee1275/ieee1275.h
45355 (grub_children_iterate): New prototype.
45356 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45358 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45359 Return -1 if args.size was -1.
45361 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45363 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45364 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45365 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45366 Open Firmware's memory for it; claim memory from _start to _end.
45367 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45368 (_end): New extern.
45369 (_start): Zero BSS from __bss_start to _end.
45370 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45372 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45374 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45376 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45377 -1 if args.base was -1.
45379 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45381 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45382 escape sequence instead of a literal ^L. Also call
45383 grub_ofconsole_gotoxy.
45385 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45387 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45388 void * arguments to grub_addr_t. All callers updated. Also make
45389 the `result' argument optional.
45390 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45391 All callers updated.
45393 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45395 * commands/ls.c (grub_ls_list_files): Use the string following the
45396 initial ')', if present, as the filesystem path.
45397 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45399 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45401 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45403 Make the source code of the menu interface more readable.
45405 * normal/menu.c: Include grub/mm.h.
45406 (TERM_WIDTH): New macro.
45407 (TERM_HEIGHT): Likewise.
45408 (TERM_INFO_HEIGHT): Likewise.
45409 (TERM_MARGIN): Likewise.
45410 (TERM_SCROLL_WIDTH): Likewise.
45411 (TERM_TOP_BORDER_Y): Likewise.
45412 (TERM_LEFT_BORDER_X): Likewise.
45413 (TERM_BORDER_WIDTH): Likewise.
45414 (TERM_MESSAGE_HEIGHT): Likewise.
45415 (TERM_BORDER_HEIGHT): Likewise.
45416 (TERM_NUM_ENTRIES): Likewise.
45417 (TERM_FIRST_ENTRY_Y): Likewise.
45418 (TERM_ENTRY_WIDTH): Likewise.
45419 (TERM_CURSOR_X): Likewise.
45420 (draw_border): Use macros instead of magic numbers.
45421 (print_entry): Likewise.
45422 (print_entries): Likewise.
45423 (run_menu): Likewise. Also, handle the key 'e'.
45424 (run_menu_entry): Ignore empty command lines.
45425 (print_message): Added a new argument EDIT. If EDIT is true,
45426 print a different message.
45427 (init_page): Likewise.
45428 (edit_menu_entry): New function. Not implemented yet.
45430 2004-09-17 Marco Gerards <metgerards@student.han.nl>
45432 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45433 can be loaded from normal mode.
45435 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45437 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45438 (multiboot_mod_CFLAGS): New variables.
45439 * loader/i386/pc/linux_normal.c: New file.
45440 * loader/i386/pc/multiboot_normal.c: Likewise.
45442 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45443 attribute `unused'.
45445 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45446 `fdiro' to read the mode information from instead of `diro'.
45448 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45449 looking up a symlink.
45451 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45453 * normal/command.c (grub_command_execute): Don't parse the
45454 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45455 flags of the command.
45457 * normal/menu.c (grub_menu_run): Fix typo.
45459 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45461 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45463 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45464 `y + 1' instead of `y - 1'.
45466 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
45468 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45470 From Hollis Blanchard <hollis@penguinppc.org>:
45471 * kern/misc.c (memmove): New alias for grub_memmove.
45472 (memcmp): New alias for grub_memcmp.
45473 (memset): New alias for grub_memset.
45474 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45475 Change "int handle" to "grub_ieee1275_phandle_t handle".
45476 * include/grub/powerpc/ieee1275/ieee1275.h
45477 (grub_ieee1275_get_property): Likewise.
45479 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45481 Added normal mode command `chainloader' as module chain.mod, which
45482 depends on normal.mod and _chain.mod.
45484 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45485 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45486 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45488 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45489 but arguments parsing moved to ...
45490 (grub_chainloader_cmd): ... here. New function.
45491 * include/grub/i386/pc/chainloader.h: New file.
45492 * loader/i386/pc/chainloader_normal.c: Likewise.
45494 2004-09-11 Marco Gerards <metgerards@student.han.nl>
45496 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45497 (grub_mkimage_LDFLAGS): Likewise.
45498 (grub_emu_SOURCES): Likewise.
45499 (kernel_img_HEADERS): Added fshelp.h.
45500 * fs/ext2.c: Include <grub/fshelp.h>.
45501 (FILETYPE_REG): New macro.
45502 (FILETYPE_INO_REG): Likewise.
45503 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45505 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45507 (grub_fshelp_node): New struct.
45508 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45510 (grub_ext2_get_file_block): Removed function.
45511 (grub_ext2_read_block): New function.
45512 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45513 This function was written.
45514 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45515 (grub_ext2_find_file): Removed function.
45516 (grub_ext2_read_symlink): New function.
45517 (grub_ext2_iterate_dir): Likewise.
45518 (grub_ext2_open): Rewritten.
45519 (grub_ext2_dir): Rewritten.
45520 * include/grub/fshelp.h: New file.
45521 * fs/fshelp.c: Likewise.
45523 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45525 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45526 (print_message): Add a missing newline.
45527 (run_menu): Added timeout support.
45528 (run_menu_entry): New local function.
45529 (grub_menu_run): Added support for booting.
45531 * kern/loader.c (grub_loader_is_loaded): New function.
45533 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45534 (grub_get_rtc): Exported.
45536 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45537 (grub_get_rtc): Exported.
45539 * include/grub/normal.h (struct grub_command_list): Remove
45540 constant from the member `command'.
45542 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45544 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45546 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45548 2004-08-28 Marco Gerards <metgerards@student.han.nl>
45550 Add support for the JFS filesystem.
45552 * fs/jfs.c: New file.
45553 * include/grub/fs.h (grub_jfs_init): New prototype.
45554 (grub_jfs_fini): New prototype.
45555 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45556 (grub_emu_SOURCES): Likewise.
45557 (pkgdata_MODULES): Add jfs.mod.
45558 (jfs_mod_SOURCES): New variable.
45559 (jfs_mod_CFLAGS): Likewise.
45560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45561 (grubof_SOURCES): Likewise.
45562 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45564 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45565 endian to the host endian.
45566 (grub_fat_utf16_to_utf8): Move function from there...
45567 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
45568 the endianness of the source string anymore.
45569 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45571 2004-08-24 Marco Gerards <metgerards@student.han.nl>
45573 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45574 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45575 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45576 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
45578 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45579 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45580 for `node_found' and `it_dir'.
45581 (grub_hfs_dir): Add prototype for `dir_hook'.
45583 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45584 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45585 and `indir32' to silence a gcc warning.
45587 * include/grub/fs.h (grub_hfs_init): New prototype.
45588 (grub_hfs_fini): Likewise.
45591 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45593 Each disk device has its own id now. This is useful to make use
45594 of multiple disk devices.
45596 * include/grub/disk.h (grub_disk_dev_id): New enum.
45597 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45598 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45600 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45601 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45603 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45604 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45606 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45607 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45609 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45610 "id" which is used by the cache manager.
45612 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45615 2004-08-18 Marco Gerards <metgerards@student.han.nl>
45617 * fs/hfs.c: New file.
45618 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45619 (grub_emu_SOURCES): Likewise.
45620 (pkgdata_MODULES): Add hfs.mod.
45621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45622 (grubof_SOURCES): Likewise.
45623 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45625 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45626 * kern/misc.c (grub_strncasecmp): Add function.
45628 2004-08-14 Marco Gerards <metgerards@student.han.nl>
45630 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45633 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45634 (grub_ext2_dir): In case the directory entry type is unknown, read
45637 2004-08-02 Peter Bruin <pjbruin@dds.nl>
45639 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45640 grub_load_linux instead of grub_rescue_cmd_linux as second
45641 argument of grub_rescue_register_command.
45643 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45645 2004-07-27 Marco Gerards <metgerards@student.han.nl>
45647 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45649 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45650 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45651 `loader/powerpc/ieee1275/linux.c',
45652 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45653 * include/grub/powerpc/ieee1275/ieee1275.h
45654 (grub_ieee1275_release): New prototype.
45655 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45656 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45657 normal, boot, linux and linux_normal.
45658 * loader/powerpc/ieee1275/linux.c: New file.
45659 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45661 2004-07-12 Marco Gerards <metgerards@student.han.nl>
45663 * normal/arg.c (grub_arg_parse): Correct error handling after
45664 reallocating the argumentlist (check if `argl' is not null instead
45665 of checking if `args' is not null).
45666 * kern/mm.c (grub_realloc): Return the same pointer when using the
45667 same region, instead of returning the header address.
45669 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45671 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45672 one block instead of two when looking for the initial partition.
45673 (grub_partition_probe): Initialize the local variable `p' with 0.
45674 Use base 10 for the grub_strtoul call.
45675 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45676 need for one local variable.
45677 (grub_strtoul): Don't add the new value to `num', instead of that
45680 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45682 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45683 (pxeboot_img_SOURCES): New variable.
45684 (pxeboot_img_ASFLAGS): Likewise.
45685 (pxeboot_img_LDFLAGS): Likewise.
45686 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45687 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45688 <lode_leroy@hotmail.com>.
45690 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45692 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45693 there was no input.
45695 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45697 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45698 the history buffer logic.
45700 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45702 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45703 (FILETYPE_INO_SYMLINK): New macros.
45704 (grub_ext2_find_file): Check if the node is a directory using the
45705 inode stat information instead of using the filetype in the
45706 dirent. Exclude the first character of an absolute symlink.
45707 (grub_ext2_dir): Mask out the filetype part of the mode member of
45710 2004-05-24 Marco Gerards <metgerards@student.han.nl>
45712 Add support for UFS version 1 and 2. Add support for the minix
45713 filesystem version 1 and 2, both the variants with 14 and 30 long
45716 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45718 (grub_emu_SOURCES): Likewise.
45719 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45720 (ufs_mod_SOURCES): New variable.
45721 (ufs_mod_CFLAGS): Likewise.
45722 (minix_mod_SOURCES): Likewise.
45723 (minix_mod_CFLAGS): Likewise.
45724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45726 (grubof_SOURCES): Likewise.
45727 * fs/ufs.c: New file.
45728 * fs/minix.c: New file.
45729 * include/grub/fs.h (grub_ufs_init): New prototype.
45730 (grub_ufs_fini): Likewise.
45731 (grub_minix_init): Likewise.
45732 (grub_minix_fini): Likewise.
45733 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45736 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45739 commands/ls.c, commands/terminal.c, commands/boot.c,
45740 commands/cmp.c and commands/cat.c.
45741 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45743 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45746 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45748 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45749 and grub_, respectively. Because the conversion is trivial and
45750 mechanical, I omit the details here. Please refer to the CVS
45751 if you need more information.
45753 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45755 * include/pupa: Renamed to ...
45756 * include/grub: ... this.
45757 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45758 * util/i386/pc/grub-mkimage.c: ... this.
45759 * util/i386/pc/pupa-setup.c: Renamed to ...
45760 * util/i386/pc/grub-setup.c: ... this.
45761 * util/pupa-emu.c: Renamed to ...
45762 * util/grub-emu.c: ... this.
45764 2004-03-29 Marco Gerards <metgerards@student.han.nl>
45766 Add support for the newworld apple macintosh (PPC). This has been
45767 tested on the powerbook 2000 only. It only adds support for
45768 generic ieee1275 functions, console and disk support. This should
45769 be easy to port to other architectures with support for Open
45772 * configure.ac: Accept the powerpc as host_cpu. In the case of
45773 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45774 specific tests are only executed while building for the i386.
45775 Inverse test for crosscompile.
45776 * genmk.rb (Utility): Allow assembler files.
45777 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45778 * conf/powerpc-ieee1275.rmk: New file.
45779 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45780 * disk/powerpc/ieee1275/partition.c: Likewise.
45781 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45782 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45783 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45784 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45785 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45786 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45787 * include/pupa/powerpc/ieee1275/loader.h
45788 * include/pupa/powerpc/setjmp.h: Likewise.
45789 * include/pupa/powerpc/types.h: Likewise.
45790 * kern/powerpc/ieee1275/init.c: Likewise.
45791 * kern/powerpc/ieee1275/openfw.c: Likewise.
45792 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45794 These files were written by Johan Rydberg
45795 (jrydberg@night.trouble.net) and I only modified them slightly.
45797 * boot/powerpc/ieee1275/cmain.c: New file.
45798 * boot/powerpc/ieee1275/crt0.S: Likewise.
45799 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45800 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45802 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45804 * Makefile.in: Update copyright.
45805 * genmodsrc.sh: Likewise.
45806 * gensymlist.sh: Likewise.
45807 * term/i386/pc/vga.c: Indent correctly.
45809 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45810 bugreporting address.
45811 * util/i386/pc/pupa-setup.c (usage): Likewise,
45812 (main): Call pupa_ext2_init and pupa_ext2_fini.
45814 * fs/fat.c (log2): Renamed to ...
45815 (fat_log2): ... this.
45816 All callers changed.
45817 * kern/misc.c (memcpy): Alias to pupa_memmove.
45818 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45820 * util/console.c (pupa_ncurses_fini): Return 0.
45822 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45823 Move fail label here.
45824 [__GNU__]: Don't warn when using stat.
45825 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45826 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45827 long int. Use strtol instead of strtoul.
45829 2004-03-14 Marco Gerards <metgerards@student.han.nl>
45831 * commands/boot.c: New file.
45832 * commands/cat.c: Likewise.
45833 * commands/cmp.c: Likewise.
45834 * commands/ls.c: Likewise.
45835 * commands/terminal.c: Likewise.
45836 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45837 (pupa_register_command): Changed interface to match the new
45839 (pupa_command_execute): Changed (almost rewritten) so it uses
45840 pupa_split_command. Added support for setting variables using the
45842 (rescue_command): Changed to work with the new argument parser.
45843 (terminal_command): Moved from here to commands/terminal.c.
45844 (set_command): New function.
45845 (unset_command): New function.
45846 (insmod_command): New function.
45847 (rmmod_command): New function.
45848 (lsmod_command): New function.
45849 (pupa_command_init): Don't initialize the command terminal
45850 anymore. Initialize the commands set, unset, insmod, rmmod and
45852 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45853 (kernel_img_HEADERS): Add arg.h and env.h.
45854 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45855 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45856 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45858 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45860 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45861 (boot_mod_SOURCES): New variable.
45862 (terminal_mod_SOURCES): Likewise.
45863 (ls_mod_SOURCES): Likewise.
45864 (cmp_mod_SOURCES): Likewise.
45865 (cat_mod_SOURCES): Likewise.
45867 * normal/arg.c: New file.
45868 * kern/env.c: Likewise.
45869 * include/pupa/arg.h: Likewise.
45870 * include/pupa/env.h: Likewise.
45871 * font/manager.c (font_command): Changed to match argument parsing
45873 (PUPA_MOD_INIT): Likewise.
45874 * hello/hello.c (pupa_cmd_hello): Likewise.
45875 (PUPA_MOD_INIT): Likewise.
45876 * include/pupa/disk.h: Include <pupa/device.h>.
45877 (pupa_print_partinfo): New prototype.
45878 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45879 (pupa_dl_get_prefix): Likewise.
45880 * include/pupa/misc.h: Include <pupa/err.h>.
45881 (pupa_isgraph): New prototype.
45882 (pupa_isdigit): Likewise.
45883 (pupa_split_cmdline): Likewise.
45884 * include/pupa/normal.h: Include <pupa/arg.h>.
45885 (pupa_command): Changed the prototype of the member `func' to
45886 match the argument parsing interface. Added member `options'.
45887 (pupa_register_command): Updated to match function.
45888 (pupa_arg_parse): New prototype.
45889 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45890 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45891 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45892 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45893 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45894 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45895 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45896 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45897 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45898 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45899 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45900 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45901 * kern/disk.c: Include <pupa/file.h>.
45902 (pupa_print_partinfo): New function.
45903 * kern/dl.c: Include <pupa/env.h>.
45904 (pupa_dl_dir): Variable removed.
45905 (pupa_dl_load): Use the environment variable `prefix' instead of
45906 the variable pupa_dl_dir.
45907 (pupa_dl_set_prefix): Function removed.
45908 (pupa_dl_get_prefix): Likewise.
45909 * kern/i386/pc/init.c: Include <pupa/env.h>.
45910 (pupa_machine_init): Use the environment variable `prefix' instead of
45911 using pupa_dl_set_prefix to set the prefix.
45912 * kern/main.c: Include <pupa/env.h>.
45913 (pupa_set_root_dev): Use the environment variable `prefix' instead of
45914 using pupa_dl_get_prefix to get the prefix.
45915 * kern/misc.c: Include <pupa/env.h>.
45916 (pupa_isdigit): New function.
45917 (pupa_isgraph): Likewise.
45918 (pupa_ftoa): Likewise.
45919 (pupa_vsprintf): Added support for printing values of the type
45920 `double'. Make it possible to format variable output when using
45921 formatting like `%1.2%f'.
45922 (pupa_split_cmdline): New function.
45923 * kern/rescue.c: Include <pupa/env.h>.
45924 (next_word): Removed function.
45925 (pupa_rescue_cmd_prefix): Likewise.
45926 (pupa_rescue_cmd_set): New function.
45927 (pupa_rescue_cmd_unset): New function.
45928 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
45929 split the command line instead of splitting it here. Added
45930 support for setting variables using the syntax `foo=bar'. Don't
45931 initialize the prefix command anymore. Initialized the set and
45933 * normal/cmdline.c: Include <pupa/env.h>.
45934 (pupa_tab_complete): Added prototypes for print_simple_completion,
45935 print_partition_completion, add_completion, iterate_commands,
45936 iterate_dev, iterate_part and iterate_dir. Moved code to print
45937 partition information from here to kern/disk.c.
45938 (pupa_cmdline_run): Don't check if the function exists anymore.
45939 * normal/main.c: Include <pupa/env.h>.
45940 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
45941 instead of using pupa_dl_get_prefix to get the prefix.
45942 * term/i386/pc/vga.c: Include <pupa/arg.h>.
45943 (check_vga_mem): Cast pointers to `void *' to silence a gcc
45945 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
45946 (pupa_vga_setcolor): Declare unused variables with `__attribute__
45947 ((unused))' to silence a gcc warning.
45948 (pupa_vga_setcolor): Likewise.
45949 (debug_command): Changed to match argument parsing
45951 * util/pupa-emu.c: Include <pupa/env.h>.
45952 (options): Added 0's for unused fields to silence a gcc warning.
45954 (main): Use the environment variable `prefix' instead of using
45955 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
45956 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
45959 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
45960 * util/misc.c: Include <malloc.h>.
45961 (pupa_malloc): Rewritten so errors are correctly reported.
45962 (pupa_realloc): Likewise.
45963 (pupa_memalign): Likewise.
45964 (pupa_mm_init_region): Declare unused variables with
45965 `__attribute__ ((unused))' to silence a gcc warning.
45966 * normal/i386/setjmp.S: Remove tab at the end of the file to
45967 silence a gcc warning.
45968 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
45969 variables with `__attribute__ ((unused))' to silence a gcc
45971 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
45972 local variable i unsigned to silence a gcc warning.
45974 * kern/term.c: Include <pupa/misc.h>.
45975 (pupa_more_lines): New variable.
45976 (pupa_more): Likewise.
45977 (pupa_putcode): When the pager is active pause at the end of every
45979 (pupa_set_more): New function.
45980 * include/pupa/term.h (pupa_set_more): New prototype.
45983 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
45985 Now this project is GRUB 2 rather than PUPA. The location of
45986 the CVS repository was moved to GRUB's.
45988 * configure.ac: Use bug-grub as the reporting address.
45989 Use GRUB instead of PUPA.
45990 Change the version number to 1.90.
45992 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
45994 * genkernsyms.sh: Updated copyright information.
45995 * genmk.rb: Likewise.
45996 * genmodsrc.sh: Likewise.
45997 * gensymlist.sh: Likewise.
45998 * boot/i386/pc/boot.S: Likewise.
45999 * boot/i386/pc/diskboot.S: Likewise.
46000 * disk/i386/pc/biosdisk.c: Likewise.
46001 * disk/i386/pc/partition.c: Likewise.
46002 * font/manager.c: Likewise.
46003 * fs/ext2.c: Likewise.
46004 * fs/fat.c: Likewise.
46005 * include/pupa/boot.h: Likewise.
46006 * include/pupa/device.h: Likewise.
46007 * include/pupa/disk.h: Likewise.
46008 * include/pupa/dl.h: Likewise.
46009 * include/pupa/elf.h: Likewise.
46010 * include/pupa/err.h: Likewise.
46011 * include/pupa/file.h: Likewise.
46012 * include/pupa/font.h: Likewise.
46013 * include/pupa/fs.h: Likewise.
46014 * include/pupa/kernel.h: Likewise.
46015 * include/pupa/loader.h: Likewise.
46016 * include/pupa/misc.h: Likewise.
46017 * include/pupa/mm.h: Likewise.
46018 * include/pupa/net.h: Likewise.
46019 * include/pupa/normal.h: Likewise.
46020 * include/pupa/rescue.h: Likewise.
46021 * include/pupa/setjmp.h: Likewise.
46022 * include/pupa/symbol.h: Likewise.
46023 * include/pupa/term.h: Likewise.
46024 * include/pupa/types.h: Likewise.
46025 * include/pupa/i386/setjmp.h: Likewise.
46026 * include/pupa/i386/types.h: Likewise.
46027 * include/pupa/i386/pc/biosdisk.h: Likewise.
46028 * include/pupa/i386/pc/boot.h: Likewise.
46029 * include/pupa/i386/pc/console.h: Likewise.
46030 * include/pupa/i386/pc/init.h: Likewise.
46031 * include/pupa/i386/pc/kernel.h: Likewise.
46032 * include/pupa/i386/pc/linux.h: Likewise.
46033 * include/pupa/i386/pc/loader.h: Likewise.
46034 * include/pupa/i386/pc/memory.h: Likewise.
46035 * include/pupa/i386/pc/multiboot.h: Likewise.
46036 * include/pupa/i386/pc/partition.h: Likewise.
46037 * include/pupa/i386/pc/time.h: Likewise.
46038 * include/pupa/i386/pc/vga.h: Likewise.
46039 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46040 * include/pupa/util/getroot.h: Likewise.
46041 * include/pupa/util/misc.h: Likewise.
46042 * include/pupa/util/resolve.h: Likewise.
46043 * kern/device.c: Likewise.
46044 * kern/disk.c: Likewise.
46045 * kern/dl.c: Likewise.
46046 * kern/err.c: Likewise.
46047 * kern/file.c: Likewise.
46048 * kern/fs.c: Likewise.
46049 * kern/loader.c: Likewise.
46050 * kern/main.c: Likewise.
46051 * kern/misc.c: Likewise.
46052 * kern/mm.c: Likewise.
46053 * kern/rescue.c: Likewise.
46054 * kern/term.c: Likewise.
46055 * kern/i386/dl.c: Likewise.
46056 * kern/i386/pc/init.c: Likewise.
46057 * kern/i386/pc/lzo1x.S: Likewise.
46058 * kern/i386/pc/startup.S: Likewise.
46059 * loader/i386/pc/chainloader.c: Likewise.
46060 * loader/i386/pc/linux.c: Likewise.
46061 * loader/i386/pc/multiboot.c: Likewise.
46062 * normal/cmdline.c: Likewise.
46063 * normal/command.c: Likewise.
46064 * normal/main.c: Likewise.
46065 * normal/menu.c: Likewise.
46066 * normal/i386/setjmp.S: Likewise.
46067 * term/i386/pc/console.c: Likewise.
46068 * term/i386/pc/vga.c: Likewise.
46069 * util/console.c: Likewise.
46070 * util/genmoddep.c: Likewise.
46071 * util/misc.c: Likewise.
46072 * util/pupa-emu.c: Likewise.
46073 * util/resolve.c: Likewise.
46074 * util/unifont2pff.rb: Likewise.
46075 * util/i386/pc/biosdisk.c: Likewise.
46076 * util/i386/pc/getroot.c: Likewise.
46077 * util/i386/pc/pupa-mkimage.c: Likewise.
46078 * util/i386/pc/pupa-setup.c: Likewise.
46080 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46082 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46083 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46084 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46085 reading and reset it after reading.
46086 (pupa_ext2_close): Return PUPA_ERR_NONE.
46088 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46090 (struct linux_kernel_header): Add kernel_version and
46092 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46093 pupa_file_read succeeds.
46094 (pupa_rescue_cmd_initrd): Implement.
46096 2003-12-03 Marco Gerards <metgerards@student.han.nl>
46098 * fs/ext2.c (pupa_ext2_label): New function.
46099 (pupa_ext2_fs): Added label.
46100 * fs/fat.c (pupa_fat_label): New function.
46101 (pupa_fat_fs): Added label.
46102 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46104 * kern/misc.c (pupa_strndup): New function.
46105 * include/pupa/misc.h (pupa_strndup): New prototype.
46107 * include/pupa/normal.h: Include <pupa/err.h>.
46108 (pupa_set_history): New prototype.
46109 (pupa_iterate_commands): New prototype.
46110 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46111 <pupa/disk.h>, <pupa/file.h>.
46112 (hist_size): New variable.
46113 (hist_lines): Likewise.
46114 (hist_end): Likewise.
46115 (hist_used): Likewise.
46116 (pupa_set_history): New function.
46117 (pupa_history_get): Likewise.
46118 (pupa_history_add): Likewise.
46119 (pupa_history_replace): Likewise.
46120 (pupa_tab_complete): Likewise.
46121 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46122 completion shows partitionnames while completing partitions, this
46123 feature was suggested by Jeff Bailey.
46124 * normal/command.c (pupa_iterate_commands): New function.
46125 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46126 (pupa_normal_init): Initialize history buffer.
46127 (PUPA_MOD_INIT): Likewise.
46128 (pupa_normal_fini): Free the history buffer.
46129 (PUPA_MOD_FINI): Likewise.
46131 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46134 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46135 * configure.ac [i386]: Check for regparam bug.
46136 (NESTED_FUNC_ATTR) [! i386]: Defined.
46138 2003-11-17 Marco Gerards <metgerards@student.han.nl>
46140 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46141 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46142 (pupa_emu_SOURCES): New variable.
46143 (pupa_emu_LDFLAGS): Likewise.
46144 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46145 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46146 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46147 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46148 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46149 (pupa_jmp_buf): New typedef.
46150 (pupa_setjmp) [PUPA_UTIL]: New macro.
46151 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46152 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46153 (pupa_refresh): New prototype.
46154 * include/pupa/util/getroot.h: New file.
46155 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46157 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46158 (pupa_rescue_cmd_cat): Likewise.
46159 (pupa_rescue_cmd_ls): Likewise.
46160 (pupa_rescue_cmd_testload): Likewise.
46161 (pupa_rescue_cmd_lsmod): Likewise.
46162 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46163 * normal/menu.c (run_menu): Likewise.
46164 * kern/term.c (pupa_cls): Likewise.
46165 (pupa_refresh): New function.
46166 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46167 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46168 * util/console.c: New file.
46170 * util/i386/pc/getroot.c: New file.
46171 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46172 (pupa_putchar): New function.
46173 (pupa_refresh): Likewise.
46174 (xgetcwd): Function moved to ...
46175 (strip_extra_slashes): Likewise.
46176 (get_prefix): Likewise.
46177 * util/i386/pc/getroot.c: ... here.
46178 (find_root_device): Function moved and renamed to...
46179 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46180 Changed all callers.
46181 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46183 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46184 Changed all callers.
46185 * util/misc.c (pupa_memalign): New function.
46186 (pupa_mm_init_region): Likewise.
46187 (pupa_register_exported_symbols): Likewise.
46188 (pupa_putchar): Function removed.
46189 * util/pupa-emu.c: New file.
46191 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46193 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46194 (_multiboot_mod_SOURCES): New variable.
46195 (_multiboot_mod_CFLAGS): Likewise.
46196 * loader/i386/pc/multiboot.c: New file.
46197 * include/pupa/i386/pc/multiboot.h: Likewise.
46198 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46199 (pupa_multiboot_real_boot): New function.
46200 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46201 (pupa_multiboot_real_boot): New prototype.
46202 (pupa_rescue_cmd_multiboot): Likewise
46203 (pupa_rescue_cmd_module): Likewise.
46205 * kern/loader.c (pupa_loader_set): Continue when
46206 pupa_loader_unload_func() fails.
46207 (pupa_loader_unset): New function.
46208 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46210 * kern/misc.c (pupa_stpcpy): New function.
46211 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46213 2003-11-12 Marco Gerards <metgerards@student.han.nl>
46215 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46216 for available extensions.
46218 * include/pupa/i386/pc/time.h: New file.
46219 * kern/disk.c: Include <pupa/machine/time.h>.
46220 (PUPA_CACHE_TIMEOUT): New macro.
46221 (pupa_last_time): New variable.
46222 (pupa_disk_open): Flush the cache when there was a timeout.
46223 (pupa_disk_close): Reset the timer.
46224 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46226 * util/misc.c: Include <sys/times.h>
46227 (pupa_get_rtc): New function.
46229 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46231 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46233 (pupa_ext2_get_file_block): Use blocks member.
46235 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46236 first block. Return -1 instead of pupa_errno on error.
46238 2003-10-27 Marco Gerards <metgerards@student.han.nl>
46240 * README: In the pupa-mkimage example use _chain instead of chain
46241 and ext2 instead of fat.
46242 * TODO: Replace ext2fs with jfs as an example. Add an item for
46243 adding journal playback for ext2fs.
46244 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46245 (pkgdata_MODULES): Added ext2.mod.
46246 (ext2_mod_SOURCES): New variable.
46247 (ext2_mod_CFLAGS): Likewise.
46248 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46249 * include/pupa/misc.h (pupa_strncpy): New prototype.
46250 (pupa_strcat): Likewise.
46251 (pupa_strncmp): Likewise.
46252 * kern/misc.c (pupa_strcat): Enable function.
46253 (pupa_strncpy): New function.
46254 (pupa_strncmp): Likewise.
46255 * fs/ext2.c: New file.
46257 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46258 when the read failed before retrying.
46259 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46260 (_FILE_OFFSET_BITS): Likewise.
46261 * configure.ac: Added AC_SYS_LARGEFILE.
46263 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46265 * genmk.rb (PModule#rule): Make sure to get only symbol names
46266 from the output of nm.
46267 Reported by Robert Millan <rmh.grub@aybabtu.com>.
46269 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46271 I forgot to check in these changes for a long time. This adds
46272 incomplete support for VGA console, and this is still very
46273 buggy. Also, a lot of consideration is required for I18N,
46274 UNICODE, and VGA font issues. Therefore, assume that this is
46275 such that "better than nothing".
46277 * font/manager.c: New file.
46278 * include/pupa/font.h: Likewise.
46279 * include/pupa/i386/pc/vga.h: Likewise.
46280 * term/i386/pc/vga.c: Likewise.
46281 * util/unifont2pff.rb: Likewise.
46283 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46284 (pkgdata_MODULES): Added vga.mod and font.mod.
46285 (vga_mod_SOURCES): New variables.
46286 (vga_mod_CFLAGS): Likewise.
46287 (font_mod_SOURCES): Likewise.
46288 (font_mod_CFLAGS): Likewise.
46290 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46292 * include/pupa/term.h: Include pupa/err.h.
46293 (struct pupa_term): Added init and fini.
46294 Changed the argument of putchar to pupa_uint32_t.
46296 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46297 (pupa_console_real_putchar): New prototype.
46298 (pupa_console_putchar): Removed.
46299 (pupa_console_checkkey): Exported.
46300 (pupa_console_getkey): Likewise.
46302 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46305 * kern/term.c (pupa_term_set_current): Rewritten.
46306 (pupa_putchar): Likewise.
46307 (pupa_putcode): New function.
46309 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46310 (pupa_console_real_putchar): ... this.
46311 (pupa_vga_set_mode): New function.
46312 (pupa_vga_get_font): Likewise.
46314 * normal/command.c: Include pupa/term.h.
46315 (terminal_command): New function.
46316 (pupa_command_init): Register the command "terminal".
46318 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46319 (DISP_UP): Likewise.
46320 (DISP_RIGHT): Likewise.
46321 (DISP_DOWN): Likewise.
46322 (DISP_HLINE): Likewise.
46323 (DISP_VLINE): Likewise.
46324 (DISP_UL): Likewise.
46325 (DISP_UR): Likewise.
46326 (DISP_LL): Likewise.
46327 (DISP_LR): Likewise.
46329 * term/i386/pc/console.c (pupa_console_putchar): New function.
46331 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46333 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46334 FIX. Reverse the path_list.
46336 * include/pupa/normal.h: Export pupa_register_command and
46337 pupa_unregister_command.
46339 * hello/hello.c (pupa_cmd_hello): New module.
46340 * conf/i386-pc.rmk: Added hello.mod.
46342 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46344 * kern/i386/pc/lzo1x.S: New file.
46346 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46347 (compress_kernel): New variable.
46348 (generate_image): Heavily modified to support compressing a
46349 large part of the core image.
46351 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46353 (pupa_util_load_image): New function.
46355 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46356 (pupa_compressed_size): New variable.
46357 (codestart): Enable Gate A20 here.
46358 Decompress the compressed part of the core image.
46359 Rearrange the code to put functions and variables which are
46360 required for initialization in the non-compressed part.
46363 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46366 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46368 * include/pupa/i386/pc/kernel.h
46369 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46370 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46371 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46372 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46373 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46375 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46377 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46378 (Utility#rule): Likewise.
46380 * configure.ac: Check if LZO is available.
46382 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46384 * include/pupa/normal.h: New file.
46385 * include/pupa/setjmp.h: Likewise.
46386 * include/pupa/i386/setjmp.h: Likewise.
46387 * normal/cmdline.c: Likewise.
46388 * normal/command.c: Likewise.
46389 * normal/main.c: Likewise.
46390 * normal/menu.c: Likewise.
46391 * normal/i386/setjmp.S: Likewise.
46393 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46394 (pupa_rescue_cmd_initrd): Likewise.
46396 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46399 * kern/i386/pc/startup.S (translation_table): New variable.
46400 (translate_keycode): New function.
46401 (pupa_console_getkey): Call translate_keycode.
46403 * kern/rescue.c (attempt_normal_mode): New function.
46404 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46405 it failed, print a message.
46407 * kern/mm.c (pupa_real_malloc): Print more information when a
46408 free magic is broken.
46409 (pupa_free): If the first free header is not free actually, set
46412 * kern/main.c (pupa_load_normal_mode): Just load the module
46414 (pupa_main): Don't print the message
46415 "Entering into rescue mode..." here.
46417 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46419 (pupa_rescue_cmd_initrd): Likewise.
46420 (pupa_rescue_cmd_initrd): Likewise.
46422 * include/pupa/symbol.h (FUNCTION): Specify the type.
46423 (VARIABLE): Likewise.
46425 * include/pupa/err.h (pupa_err_t): Added
46426 PUPA_ERR_UNKNOWN_COMMAND.
46428 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46429 (pupa_dl_get_prefix): Likewise.
46431 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46432 Added _chain.mod and _linux.mod instead of chain.mod and
46434 (chain_mod_SOURCES): Renamed to ...
46435 (_chain_mod_SOURCES): ... this.
46436 (chain_mod_CFLAGS): Renamed to ...
46437 (_chain_mod_CFLAGS): ... this.
46438 (linux_mod_SOURCES): Renamed to ...
46439 (_linux_mod_SOURCES): ... this.
46440 (linux_mod_CFLAGS): Renamed to ...
46441 (_linux_mod_CFLAGS): ... this.
46442 (normal_mod_SOURCES): New variable.
46443 (normal_mod_CFLAGS): Likewise.
46444 (normal_mod_ASFLAGS): Likewise.
46446 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46448 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46451 * kern/dl.c (pupa_dl_ref): Refer depending modules
46453 (pupa_dl_unref): Unrefer depending modules recursively.
46454 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46455 a module is unloaded before one depending on that module is
46457 (pupa_dl_unload): Unload depending modules explicitly,
46460 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46462 * include/pupa/i386/pc/linux.h: New file.
46463 * loader/i386/pc/linux.c: Likewise.
46465 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46467 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46468 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46469 of PUPA_CHAINLOADER_BOOT_SECTOR.
46471 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46472 (pupa_linux_prot_size): New variable.
46473 (pupa_linux_tmp_addr): Likewise.
46474 (pupa_linux_real_addr): Likewise.
46475 (pupa_linux_boot_zimage): New function.
46476 (pupa_linux_boot_bzimage): Likewise.
46478 * kern/i386/pc/init.c (struct mem_region): New structure.
46479 (MAX_REGIONS): New macro.
46480 (mem_regions): New variable.
46481 (num_regions): Likewise.
46482 (pupa_os_area_addr): Likewise.
46483 (pupa_os_area_size): Likewise.
46484 (pupa_lower_mem): Likewise.
46485 (pupa_upper_mem): Likewise.
46486 (add_mem_region): New function.
46487 (compact_mem_regions): Likewise.
46488 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46489 the size of the conventional memory and that of so-called upper
46490 memory (before the first memory hole).
46491 Instead of adding each found region to free memory, use
46492 add_mem_region and add them after removing overlaps.
46493 Also, add only 1/4 of the upper memory to free memory. The rest
46494 is used for loading OS images. Maybe this is ad hoc, but this
46495 makes it much easier to relocate OS images when booting.
46497 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46498 (pupa_enter_rescue_mode): Don't register initrd and module.
46500 * kern/mm.c: Include pupa/dl.h.
46502 * kern/main.c: Include pupa/file.h and pupa/device.h.
46504 * kern/loader.c (pupa_loader_load_module_func): Removed.
46505 (pupa_loader_load_module): Likewise.
46507 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46510 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46511 (pupa_linux_tmp_addr): Likewise.
46512 (pupa_linux_real_addr): Likewise.
46513 (pupa_linux_boot_zimage): Likewise.
46514 (pupa_linux_boot_bzimage): Likewise.
46516 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46517 (pupa_upper_mem): Likewise.
46518 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46519 module is too dangerous.
46521 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46522 (pupa_os_area_size): Likewise.
46523 (pupa_loader_set): Remove the first argument. Loader doesn't
46524 manage modules or initrd any longer.
46525 (pupa_loader_load_module): Removed.
46527 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46528 (linux_mod_SOURCES): New variable.
46529 (linux_mod_CFLAGS): Likewise.
46531 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46533 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46534 the length of a blocklist correctly.
46536 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46537 Use ioctl only if the OS file is a block device.
46538 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46539 not very useful for normal files.
46541 * kern/main.c (pupa_set_root_dev): New function.
46542 (pupa_load_normal_mode): Likewise.
46543 (pupa_main): Call those above.
46545 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46548 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46550 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46552 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46553 (setup): Configure the installed partition information and the
46556 * loader/i386/pc/chainloader.c (my_mod): New variable.
46557 (pupa_chainloader_unload): New function.
46558 (pupa_rescue_cmd_chainloader): Refer itself.
46559 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46561 * kern/i386/pc/startup.S (install_partition): Removed.
46562 (version_string): Likewise.
46563 (config_file): Likewise.
46564 (pupa_install_dos_part): New variable.
46565 (pupa_install_bsd_part): Likewise.
46566 (pupa_prefix): Likewise.
46567 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46569 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46571 (make_install_device): New function.
46572 (pupa_machine_init): Set the dl prefix.
46574 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46575 (buf): Renamed to ...
46576 (linebuf): ... this.
46577 (pupa_rescue_cmd_prefix): New function.
46578 (pupa_rescue_cmd_insmod): Likewise.
46579 (pupa_rescue_cmd_rmmod): Likewise.
46580 (pupa_rescue_cmd_lsmod): Likewise.
46581 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46584 * kern/mm.c (pupa_memalign): If failed even after invalidating
46585 disk caches, unload unneeded modules and retry.
46587 * kern/misc.c (pupa_memmove): New function.
46588 (pupa_memcpy): Removed.
46589 (pupa_strcpy): New function.
46590 (pupa_itoa): Made static.
46592 * kern/dl.c (pupa_dl_iterate): New function.
46593 (pupa_dl_ref): Likewise.
46594 (pupa_dl_unref): Likewise.
46595 (pupa_dl_unload): Return if succeeded or not.
46596 (pupa_dl_unload_unneeded): New function.
46597 (pupa_dl_unload_all): Likewise.
46598 (pupa_dl_init): Renamed to ...
46599 (pupa_dl_set_prefix): ... this.
46600 (pupa_dl_get_prefix): New function.
46602 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46603 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46604 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46605 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46606 (pupa_install_dos_part): Declared.
46607 (pupa_install_bsd_part): Likewise.
46608 (pupa_prefix): Likewise.
46609 (pupa_boot_drive): Likewise.
46611 * include/pupa/types.h: Fix a typo.
46613 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46615 (pupa_memmove): Declared.
46616 (pupa_strcpy): Likewise.
46618 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46619 pupa_mod_init takes one argument, its own module.
46620 (pupa_dl_unload_unneeded): Declared.
46621 (pupa_dl_unload_all): Likewise.
46622 (pupa_dl_ref): Likewise.
46623 (pupa_dl_unref): Likewise.
46624 (pupa_dl_iterate): Likewise.
46625 (pupa_dl_init): Renamed to ...
46626 (pupa_dl_set_prefix): ... this.
46627 (pupa_dl_get_prefix): Declared.
46629 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
46630 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
46632 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46633 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46635 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46636 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46638 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46640 * util/i386/pc/pupa-setup.c (setup): Define the internal
46641 function find_first_partition_start at the top level, because GCC
46642 3.0.x cannot compile internal functions in deeper scopes
46644 (find_root_device): Use lstat instead of stat.
46645 Don't follow symbolic links.
46646 Fix the path-constructing code.
46648 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46649 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46650 by a BLKGETSIZE ioctl first, because block devices don't fill
46651 the member st_mode of the structure stat on Linux.
46652 [__linux__] (linux_find_partition): Use a temporary buffer
46653 REAL_DEV for the working space. Copy it to DEV before returning.
46654 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46655 buffer cache consistent.
46656 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46657 strncmp. The previous value was merely wrong.
46658 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46660 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46661 FAT size is 12. The previous value was merely wrong.
46663 * kern/main.c (pupa_main): Don't split the starting message from
46666 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46667 LF, because BIOS goes crazy about character attributes in this
46670 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46672 * include/i386/pc/util/biosdisk.h: New file.
46673 * util/i386/pc/biosdisk.c: Likewise.
46674 * util/i386/pc/pupa-setup.c: Likewise.
46676 * Makefile.in (INCLUDE_DISTFILES): Added
46677 include/pupa/i386/pc/util/biosdisk.h.
46678 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46679 directory util/i386/pc.
46680 (install-local): Added a rule for sbin_UTILITIES.
46681 (uninstall): Likewise.
46683 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46685 * util/misc.c (xrealloc): New function.
46686 (pupa_malloc): Likewise.
46687 (pupa_free): Likewise.
46688 (pupa_realloc): Likewise.
46689 (pupa_stop): Likewise.
46690 (pupa_putchar): Likewise.
46692 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46694 * include/pupa/util/misc.h (xrealloc): Declared.
46696 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46698 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46699 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46701 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46702 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46704 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46705 way should be implemented.
46706 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46708 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46709 the size of NAME for safety.
46710 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46713 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46714 (pupa_setup_SOURCES): Likewise.
46716 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46718 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46720 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46721 bunch of pushl's from pusha, because this destroys the return
46724 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46726 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46727 This means that any missing prototypes could be fatal. Also, you
46728 must take care when writing assembly code. See the comments at
46729 the beginning of startup.S, for more details.
46731 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46732 compilation mechanism.
46733 (pupa_chainloader_real_boot): Likewise.
46734 (pupa_biosdisk_rw_int13_extensions): Likewise.
46735 (pupa_biosdisk_rw_standard): Likewise.
46736 (pupa_biosdisk_check_int13_extensions): Likewise.
46737 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46738 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46739 (pupa_get_memsize): Likewise.
46740 (pupa_get_mmap_entry): Likewise.
46741 (pupa_console_putchar): Likewise.
46742 (pupa_console_setcursor): Likewise.
46743 (pupa_getrtsecs): Use pushl instead of push.
46745 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46746 memory instead of the stack for a mmap entry, because some
46747 BIOSes may ignore the maximum size and overflow.
46749 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46751 * genmk.rb (PModule#rule): Compile automatically generated
46752 sources with module-specific CFLAGS as well as other sources.
46754 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46756 * configure.ac: Check ld.
46757 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46758 respectively, before checking endianness and sizes.
46760 * Makefile.in (LD): New variable.
46762 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46764 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46766 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46768 * Changelog: New file.